[Freeswitch-users] Codec negotiation. Totally confused

Igor Olhovskiy igorolhovskiy at gmail.com
Mon Mar 7 00:51:53 MSK 2016


Hi!
Thanks, but transcoding is also working with option absolute_codec_string.
What I’m trying to understand - what I’ve missed and why with profile
settings, external profile totally ignores outbound-codec-prefs and takes
ONLY FIRST from incoming call to internal profile.

2016-03-06 22:45 GMT+02:00 Volodymyr Fedorov <lexxua at gmail.com>:

> Hi Igor,
> If you want to do transcoding try to set*
> media_mix_inbound_outbound_codecs=true.* This is described in detail here
> :
> https://freeswitch.org/confluence/plugins/servlet/mobile#content/view/2883752
> .
> On Mar 6, 2016 11:28 AM, "Igor Olhovskiy" <igorolhovskiy at gmail.com> wrote:
>
>> Working only when I’m setting
>> export nolocal:absolute_codec_string=${outbound_codec_prefs}
>>
>>
>> 2016-03-06 11:47 GMT+02:00 Igor Olhovskiy <igorolhovskiy at gmail.com>:
>>
>>> 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
>>>
>>
>>
>>
>> --
>> 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
>>
>
> _________________________________________________________________________
> 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
>



-- 
Best regards,
Igor
-------------- next part --------------
An HTML attachment was scrubbed...
URL: http://lists.freeswitch.org/pipermail/freeswitch-users/attachments/20160306/e029045d/attachment-0001.html 


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