Freeswitch replies with dynamic payload
Hi Everyone, We are working on scenario where Freeswitch is terminating calls a vendor with g729 passthru mode. But when we get the call terminated , termination side replies with static payload but freeswitch replies with Dynamic payload. Our customer wants to be replied with only static payload. How can we solve this? Situation: Originator -> freeswitch -> termination In session progress : Termination side sends, m=audio 64034 RTP/AVP 18 101^M a=rtpmap:18 G729/8000^M a=fmtp:18 annexb=no^M Freeswitch sends following to origination. m=audio 0 RTP/AVP 96 101 a=rtpmap:96 G729/8000 a=fmtp:96 annexb=no Configuration File external.xml: <settings> <param name="debug" value="0"/> <!-- If you want FreeSWITCH to shutdown if this profile fails to load, uncomment the next line. --> <!-- <param name="shutdown-on-fail" value="true"/> --> <param name="sip-trace" value="no"/> <param name="rfc2833-pt" value="101"/> <param name="sip-port" value="$${external_sip_port}"/> <param name="dialplan" value="XML"/> <param name="context" value="public2"/> <param name="dtmf-duration" value="2000"/> <!-- <param name="inbound-codec-prefs" value="$${global_codec_prefs}"/> --> <!-- <param name="outbound-codec-prefs" value="$${outbound_codec_prefs}"/> --> <param name="disable-transcoding" value="true"/> <param name="inbound-late-negotiation" value="false"/> <param name="inbound-bypass-media" value="true"/> <param name="hold-music" value="$${hold_music}"/> <param name="rtp-timer-name" value="soft"/> <!--<param name="enable-100rel" value="true"/>--> <!-- This could be set to "passive" --> <param name="local-network-acl" value="localnet.auto"/> <param name="manage-presence" value="false"/> <!-- used to share presence info across sofia profiles manage-presence needs to be set to passive on this profile if you want it to behave as if it were the internal profile for presence. --> <!-- Name of the db to use for this profile --> <!--<param name="dbname" value="share_presence"/>--> <!--<param name="presence-hosts" value="$${domain}"/>--> <!--<param name="force-register-domain" value="$${domain}"/>--> for presence. --> <!-- Name of the db to use for this profile --> <!--<param name="dbname" value="share_presence"/>--> <!--<param name="presence-hosts" value="$${domain}"/>--> <!--<param name="force-register-domain" value="$${domain}"/>--> <!--all inbound reg will stored in the db using this domain --> <!--<param name="force-register-db-domain" value="$${domain}"/>--> <!-- ************************************************* --> <!--<param name="aggressive-nat-detection" value="true"/>--> <param name="inbound-codec-negotiation" value="generous"/> <param name="nonce-ttl" value="60"/> <param name="auth-calls" value="false"/> <!-- DO NOT USE HOSTNAMES, ONLY IP ADDRESSES IN THESE SETTINGS! --> <param name="rtp-ip" value="$${local_ip_v4}"/> <param name="sip-ip" value="$${local_ip_v4}"/> <param name="ext-rtp-ip" value="auto-nat"/> <param name="ext-sip-ip" value="auto-nat"/> <param name="rtp-timeout-sec" value="300"/> <param name="rtp-hold-timeout-sec" value="1800"/> <!--<param name="enable-3pcc" value="true"/>--> <!-- TLS: disabled by default, set to "true" to enable --> <param name="tls" value="$${external_ssl_enable}"/> <!-- additional bind parameters for TLS --> <param name="tls-bind-params" value="transport=tls"/> <!-- Port to listen on for TLS requests. (5081 will be used if unspecified) --> <param name="tls-sip-port" value="$${external_tls_port}"/> <!-- Location of the agent.pem and cafile.pem ssl certificates (needed for TLS server) --> <param name="tls-cert-dir" value="$${external_ssl_dir}"/> <!-- TLS version ("sslv23" (default), "tlsv1"). NOTE: Phones may not work with TLSv1 --> <param name="tls-version" value="$${sip_tls_version}"/> </settings> Regards, Faisal
Hi This was interesting,my understanding was that SDP is(or SHOULD be) never touched in case of disabled transcoding and enabled bypass media. It might be something related to negotiation settings. On Wed, Mar 14, 2012 at 11:40 AM, Faisal Rehman <faisal.rehman22@hotmail.com
wrote:
*Hi Everyone,*
We are working on scenario where Freeswitch is terminating calls a vendor with g729 passthru mode. But when we get the call terminated , termination side replies with static payload but freeswitch replies with *Dynamic*payload. Our customer wants to be replied with only static payload. How can we solve this?
*Situation:*
Originator -> freeswitch -> termination
*In session progress :*
Termination side sends,
m=audio 64034 RTP/AVP 18 101^M a=rtpmap:18 G729/8000^M a=fmtp:18 annexb=no^M
Freeswitch sends following to origination.
m=audio 0 RTP/AVP 96 101 a=rtpmap:96 G729/8000 a=fmtp:96 annexb=no
*Configuration File* * * * * *external.xml:*
<settings> <param name="debug" value="0"/> <!-- If you want FreeSWITCH to shutdown if this profile fails to load, uncomment the next line. --> <!-- <param name="shutdown-on-fail" value="true"/> --> <param name="sip-trace" value="no"/> <param name="rfc2833-pt" value="101"/> <param name="sip-port" value="$${external_sip_port}"/**> <param name="dialplan" value="XML"/> <param name="context" value="public2"/> <param name="dtmf-duration" value="2000"/> <!-- <param name="inbound-codec-prefs" value="$${global_codec_prefs}"**/> --> <!-- <param name="outbound-codec-prefs" value="$${outbound_codec_**prefs}"/> --> <param name="disable-transcoding" value="true"/> <param name="inbound-late-**negotiation" value="false"/> <param name="inbound-bypass-media" value="true"/> <param name="hold-music" value="$${hold_music}"/> <param name="rtp-timer-name" value="soft"/> <!--<param name="enable-100rel" value="true"/>--> <!-- This could be set to "passive" --> <param name="local-network-acl" value="localnet.auto"/> <param name="manage-presence" value="false"/> <!-- used to share presence info across sofia profiles manage-presence needs to be set to passive on this profile if you want it to behave as if it were the internal profile for presence. --> <!-- Name of the db to use for this profile --> <!--<param name="dbname" value="share_presence"/>--> <!--<param name="presence-hosts" value="$${domain}"/>--> <!--<param name="force-register-domain" value="$${domain}"/>--> for presence. --> <!-- Name of the db to use for this profile --> <!--<param name="dbname" value="share_presence"/>--> <!--<param name="presence-hosts" value="$${domain}"/>--> <!--<param name="force-register-domain" value="$${domain}"/>--> <!--all inbound reg will stored in the db using this domain --> <!--<param name="force-register-db-**domain" value="$${domain}"/>--> <!-- *************************************************** --> <!--<param name="aggressive-nat-**detection" value="true"/>--> <param name="inbound-codec-**negotiation" value="generous"/> <param name="nonce-ttl" value="60"/> <param name="auth-calls" value="false"/> <!-- DO NOT USE HOSTNAMES, ONLY IP ADDRESSES IN THESE SETTINGS! --> <param name="rtp-ip" value="$${local_ip_v4}"/> <param name="sip-ip" value="$${local_ip_v4}"/> <param name="ext-rtp-ip" value="auto-nat"/> <param name="ext-sip-ip" value="auto-nat"/> <param name="rtp-timeout-sec" value="300"/> <param name="rtp-hold-timeout-sec" value="1800"/> <!--<param name="enable-3pcc" value="true"/>--> <!-- TLS: disabled by default, set to "true" to enable --> <param name="tls" value="$${external_ssl_enable}**"/> <!-- additional bind parameters for TLS --> <param name="tls-bind-params" value="transport=tls"/> <!-- Port to listen on for TLS requests. (5081 will be used if unspecified) --> <param name="tls-sip-port" value="$${external_tls_port}"/**> <!-- Location of the agent.pem and cafile.pem ssl certificates (needed for TLS server) --> <param name="tls-cert-dir" value="$${external_ssl_dir}"/> <!-- TLS version ("sslv23" (default), "tlsv1"). NOTE: Phones may not work with TLSv1 --> <param name="tls-version" value="$${sip_tls_version}"/> </settings>
Regards,
*Faisal *
_________________________________________________________________________ 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
-- Muhammad Danish Moosa " The core of mans' spirit comes from new experiences. "___ Christopher McCandless
On Wed, Mar 14, 2012 at 12:13 AM, Muhammad Danish Moosa < danishmoosa@gmail.com> wrote:
Hi
This was interesting,my understanding was that SDP is(or SHOULD be) never touched in case of disabled transcoding and enabled bypass media. It might be something related to negotiation settings.
That was my understanding as well. I recommend that you get a SIP trace of the traffic to/from the destination and see if the destination is what is doing the dynamic payload thing. Usually FreeSWITCH just passes through what it receives since it's a B2BUA... -MC
Please post a full SIP trace with console output. It looks like you have bypass_media turned on. More than likely that broken reply SDP is coming from another device, not FreeSWITCH. On Wed, Mar 14, 2012 at 2:40 AM, Faisal Rehman <faisal.rehman22@hotmail.com> wrote:
Hi Everyone,
We are working on scenario where Freeswitch is terminating calls a vendor with g729 passthru mode. But when we get the call terminated , termination side replies with static payload but freeswitch replies with Dynamic payload. Our customer wants to be replied with only static payload. How can we solve this?
Situation:
Originator -> freeswitch -> termination
In session progress :
Termination side sends,
m=audio 64034 RTP/AVP 18 101^M a=rtpmap:18 G729/8000^M a=fmtp:18 annexb=no^M
Freeswitch sends following to origination.
m=audio 0 RTP/AVP 96 101 a=rtpmap:96 G729/8000 a=fmtp:96 annexb=no
Configuration File
external.xml:
<settings> <param name="debug" value="0"/> <!-- If you want FreeSWITCH to shutdown if this profile fails to load, uncomment the next line. --> <!-- <param name="shutdown-on-fail" value="true"/> --> <param name="sip-trace" value="no"/> <param name="rfc2833-pt" value="101"/> <param name="sip-port" value="$${external_sip_port}"/> <param name="dialplan" value="XML"/> <param name="context" value="public2"/> <param name="dtmf-duration" value="2000"/> <!-- <param name="inbound-codec-prefs" value="$${global_codec_prefs}"/> --> <!-- <param name="outbound-codec-prefs" value="$${outbound_codec_prefs}"/> --> <param name="disable-transcoding" value="true"/> <param name="inbound-late-negotiation" value="false"/> <param name="inbound-bypass-media" value="true"/> <param name="hold-music" value="$${hold_music}"/> <param name="rtp-timer-name" value="soft"/> <!--<param name="enable-100rel" value="true"/>--> <!-- This could be set to "passive" --> <param name="local-network-acl" value="localnet.auto"/> <param name="manage-presence" value="false"/> <!-- used to share presence info across sofia profiles manage-presence needs to be set to passive on this profile if you want it to behave as if it were the internal profile for presence. --> <!-- Name of the db to use for this profile --> <!--<param name="dbname" value="share_presence"/>--> <!--<param name="presence-hosts" value="$${domain}"/>--> <!--<param name="force-register-domain" value="$${domain}"/>--> for presence. --> <!-- Name of the db to use for this profile --> <!--<param name="dbname" value="share_presence"/>--> <!--<param name="presence-hosts" value="$${domain}"/>--> <!--<param name="force-register-domain" value="$${domain}"/>--> <!--all inbound reg will stored in the db using this domain --> <!--<param name="force-register-db-domain" value="$${domain}"/>--> <!-- ************************************************* --> <!--<param name="aggressive-nat-detection" value="true"/>--> <param name="inbound-codec-negotiation" value="generous"/> <param name="nonce-ttl" value="60"/> <param name="auth-calls" value="false"/> <!-- DO NOT USE HOSTNAMES, ONLY IP ADDRESSES IN THESE SETTINGS! --> <param name="rtp-ip" value="$${local_ip_v4}"/> <param name="sip-ip" value="$${local_ip_v4}"/> <param name="ext-rtp-ip" value="auto-nat"/> <param name="ext-sip-ip" value="auto-nat"/> <param name="rtp-timeout-sec" value="300"/> <param name="rtp-hold-timeout-sec" value="1800"/> <!--<param name="enable-3pcc" value="true"/>--> <!-- TLS: disabled by default, set to "true" to enable --> <param name="tls" value="$${external_ssl_enable}"/> <!-- additional bind parameters for TLS --> <param name="tls-bind-params" value="transport=tls"/> <!-- Port to listen on for TLS requests. (5081 will be used if unspecified) --> <param name="tls-sip-port" value="$${external_tls_port}"/> <!-- Location of the agent.pem and cafile.pem ssl certificates (needed for TLS server) --> <param name="tls-cert-dir" value="$${external_ssl_dir}"/> <!-- TLS version ("sslv23" (default), "tlsv1"). NOTE: Phones may not work with TLSv1 --> <param name="tls-version" value="$${sip_tls_version}"/> </settings>
Regards,
Faisal
_________________________________________________________________________ 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
-- Kristian Kielhofner
participants (4)
-
Faisal Rehman
-
Kristian Kielhofner
-
Michael Collins
-
Muhammad Danish Moosa