Codec negotiation. Totally confused
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@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@32000h,G7221@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@32000h,G7221@16000h,G722,PCMU,PCMA,OPUS,SILK] outbound-codec-prefs [G7221@32000h,G7221@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
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@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@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@32000h,G7221@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@32000h,G7221@16000h,G722,PCMU,PCMA,OPUS,SILK] outbound-codec-prefs [G7221@32000h,G7221@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
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@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@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@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@32000h,G7221@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@32000h,G7221@16000h,G722,PCMU,PCMA,OPUS,SILK] outbound-codec-prefs [G7221@32000h,G7221@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
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/288375... . On Mar 6, 2016 11:28 AM, "Igor Olhovskiy" <igorolhovskiy@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@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@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@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@32000h,G7221@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@32000h,G7221@16000h,G722,PCMU,PCMA,OPUS,SILK] outbound-codec-prefs [G7221@32000h,G7221@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@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@lists.freeswitch.org http://lists.freeswitch.org/mailman/listinfo/freeswitch-users UNSUBSCRIBE:http://lists.freeswitch.org/mailman/options/freeswitch-users http://www.freeswitch.org
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@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/288375... . On Mar 6, 2016 11:28 AM, "Igor Olhovskiy" <igorolhovskiy@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@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@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@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@32000h,G7221@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@32000h,G7221@16000h ,G722,PCMU,PCMA,OPUS,SILK] outbound-codec-prefs [G7221@32000h,G7221@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@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@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@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@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
<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@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@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@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@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@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@32000h,G7221@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@32000h,G7221@16000h ,G722,PCMU,PCMA,OPUS,SILK] outbound-codec-prefs [G7221@32000h,G7221@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@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@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@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@lists.freeswitch.org http://lists.freeswitch.org/mailman/listinfo/freeswitch-users UNSUBSCRIBE:http://lists.freeswitch.org/mailman/options/freeswitch-users http://www.freeswitch.org
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@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@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@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@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@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@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@32000h,G7221@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@32000h,G7221@16000h ,G722,PCMU,PCMA,OPUS,SILK] outbound-codec-prefs [G7221@32000h,G7221@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@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@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@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@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@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@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
To be more clear with inbound-late-negotitation and inherit_codec=true I assume this scenario: I got a call to internal profile with codecs G722, PCMU and PCMA. Than, I’m dialing external with putbound-codecs-prefs=PCMU,PCMA,GSM. At this point I assume external profile will make an offer with PCMU and PCMA (accordint to restrictions), but I got offer from external only on G722, which is not supported by my provider. 2016-03-07 0:29 GMT+02:00 Igor Olhovskiy <igorolhovskiy@gmail.com>:
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@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@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@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@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@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@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@32000h,G7221@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@32000h,G7221@16000h > ,G722,PCMU,PCMA,OPUS,SILK] > outbound-codec-prefs [G7221@32000h,G7221@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@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@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@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@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@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@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
-- Best regards, Igor
What if you do NOT set inherit_codec=true and set inbound-late- negotiation=true? This works perfect to me... On Monday 07 March 2016 00:42:24 Igor Olhovskiy wrote:
To be more clear with inbound-late-negotitation and inherit_codec=true I assume this scenario: I got a call to internal profile with codecs G722, PCMU and PCMA. Than, I’m dialing external with putbound-codecs-prefs=PCMU,PCMA,GSM. At this point I assume external profile will make an offer with PCMU and PCMA (accordint to restrictions), but I got offer from external only on G722, which is not supported by my provider.
2016-03-07 0:29 GMT+02:00 Igor Olhovskiy <igorolhovskiy@gmail.com>:
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@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@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/288 3
752 .
On Mar 6, 2016 11:28 AM, "Igor Olhovskiy" <igorolhovskiy@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@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@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@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@32000h,G7221@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@32000h,G7221@16000h >> ,G722,PCMU,PCMA,OPUS,SILK] >> outbound-codec-prefs [G7221@32000h,G7221@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@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@lists.freeswitch.org http://lists.freeswitch.org/mailman/listinfo/freeswitch-users
UNSUBSCRIBE: http://lists.freeswitch.org/mailman/options/freeswitch-users
_________________________________________________________________________
Professional FreeSWITCH Consulting Services: consulting@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@lists.freeswitch.org http://lists.freeswitch.org/mailman/listinfo/freeswitch-users
UNSUBSCRIBE: http://lists.freeswitch.org/mailman/options/freeswitch-users
_________________________________________________________________________ Professional FreeSWITCH Consulting Services: consulting@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@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
I also have <param name="outbound-codec-prefs" value="$${outbound_codec_prefs}"/> in the profile settings. On Sunday 06 March 2016 17:50:32 Sergey Okhapkin wrote:
What if you do NOT set inherit_codec=true and set inbound-late- negotiation=true? This works perfect to me...
On Monday 07 March 2016 00:42:24 Igor Olhovskiy wrote:
To be more clear with inbound-late-negotitation and inherit_codec=true I assume this scenario: I got a call to internal profile with codecs G722, PCMU and PCMA. Than, I’m dialing external with putbound-codecs-prefs=PCMU,PCMA,GSM. At this point I assume external profile will make an offer with PCMU and PCMA (accordint to restrictions), but I got offer from external only on G722, which is not supported by my provider.
2016-03-07 0:29 GMT+02:00 Igor Olhovskiy <igorolhovskiy@gmail.com>:
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@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@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/2 88 3
752 .
On Mar 6, 2016 11:28 AM, "Igor Olhovskiy" <igorolhovskiy@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@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@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@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@32000h,G7221@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@32000h,G7221@16000h >>> ,G722,PCMU,PCMA,OPUS,SILK] >>> outbound-codec-prefs [G7221@32000h,G7221@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@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@lists.freeswitch.org > http://lists.freeswitch.org/mailman/listinfo/freeswitch-users
> UNSUBSCRIBE: http://lists.freeswitch.org/mailman/options/freeswitch-users
_______________________________________________________________________ __
Professional FreeSWITCH Consulting Services: consulting@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@lists.freeswitch.org http://lists.freeswitch.org/mailman/listinfo/freeswitch-users
UNSUBSCRIBE: http://lists.freeswitch.org/mailman/options/freeswitch-users
_______________________________________________________________________ __ Professional FreeSWITCH Consulting Services: consulting@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@lists.freeswitch.org http://lists.freeswitch.org/mailman/listinfo/freeswitch-users UNSUBSCRIBE:http://lists.freeswitch.org/mailman/options/freeswitch-user s http://www.freeswitch.org
-- Best regards, Igor
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@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@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@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@32000h,G7221@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@32000h,G7221@16000h,G722,PCMU,PCMA,OPUS,SILK] outbound-codec-prefs [G7221@32000h,G7221@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@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@lists.freeswitch.org http://lists.freeswitch.org/mailman/listinfo/freeswitch-users UNSUBSCRIBE:http://lists.freeswitch.org/mailman/options/freeswitch-users http://www.freeswitch.org
participants (4)
-
Igor Olhovskiy
-
ik
-
Sergey Okhapkin
-
Volodymyr Fedorov