k4rthikr / unimrcp

Automatically exported from code.google.com/p/unimrcp
0 stars 0 forks source link

Codec issue with Asterisk and Nuance TTS using ast bridge MRCPSynth #55

Closed GoogleCodeExporter closed 9 years ago

GoogleCodeExporter commented 9 years ago
What steps will reproduce the problem?

      I am facing this issue with Asterisk and Nuance. Nuance Speech 
Server MRCPv2 accepts L16/97/8000 and Unimrcp was sending L16/96/8000 by 
default. I changed it to L16/97/8000. But in either case, it gives the 
same error at Nuance - code error (128) unknown codec and sampling packet 
size (160). MRCP and SIP message flow seems to be okay. This is through 
the ast bridge MRCPSynth using Nuance Vocalizer TTS and Nuance Speech 
Server.

What version of the product are you using? On what operating system?
RHEL5 Asterisk and Windows XP Nuance software

Please provide any additional information below.

Original issue reported on code.google.com by vsoffice...@gmail.com on 17 Dec 2009 at 7:31

GoogleCodeExporter commented 9 years ago
Here is the wireshark capture.

Original comment by vsoffice...@gmail.com on 17 Dec 2009 at 8:33

Attachments:

GoogleCodeExporter commented 9 years ago
The above Wireshark capture has Asterisk and UniMRCP running in one server and 
softphone/Nuance Server running in another server (the capture is from the 
Nuance 
server). Here is yet another Wireshark capture that has only Nuance server 
running 
on it.

Original comment by vsoffice...@gmail.com on 17 Dec 2009 at 9:29

Attachments:

GoogleCodeExporter commented 9 years ago
Thanks for the network captures. I've looked through them and indeed SIP and 
MRCP
message flow looks good. Moreover, I can clearly listen to synthesized speech 
from
Nuance to Asterisk. Though, it seems nothing was sent from Asterisk to X-Lite.
So I continue to think this is configuration related issue. Can you please 
provide
also mrcp.conf (the configuration of connector bridge) and probably Asterisk's 
sip.conf.
Finally Asterisk console output with enabled UniMRCP logs would be very helpful.
I'll try to dig into closer and probably reproduce the same on my side tomorrow.

Original comment by achalo...@gmail.com on 17 Dec 2009 at 9:49

GoogleCodeExporter commented 9 years ago
Hi,
     Here is the attachment from the Nuance server wireshark capture (192.168.1.100)
and also conf files and asterisk server logs (192.168.1.105). SIP Phone was at
192.168.1.103. I disallowed all except ulaw in sip configuration as you had 
suggested.

Thanks,
VS

Original comment by vsoffice...@gmail.com on 21 Dec 2009 at 2:19

Attachments:

GoogleCodeExporter commented 9 years ago
Thanks for the detailed report. It seems I've started to understand what is 
going on.
I've noticed no RTP packets were received from Nuance MRCP server by UniMRCP 
module
plugged into Asterisk.

[Dec 20 06:05:30] NOTICE[3628] app_unimrcp.c: Close RTP Receiver 
192.168.1.105:4002
<- 192.168.1.100:7892 [r:0 l:0 j:0]

However, UniMRCP client stack successfully bound to this port. Moreover, network
capture shows that packets were indeed sent to the proper network address such 
as
192.168.1.105:4002.
So I know no good reason why packets can't be received from user (application) 
space,
unless it's firewall or selinux related issue.

Please either explicitly open ports for RTP port range (4000 - 5000 by default) 
or
probably better at least temporary disable firewall and selinux.

Original comment by achalo...@gmail.com on 21 Dec 2009 at 1:21

GoogleCodeExporter commented 9 years ago
Hi Guys,
this issue looks similar like the one I told Arsen about via e-mail few days 
ago.
Older release was working fine (twinkle and linphonec softphones plus GVP 
client),
but newer one not with twinkle.
As I said, I will do the new testing after the New Year.
Cheers
- Vali

Original comment by tomas.valenta@speechtech.cz on 21 Dec 2009 at 1:26

GoogleCodeExporter commented 9 years ago
Hi Vali,
Thanks for the update. I guess the issue you experienced could be related to 
some
inaccuracy in SDP offer/answer assuming particular setup you have. Anyway, I'd 
need
logs and traces to better identify who is guilty there. Please provide it when 
possible.
In the meantime, very similar (almost the same) setup described in the scope of 
this
issue is one to one working to me. So hopefully we are close to identify the 
reasons.

Original comment by achalo...@gmail.com on 21 Dec 2009 at 2:04

GoogleCodeExporter commented 9 years ago
Hi there. Not sure I fully understand all of this, but it is interesting that 
you use
a payload type of 97 for LPCM at 8000 samples/s. I use L16/96/8000 with my 
Nuance
Speech Server 5.1.0, Recognizer 9.0.3 and Vocalizer 5.0.3 setups and this works 
very
nicely. Perhaps this is why you get "unknown codec"/"incorrect samples" errors?

Also, in the code of app_unimrcp.c, you will see:
speech_channel_create_mpf_termination

initialises the payload to 96 for L16, 8000 in the case of UniMRCP versions 
before 0.8.0.

Hope this may help!

Original comment by thirion...@gmail.com on 22 Dec 2009 at 11:33

GoogleCodeExporter commented 9 years ago
Hi Derik,
Great you're back to the project and thanks for the note.
I also initially thought the problem could be in different payload types in
offer/answer, though normally it's still should cause no problem.
However, if you check messages.txt from comment-4, you'll see that no RTP 
packets
were received in either of calls/sessions. In the meantime,
AstNuanceServer12202009.pcap capture(from the same comment-4) shows, that 
packets
were sent, though you may notice Asterisk sent ICMP packets back and RTCP 
statistical
reports contained 0 received and this is the actual problem.
By default, all the recent Linux distributions including RHEL5 come with 
Firewall and
SELinux enabled and I assume this may be the reason, unless I'm missing 
something
very obvious here. So probably we should just wait a bit to get the answers.

Original comment by achalo...@gmail.com on 22 Dec 2009 at 3:49

GoogleCodeExporter commented 9 years ago
Hi,
     The problem seems to be with the SE Linux settings. I had it in my bash profile 
and Asterisk was not using this shell. The RTP packets were dropped due to this 
setting. I have corrected it. It works fine now.

Original comment by vsoffice...@gmail.com on 11 Jan 2010 at 10:02

GoogleCodeExporter commented 9 years ago
Thanks for the update. 
I think this might be a typical issue, so the final resolution should be 
helpful for
others too.

Original comment by achalo...@gmail.com on 12 Jan 2010 at 10:51