Voice notification troubleshooting

Looking for any tips on troubleshooting voice notification. The status on our voice notification profile says “Registered with VOIP Host” but calls don’t go out. Console shows

[quote]
ERROR 9:04:17 AM CallManager Could not execute notification job NotificationJob[id=NJob_18, users=2, events=1], the delivery media system was not available. Details: No compatible voice found

com.inductiveautomation.alarming.notification.sip.content.scripts.NoCompatibleScriptOrVoiceException: No compatible voice found
at com.inductiveautomation.alarming.notification.sip.profile.SipNotificationProfile$TTSScriptFactory.buildScript(SipNotificationProfile.java:288)
at com.inductiveautomation.alarming.notification.sip.call.NotificationJob.run(NotificationJob.java:162)
at com.inductiveautomation.alarming.notification.sip.call.CallManager$CallQueueConsumer.run(CallManager.java:656)[/quote]

The error says that no compatible voice found. You have the voice notification module installed, but you need to install the actual voice module. You can download the voice module from the downloads page of the most recent release. Once you install the voice module you will need to restart the Ignition gateway.

Thanks. Do you mean something like this:

http://marketplace.inductiveautomation.com/moduledetail?13&moduleId=57

I’ve tried installing a few of those voice modules. They all show status faulted, and restarting the gateway doesn’t seem to help. Console error follows.

Looks like the x64 folder is empty. I moved the .so file over from the x86 folder and restarted and the module now shows as running, but not surprisingly there is a systemexception in the console from trying to load the x86 version. Could somebody at inductive compile a 64 bit version of the us speech module?

Bueller? Bueller?

Hi,

As you noticed, the voice modules weren’t being built correctly for x64 linux. The corrected modules will be up within a few hours.

That’s great news. Thank you!

They’re updated on the downloads page. When you install it, besides not faulting, you should see it marked as version 1.6.4.

Regards,

Thanks - I just downloaded and it fired right up.

Unfortunately, not out of the woods yet. My test alarm now gets to “notifying” stage but no calls go out. Console shows a message from callmanager saying call has exceeded lifespan and is canceled, along with some java io exceptions:

[quote]
ERROR 3:52:37 PM Agent Invalid argument

java.io.IOException: Invalid argument
at java.net.PlainDatagramSocketImpl.send(Native Method)
at java.net.DatagramSocket.send(Unknown Source)
at net.sourceforge.peers.sip.transport.UdpMessageSender.sendBytes(UdpMessageSender.java:63)
at net.sourceforge.peers.sip.transport.MessageSender$KeepAlive.run(MessageSender.java:91)
at java.util.TimerThread.mainLoop(Unknown Source)
at java.util.TimerThread.run(Unknown Source)[/quote]

I believe we’ve seen this on some systems when the bind address isn’t manually specified. Try going in to the voice notification profile settings, and under “advanced”, specify your ip address for the local and public bind addresses.

Regards,

Well, more progress. That does seem to have resolved that issue.

Now the alarm pipeline only stays in the notifying block for a couple seconds before it is bounced out. Console shows: [quote]

ERROR 4:12:36 PM Agent cannot find invite client transaction for call 4a2h6uIK-1385417555581@ignition.ourdomain.com
ERROR 4:12:35 PM CallManager Error state received from call manager. Reason: Busy Here [486]
ERROR 4:12:35 PM Agent cannot find invite client transaction for call Vzg47Xgv-1385417554580@ignition.ourdomain.com
ERROR 4:12:34 PM CallManager Error state received from call manager. Reason: Busy Here [486][/quote]

The “Busy Here” (486) code seems to be fairly self explanatory, but SIP codes tend to get re-purposed a lot by servers.

Still, that code is being sent back from the VOIP server. It could mean that the phone number isn’t valid, there isn’t a dialplan that matches the number, or, like it says, the phone line is busy.

What voip server are you using?

Regards,

Also, don’t worry much about the “cannot find invite client transaction”. That tends to happen a lot when the call has failed for other reasons.

1 Like

I didn’t know that error was coming back from the voip server…thanks.

I’m using our office PBX - its an NEC SL1100 series.

Hi,

Yeah, I would double check your number, and that line isn’t actually busy. You might also find it a bit easier to install some sort of soft phone, like this one or this one and play around with those in order to get the phone patterns correct, or the server set up like you need.

I haven’t personally heard of that voip server being used, so there’s always room for small problems, but if you can get either of those soft phones working (especially #2), Ignition should work fine.

Regards,

Ha…I actually have seen this softphone before. I tried to get it to work right after we initially setup our new PBX. I didn’t have any luck but I’m recruiting some help from our phone vendor to that end. I’ll let you know how it goes.

Thanks again for the tips.

Hi,

we have installed the trial of voice notification with en_us_salli. We can do a call over our VOIP Server but we can’t send a sound. Weve testet this via the notification/pipeline tester on the website and over an alarm in the designer. Weve got this exception after the Ringing allow:

java.lang.StringIndexOutOfBoundsException: String index out of range: -1
at java.lang.String.substring(Unknown Source)
at net.sourceforge.peers.sip.syntaxencoding.NameAddress.nameAddressToUri(NameAddress.java:29)
at net.sourceforge.peers.sip.core.useragent.handlers.DialogMethodHandler.buildOrUpdateDialogForUac(DialogMethodHandler.java:178)
at net.sourceforge.peers.sip.core.useragent.handlers.InviteHandler.provResponseReceived(InviteHandler.java:386)
at net.sourceforge.peers.sip.transaction.InviteClientTransactionStateProceeding.received1xx(InviteClientTransactionStateProceeding.java:36)
at net.sourceforge.peers.sip.transaction.InviteClientTransaction.receivedResponse(InviteClientTransaction.java:142)
at net.sourceforge.peers.sip.transport.MessageReceiver.processMessage(MessageReceiver.java:192)
at net.sourceforge.peers.sip.transport.UdpMessageReceiver.listen(UdpMessageReceiver.java:60)
at net.sourceforge.peers.sip.transport.MessageReceiver.run(MessageReceiver.java:71)
at java.lang.Thread.run(Unknown Source)
at net.sourceforge.peers.sip.transport.TransportManager$ThrowableCatchingThread.run(TransportManager.java:408)

and this Exception after the BYE

java.lang.IllegalStateException
at net.sourceforge.peers.sip.transactionuser.DialogStateInit.receivedOrSentBye(DialogStateInit.java:51)
at net.sourceforge.peers.sip.transactionuser.Dialog.receivedOrSentBye(Dialog.java:93)
at net.sourceforge.peers.sip.core.useragent.handlers.ByeHandler.handleBye(ByeHandler.java:70)
at net.sourceforge.peers.sip.core.useragent.MidDialogRequestManager.manageMidDialogRequest(MidDialogRequestManager.java:194)
at net.sourceforge.peers.sip.core.useragent.UAS.requestReceived(UAS.java:103)
at net.sourceforge.peers.sip.core.useragent.UAS.messageReceived(UAS.java:76)
at net.sourceforge.peers.sip.transport.MessageReceiver.processMessage(MessageReceiver.java:179)
at net.sourceforge.peers.sip.transport.UdpMessageReceiver.listen(UdpMessageReceiver.java:60)
at net.sourceforge.peers.sip.transport.MessageReceiver.run(MessageReceiver.java:71)
at java.lang.Thread.run(Unknown Source)
at net.sourceforge.peers.sip.transport.TransportManager$ThrowableCatchingThread.run(TransportManager.java:408)

So weve testet the connection via a SIP Tester from our server over the VOIP Server to the phone and it works fine. We can hear a testsound.

What is the problem, did we do something wrong?

I have sent the log in an extra mail to your support.

Greetings

I can’t seem to find the email you said you sent into support, did they solve your problem?