[Freeswitch-users] Codec negotiation. Totally confused

ik idokan at gmail.com
Mon Mar 7 01:03:43 MSK 2016


With SIP/SDP the invite originator offer several codecs, but leg b is the
one that set the selection.

The offer by leg b, is usually based on the priority of your offer vs their
highest matched codecs, so if they offer g722 as 1st priority, and you
offer it as 3rd priority, they will select g722 first.

Ido
On Mar 6, 2016 11:50 AM, "Igor Olhovskiy" <igorolhovskiy at gmail.com> wrote:

> Main question - why it’s ignores outbound-codec-prefs on external profile
> and use G722 as a first avail codec in list?
>
> 2016-03-06 9:51 GMT+02:00 Igor Olhovskiy <igorolhovskiy at gmail.com>:
>
>> Hi!
>> I’m getting really strange things, or I’m just missed something.
>> My phone is dials to freeswitch with this this line in log
>>
>> 2016-03-06 08:31:56.681036 [DEBUG] sofia.c:6770 Remote SDP:
>> v=0
>> o=root 1697549695 1697549695 IN IP4 <EXTERNAL IP HERE>
>> s=call
>> c=IN IP4 <EXTERNAL IP HERE>
>> t=0 0
>> m=audio 26894 RTP/AVP 9 0 8
>> a=rtpmap:9 G722/8000
>> a=rtpmap:0 PCMU/8000
>> a=rtpmap:8 PCMA/8000
>> a=ptime:20
>> a=nortpproxy:yes
>>
>> 2016-03-06 08:31:56.681036 [DEBUG] switch_core_media.c:4161 Audio Codec
>> Compare [G722:9:8000:20:64000:1]/[G722:9:8000:20:64000:1]
>> 2016-03-06 08:31:56.681036 [DEBUG] switch_core_media.c:4216 Audio Codec
>> Compare [G722:9:8000:20:64000:1] ++++ is saved as a match
>> 2016-03-06 08:31:56.681036 [DEBUG] switch_core_media.c:4161 Audio Codec
>> Compare [G722:9:8000:20:64000:1]/[PCMU:0:8000:20:64000:1]
>> 2016-03-06 08:31:56.681036 [DEBUG] switch_core_media.c:4161 Audio Codec
>> Compare [G722:9:8000:20:64000:1]/[PCMA:8:8000:20:64000:1]
>> 2016-03-06 08:31:56.681036 [DEBUG] switch_core_media.c:4161 Audio Codec
>> Compare [PCMU:0:8000:20:64000:1]/[G722:9:8000:20:64000:1]
>> 2016-03-06 08:31:56.681036 [DEBUG] switch_core_media.c:4161 Audio Codec
>> Compare [PCMU:0:8000:20:64000:1]/[PCMU:0:8000:20:64000:1]
>> 2016-03-06 08:31:56.681036 [DEBUG] switch_core_media.c:4216 Audio Codec
>> Compare [PCMU:0:8000:20:64000:1] ++++ is saved as a match
>> 2016-03-06 08:31:56.681036 [DEBUG] switch_core_media.c:4161 Audio Codec
>> Compare [PCMU:0:8000:20:64000:1]/[PCMA:8:8000:20:64000:1]
>> 2016-03-06 08:31:56.681036 [DEBUG] switch_core_media.c:4161 Audio Codec
>> Compare [PCMA:8:8000:20:64000:1]/[G722:9:8000:20:64000:1]
>> 2016-03-06 08:31:56.681036 [DEBUG] switch_core_media.c:4161 Audio Codec
>> Compare [PCMA:8:8000:20:64000:1]/[PCMU:0:8000:20:64000:1]
>> 2016-03-06 08:31:56.681036 [DEBUG] switch_core_media.c:4161 Audio Codec
>> Compare [PCMA:8:8000:20:64000:1]/[PCMA:8:8000:20:64000:1]
>> 2016-03-06 08:31:56.681036 [DEBUG] switch_core_media.c:4216 Audio Codec
>> Compare [PCMA:8:8000:20:64000:1] ++++ is saved as a match
>> 2016-03-06 08:31:56.681036 [DEBUG] switch_core_media.c:2906 Set Codec
>> sofia/internal/10 at consertis.securenetvox.net G722/8000 20 ms 160 samples
>> 64000 bits 1 channels
>>
>> And when switches to external profile, I see
>>
>> 2016-03-06 08:31:56.721010 [DEBUG] sofia_glue.c:1257 sofia/external/
>> 00972543279009 sending invite version: 1.6.6 git d2d0b32 2016-01-11
>> 20:16:12Z 64bit
>> Local SDP:
>> v=0
>> o=FreeSWITCH 1457219712 1457219713 IN IP4 10.0.20.71
>> s=FreeSWITCH
>> c=IN IP4 10.0.20.71
>> t=0 0
>> m=audio 29804 RTP/AVP 9 101 13
>> a=rtpmap:9 G722/8000
>> a=rtpmap:101 telephone-event/8000
>> a=fmtp:101 0-16
>> a=rtpmap:13 CN/8000
>> a=ptime:20
>> a=sendrecv
>>
>>
>> The question is - why only G722 left?
>> Across dialplan there is no things like inherit_codec, bypass media or
>> other codec-related stuff
>>
>> Profiles
>> external
>> ext-sip-ip [10.0.20.71]
>> rtp-timeout-sec [300]
>> rtp-hold-timeout-sec [1800]
>> tls [false]
>> tls-only [false]
>> tls-bind-params [transport=tls]
>> tls-sip-port [5081]
>> tls-cert-dir [/usr/local/freeswitch/conf/ssl]
>> tls-passphrase []
>> tls-verify-date [true]
>> tls-verify-depth [2]
>> tls-verify-in-subjects []
>> tls-version [tlsv1]
>> tls-verify-policy [all]
>> odbc-dsn [pgsql://hostaddr=127.0.0.1 port=5432 dbname=freeswitch
>> user=fusionpbx password=pass options='' application_name='freeswitch']
>> track-calls [true]
>> inbound-codec-negotiation [greedy]
>> debug [0]
>> user-agent-string [FreeSWITCH]
>> sip-trace [no]
>> sip-capture [no]
>> rfc2833-pt [101]
>> sip-port [5080]
>> dialplan [XML]
>> context [public]
>> dtmf-duration [2000]
>> inbound-codec-prefs [G7221 at 32000h,G7221 at 16000h,G722,PCMU,PCMA,OPUS,SILK]
>> outbound-codec-prefs [PCMU,PCMA,GSM]
>> hold-music [local_stream://default]
>> zrtp-passthru [true]
>> rtp-timer-name [soft]
>> local-network-acl [localnet.auto]
>> manage-presence [false]
>> nonce-ttl [60]
>> auth-calls [false]
>> rtp-ip [10.0.20.71]
>> sip-ip [10.0.20.71]
>> ext-rtp-ip [10.0.20.71]
>>
>> internal
>> tls-cert-dir [/usr/local/freeswitch/conf/ssl]
>> tls-passphrase []
>> tls-verify-date [true]
>> tls-verify-depth [2]
>> tls-verify-in-subjects []
>> tls-version [tlsv1]
>> nonce-ttl [60]
>> auth-calls [true]
>> inbound-reg-force-matching-username [true]
>> auth-all-packets [false]
>> ext-rtp-ip [10.0.20.71]
>> ext-sip-ip [10.0.20.71]
>> rtp-timeout-sec [300]
>> rtp-hold-timeout-sec [1800]
>> tls-verify-policy [all]
>> multiple-registrations [contact]
>> enable-timer [false]
>> dbname [share_presence]
>> send-presence-on-register [true]
>> inbound-codec-negotiation [greedy]
>> NDLB-force-rport [safe]
>> challenge-realm [auto_to]
>> outbound-proxy [10.0.20.70]
>> track-calls [true]
>> odbc-dsn [pgsql://hostaddr=127.0.0.1 port=5432 dbname=freeswitch
>> user=fusionpbx password=btgJek49 options='' application_name='freeswitch']
>> nat-options-ping [true]
>> liberal-dtmf [true]
>> all-reg-options-ping [true]
>> force-publish-expires [true]
>> unregister-on-options-fail [true]
>> user-agent-string [FreeSWITCH]
>> debug [0]
>> sip-trace [no]
>> sip-capture [no]
>> watchdog-enabled [no]
>> watchdog-step-timeout [30000]
>> watchdog-event-timeout [30000]
>> log-auth-failures [true]
>> forward-unsolicited-mwi-notify [false]
>> context [public]
>> rfc2833-pt [101]
>> sip-port [5060]
>> dialplan [XML]
>> dtmf-duration [2000]
>> inbound-codec-prefs [G7221 at 32000h,G7221 at 16000h,G722,PCMU,PCMA,OPUS,SILK]
>> outbound-codec-prefs [G7221 at 32000h,G7221 at 16000h,G722,PCMU,PCMA,OPUS,SILK]
>> rtp-timer-name [soft]
>> rtp-ip [10.0.20.71]
>> sip-ip [10.0.20.71]
>> hold-music [local_stream://default]
>> apply-nat-acl [nat.auto]
>> aggressive-nat-detection [true]
>> apply-inbound-acl [domains]
>> local-network-acl [localnet.auto]
>> record-path [/usr/local/freeswitch/recordings]
>> record-template
>> [${domain_name}/archive/${strftime(%Y)}/${strftime(%b)}/${strftime(%d)}/${uuid}.${record_ext}]
>> manage-presence [true]
>> presence-probe-on-register [true]
>> manage-shared-appearance [true]
>> tls [false]
>> tls-only [false]
>> tls-bind-params [transport=tls]
>> tls-sip-port [5061]
>>
>> Tried with indbound-late-negotiation=false, also not helps…
>> Can you please, point, what is missing? Thanks
>>
>> --
>> Best regards,
>> Igor
>>
>
>
>
> --
> Best regards,
> Igor
>
> _________________________________________________________________________
> Professional FreeSWITCH Consulting Services:
> consulting at freeswitch.org
> http://www.freeswitchsolutions.com
>
> Official FreeSWITCH Sites
> http://www.freeswitch.org
> http://confluence.freeswitch.org
> http://www.cluecon.com
>
> FreeSWITCH-users mailing list
> FreeSWITCH-users at lists.freeswitch.org
> http://lists.freeswitch.org/mailman/listinfo/freeswitch-users
> UNSUBSCRIBE:http://lists.freeswitch.org/mailman/options/freeswitch-users
> http://www.freeswitch.org
>
-------------- next part --------------
An HTML attachment was scrubbed...
URL: http://lists.freeswitch.org/pipermail/freeswitch-users/attachments/20160307/f1c88eb8/attachment.html 


Join us at ClueCon 2016 Aug 8-12, 2016
More information about the FreeSWITCH-users mailing list