asterisk unimrcp DNS Issue

103 views
Skip to first unread message

Simone Freddio

unread,
Mar 14, 2017, 10:12:56 AM3/14/17
to UniMRCP
Hi guys, i have strange issue on a new installation related to DNS. My architecture, replicated in my lab, is one server with asterisk 1.8.10.1 and another server with nuance TTS 6.x.
If on the asterisk machine, i set /etc/resolv.conf to a non existant nameserver, for example 1.2.3.4, the MRCPSynth apps stuck waiting for channel closing.
Asterisk console stucks on:

DEBUG[21645] speech_channel.c: (TTS-7) Waiting for MRCP session to terminate

after 30 seconds, the calls proceed with:

WARNING[21645] speech_channel.c: (TTS-7) MRCP session has not terminated after 30000 ms

I dig into code, and i didn't find anything related to DNS but if i trace with TCPDUMP, during the 30seconds freeze i see a lot of DNS Query asking for 'A localhost'.

The issue seems not to be related in any way to Nuance, seems to be related only to the DNS configuration of the asterisk machine.

Any suggestion?

Thank you in advance
Simone

Arsen Chaloyan

unread,
Mar 15, 2017, 2:58:26 PM3/15/17
to UniMRCP
Hi Simone,

The issue directly relates to the DNS configuration of your network and the use of NSS. Let me explain it in more details.

C -> S: SIP INVITE

The client sends a SIP INVITE to a SIP URI specified in the configuration, in your case mrcp.conf.

S -> C: SIP 200 OK

The server responds with SIP OK and provides its URI in the SIP Contact header field. The key aspect is the provided URI should be used for further communication, but not the original specified in the config.

C -> S: SIP BYE

Upon session termination, the client sends a SIP BYE message to the server using the SIP URI provided in the SIP OK. See above.

By default, NSS uses its hostname to compose the SIP contact header field, which in your case is not resolvable. This is where all the DNS queries were coming from.

You have two options: either ensure proper DNS resolving or configure NSS to use its IP address instead. I'd favor the latter since it is more efficient. Here is the relevant configuration parameter in NSSserver.cfg

server.mrcp2.sip.contact.useHostIPAddress    VXIInteger    1

I'd also suggest to make a network capture and inspect the SIP dialog.


Simone

--
You received this message because you are subscribed to the Google Groups "UniMRCP" group.
To unsubscribe from this group and stop receiving emails from it, send an email to unimrcp+unsubscribe@googlegroups.com.
For more options, visit https://groups.google.com/d/optout.



--
Arsen Chaloyan
Author of UniMRCP
http://www.unimrcp.org
Reply all
Reply to author
Forward
0 new messages