[Freeswitch-users] Codec negotiation. Totally confused

Igor Olhovskiy igorolhovskiy at gmail.com
Mon Mar 7 01:29:29 MSK 2016


Yep, tried to play with it, same idea, on external profile call - only
g722. Which is not even in outbound codec list. And, according to manual,
FS should offer all codecs in list to next endpoint, which is not happens.
That’s my main confusion…

2016-03-07 0:05 GMT+02:00 Sergey Okhapkin <sos at sokhapkin.dyndns.org>:

> <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
>
> _________________________________________________________________________
> 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/20160307/ad9ad9c6/attachment-0001.html 


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