[Freeswitch-users] Codec negotiation. Totally confused

Sergey Okhapkin sos at sokhapkin.dyndns.org
Mon Mar 7 01:05:49 MSK 2016


<param name="inbound-late-negotiation" value="true"/>

?

On Sunday 06 March 2016 23:51:53 Igor Olhovskiy wrote:
> 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/2883
> > 752 .
> > 
> > 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



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