Strange behaviour of codec-negotiation
Hey guys! I have a real problem with FreeSWITCH (latest GIT) and the codec negotiation. I tried all, even did packet-capturing with wireshark. Something goes wrong with negotiation. First of all an overview: Siemens OpenStage (Phone) <-- internal-profile --> FreeSWITCH (Gateway) <-- external-profile --> FRITZ!Box 7270 (Gateway) Siemens OpenStage codec-order: G722,PCMA,PCMU,G729 FreeSWITCH internal-sofia-profile: <param name="inbound-codec-prefs" value="G722,PCMA,PCMU"/> <param name="outbound-codec-prefs" value="G722,PCMA,PCMU"/> <param name="inbound-late-negotiation" value="true"/> FreeSWITCH external-sofia-profile: <param name="inbound-codec-prefs" value="G722,PCMA,PCMU"/> <param name="outbound-codec-prefs" value="G722,PCMA,PCMU"/> <param name="inbound-late-negotiation" value="true"/> 1) When I originate a call to a cellphone from the Siemens OpenStage, the phone offers G722, PCMA, PCMU and G729 in the INVITE to FreeSWITCH. All ok! 2) FreeSWITCH forwards this INVITE to the FRITZ!Box 7270. All ok! 3) FRITZ!Box 7270 answers the INVITE with a "100 Trying" to FreeSWITCH. All ok! 4) FRITZ!Box 7270 sends a "183 Session progress" with SDP to FreeSWITCH and offers G722, PCMA and PCMU. All ok! 5) FreeSWITCH sends this "183 Session progress" with SDP to Siemens OpenStage and offers only G722. All ok! At this stage, the codec is negotiated and I can hear the ringing (early media) without any problems. 6) When picking up the call on the cellphone, FreeSWITCH receives a "200 OK" with SDP from FRITZ!Box 7270. In the SDP there is codec-change and the FRITZ!Box 7270 now offers only PCMA and PCMU. 7) FreeSWITCH sends an "ACK" to FRITZ!Box 7270. 8) FreeSWITCH sends the "200 OK" to the Siemens OpenStage but still offers only "G722" and not the "new" "PCMA, PCMU". 9) FRITZ!Box 7270 sends an "ACK" to FreeSWITCH. 9) FRITZ!Box 7270 sends its media still in G722. The result is: The Siemens OpenStage does not receive any packets and there is a complete silence on the phone. On the cellphone, I receive a complete distorted voice. It sounds like a "kidnapper". Wireshark shows the following with the rtp-media: FreeSWITCH --G722--> FRITZ!Box 7270 FreeSWITCH <--PCMA-- FRITZ!Box 7270 Siemens OpenStage -----G722--> FreeSWITCH Siemens OpenStage <--no packets-- FreeSWITCH Can anybody help? Why does FreeSWITCH don't propogate the second SDP (with the "200 OK Message") to the Siemens OpenStage? Alex
As soon as you type Problem, that's when you should realize you should be on jira and not on the users list. Use Jira and attach full debug logs as documented on the wiki with "sofia global siptrace on" and "console loglevel debug" On Wed, Oct 31, 2012 at 11:34 AM, "Alex Müller" <slickwilly2000@gmx.de>wrote:
Hey guys!
I have a real problem with FreeSWITCH (latest GIT) and the codec negotiation. I tried all, even did packet-capturing with wireshark. Something goes wrong with negotiation. First of all an overview:
Siemens OpenStage (Phone) <-- internal-profile --> FreeSWITCH (Gateway) <-- external-profile --> FRITZ!Box 7270 (Gateway)
Siemens OpenStage codec-order: G722,PCMA,PCMU,G729
FreeSWITCH internal-sofia-profile: <param name="inbound-codec-prefs" value="G722,PCMA,PCMU"/> <param name="outbound-codec-prefs" value="G722,PCMA,PCMU"/> <param name="inbound-late-negotiation" value="true"/>
FreeSWITCH external-sofia-profile: <param name="inbound-codec-prefs" value="G722,PCMA,PCMU"/> <param name="outbound-codec-prefs" value="G722,PCMA,PCMU"/> <param name="inbound-late-negotiation" value="true"/>
1) When I originate a call to a cellphone from the Siemens OpenStage, the phone offers G722, PCMA, PCMU and G729 in the INVITE to FreeSWITCH. All ok! 2) FreeSWITCH forwards this INVITE to the FRITZ!Box 7270. All ok! 3) FRITZ!Box 7270 answers the INVITE with a "100 Trying" to FreeSWITCH. All ok! 4) FRITZ!Box 7270 sends a "183 Session progress" with SDP to FreeSWITCH and offers G722, PCMA and PCMU. All ok! 5) FreeSWITCH sends this "183 Session progress" with SDP to Siemens OpenStage and offers only G722. All ok! At this stage, the codec is negotiated and I can hear the ringing (early media) without any problems. 6) When picking up the call on the cellphone, FreeSWITCH receives a "200 OK" with SDP from FRITZ!Box 7270. In the SDP there is codec-change and the FRITZ!Box 7270 now offers only PCMA and PCMU. 7) FreeSWITCH sends an "ACK" to FRITZ!Box 7270. 8) FreeSWITCH sends the "200 OK" to the Siemens OpenStage but still offers only "G722" and not the "new" "PCMA, PCMU". 9) FRITZ!Box 7270 sends an "ACK" to FreeSWITCH. 9) FRITZ!Box 7270 sends its media still in G722.
The result is:
The Siemens OpenStage does not receive any packets and there is a complete silence on the phone. On the cellphone, I receive a complete distorted voice. It sounds like a "kidnapper".
Wireshark shows the following with the rtp-media:
FreeSWITCH --G722--> FRITZ!Box 7270 FreeSWITCH <--PCMA-- FRITZ!Box 7270
Siemens OpenStage -----G722--> FreeSWITCH Siemens OpenStage <--no packets-- FreeSWITCH
Can anybody help? Why does FreeSWITCH don't propogate the second SDP (with the "200 OK Message") to the Siemens OpenStage?
Alex
_________________________________________________________________________ Professional FreeSWITCH Consulting Services: consulting@freeswitch.org http://www.freeswitchsolutions.com
FreeSWITCH-powered IP PBX: The CudaTel Communication Server http://www.cudatel.com
Official FreeSWITCH Sites http://www.freeswitch.org http://wiki.freeswitch.org http://www.cluecon.com
FreeSWITCH-users mailing list FreeSWITCH-users@lists.freeswitch.org http://lists.freeswitch.org/mailman/listinfo/freeswitch-users UNSUBSCRIBE:http://lists.freeswitch.org/mailman/options/freeswitch-users http://www.freeswitch.org
-- Anthony Minessale II FreeSWITCH http://www.freeswitch.org/ ClueCon http://www.cluecon.com/ Twitter: http://twitter.com/FreeSWITCH_wire AIM: anthm MSN:anthony_minessale@hotmail.com GTALK/JABBER/PAYPAL:anthony.minessale@gmail.com IRC: irc.freenode.net #freeswitch FreeSWITCH Developer Conference sip:888@conference.freeswitch.org googletalk:conf+888@conference.freeswitch.org pstn:+19193869900
participants (2)
-
"Alex Müller"
-
Anthony Minessale