[Home]

Summary:ASTERISK-28416: Unable to get rtp codec payload code for slin
Reporter:Brian J. Murrell (brian_j_murrell)Labels:fax pjsip
Date Opened:2019-05-14 06:33:13Date Closed:2020-09-15 14:12:29
Priority:TrivialRegression?
Status:Closed/CompleteComponents:Core/RTP
Versions:13.26.0 Frequency of
Occurrence
Constant
Related
Issues:
is related toASTERISK-26591 res_pjsip: Can't exclude codecs with multiple formats
Environment:Attachments:
Description:When making a call to a certain endpoint asterisk logs:

{noformat}
[May 14 07:26:28] WARNING[12084]: res_pjsip_sdp_rtp.c:1296 create_outgoing_sdp_stream: Unable to get rtp codec payload code for slin
[May 14 07:26:28] WARNING[12084]: res_pjsip_sdp_rtp.c:1296 create_outgoing_sdp_stream: Unable to get rtp codec payload code for slin
[May 14 07:26:28] WARNING[12084]: res_pjsip_sdp_rtp.c:1296 create_outgoing_sdp_stream: Unable to get rtp codec payload code for slin
[May 14 07:26:28] WARNING[12084]: res_pjsip_sdp_rtp.c:1296 create_outgoing_sdp_stream: Unable to get rtp codec payload code for slin
[May 14 07:26:28] WARNING[12084]: res_pjsip_sdp_rtp.c:1296 create_outgoing_sdp_stream: Unable to get rtp codec payload code for slin
[May 14 07:26:28] WARNING[12084]: res_pjsip_sdp_rtp.c:1296 create_outgoing_sdp_stream: Unable to get rtp codec payload code for slin
[May 14 07:26:28] WARNING[12084]: res_pjsip_sdp_rtp.c:1296 create_outgoing_sdp_stream: Unable to get rtp codec payload code for slin
[May 14 07:26:28] WARNING[12084]: res_pjsip_sdp_rtp.c:1296 create_outgoing_sdp_stream: Unable to get rtp codec payload code for testlaw
[May 14 07:26:28] WARNING[12084]: res_pjsip_sdp_rtp.c:1296 create_outgoing_sdp_stream: Unable to get rtp codec payload code for silk
[May 14 07:26:28] WARNING[12084]: res_pjsip_sdp_rtp.c:1296 create_outgoing_sdp_stream: Unable to get rtp codec payload code for silk
[May 14 07:26:28] WARNING[12084]: res_pjsip_sdp_rtp.c:1296 create_outgoing_sdp_stream: Unable to get rtp codec payload code for silk
[May 14 07:26:28] WARNING[12084]: res_pjsip_sdp_rtp.c:1296 create_outgoing_sdp_stream: Unable to get rtp codec payload code for silk
{noformat}
Comments:By: Asterisk Team (asteriskteam) 2019-05-14 06:33:13.893-0500

Thanks for creating a report! The issue has entered the triage process. That means the issue will wait in this status until a Bug Marshal has an opportunity to review the issue. Once the issue has been reviewed you will receive comments regarding the next steps towards resolution.

A good first step is for you to review the [Asterisk Issue Guidelines|https://wiki.asterisk.org/wiki/display/AST/Asterisk+Issue+Guidelines] if you haven't already. The guidelines detail what is expected from an Asterisk issue report.

Then, if you are submitting a patch, please review the [Patch Contribution Process|https://wiki.asterisk.org/wiki/display/AST/Patch+Contribution+Process].

Please note that once your issue enters an open state it has been accepted. As Asterisk is an open source project there is no guarantee or timeframe on when your issue will be looked into. If you need expedient resolution you will need to find and pay a suitable developer. Asking for an update on your issue will not yield any progress on it and will not result in a response. All updates are posted to the issue when they occur.

By: George Joseph (gjoseph) 2019-05-15 08:23:33.521-0500

"silk" by itself isn't a valid format.  It needs to be "silk8", "silk12", etc.  "slin" is valid though.  Please provide the full configuration for the endpoint.  You can just paste the results of {{pjsip show endpoint <endpoint>}}.    What type of device is the actual endpoint?  Does the call succeed with good audio despite the warnings?


By: Brian J. Murrell (brian_j_murrell) 2019-05-15 09:00:14.177-0500


{noformat}
Endpoint:  <Endpoint/CID.....................................>  <State.....>  <Channels.>
   I/OAuth:  <AuthId/UserName...........................................................>
       Aor:  <Aor............................................>  <MaxContact>
     Contact:  <Aor/ContactUri..........................> <Hash....> <Status> <RTT(ms)..>
 Transport:  <TransportId........>  <Type>  <cos>  <tos>  <BindAddress..................>
  Identify:  <Identify/Endpoint.........................................................>
       Match:  <criteria.........................>
   Channel:  <ChannelId......................................>  <State.....>  <Time.....>
       Exten: <DialedExten...........>  CLCID: <ConnectedLineCID.......>
==========================================================================================

Endpoint:  outgoing                                             Unavailable   0 of inf
       Aor:  outgoing                                           0


ParameterName                      : ParameterValue
===========================================================================================================================================================================================================================================================================
100rel                             : yes
accept_multiple_sdp_answers        : false
accountcode                        :
acl                                :
aggregate_mwi                      : true
allow                              : (g723|ulaw|alaw|gsm|g726|g726aal2|adpcm|slin|slin|slin|slin|slin|slin|slin|slin|slin|lpc10|g729|speex|speex|speex|ilbc|g722|siren7|siren14|testlaw|g719|opus|jpeg|png|h261|h263|h263p|h264|mpeg4|vp8|vp9|red|t140|silk|silk|silk|silk)
allow_overlap                      : true
allow_subscribe                    : true
allow_transfer                     : true
aors                               : outgoing
asymmetric_rtp_codec               : false
auth                               :
bind_rtp_to_media_address          : false
call_group                         :
callerid                           : <unknown>
callerid_privacy                   : allowed_not_screened
callerid_tag                       :
connected_line_method              : invite
contact_acl                        :
context                            : default
cos_audio                          : 0
cos_video                          : 0
device_state_busy_at               : 0
direct_media                       : false
direct_media_glare_mitigation      : none
direct_media_method                : invite
disable_direct_media_on_nat        : false
dtls_ca_file                       :
dtls_ca_path                       :
dtls_cert_file                     :
dtls_cipher                        :
dtls_fingerprint                   : SHA-256
dtls_private_key                   :
dtls_rekey                         : 0
dtls_setup                         : active
dtls_verify                        : No
dtmf_mode                          : none
fax_detect                         : false
fax_detect_timeout                 : 0
follow_early_media_fork            : true
force_avp                          : false
force_rport                        : true
from_domain                        :
from_user                          :
g726_non_standard                  : false
ice_support                        : true
identify_by                        : username,ip
ignore_183_without_sdp             : false
inband_progress                    : false
incoming_mwi_mailbox               :
language                           : en
mailboxes                          :
media_address                      :
media_encryption                   : no
media_encryption_optimistic        : false
media_use_received_transport       : false
message_context                    :
moh_suggest                        : default
mwi_from_user                      :
mwi_subscribe_replaces_unsolicited : no
named_call_group                   :
named_pickup_group                 :
notify_early_inuse_ringing         : false
one_touch_recording                : false
outbound_auth                      :
outbound_proxy                     :
pickup_group                       :
record_off_feature                 : automixmon
record_on_feature                  : automixmon
refer_blind_progress               : true
rewrite_contact                    : true
rpid_immediate                     : false
rtcp_mux                           : false
rtp_engine                         : asterisk
rtp_ipv6                           : false
rtp_keepalive                      : 0
rtp_symmetric                      : true
rtp_timeout                        : 0
rtp_timeout_hold                   : 0
sdp_owner                          : -
sdp_session                        : Asterisk
send_connected_line                : yes
send_diversion                     : true
send_pai                           : false
send_rpid                          : false
set_var                            :
srtp_tag_32                        : false
sub_min_expiry                     : 0
subscribe_context                  :
suppress_q850_reason_headers       : false
t38_udptl                          : true
t38_udptl_ec                       : none
t38_udptl_ipv6                     : false
t38_udptl_maxdatagram              : 0
t38_udptl_nat                      : false
timers                             : yes
timers_min_se                      : 90
timers_sess_expires                : 1800
tone_zone                          :
tos_audio                          : 0
tos_video                          : 0
transport                          :
trust_connected_line               : yes
trust_id_inbound                   : false
trust_id_outbound                  : false
use_avpf                           : false
use_ptime                          : false
user_eq_phone                      : false
voicemail_extension                :
{noformat}

The {{allow}} list is not lost on me.  I'm just not sure why it is that way, with so many (and repeated) codecs.

{quote}
What type of device is the actual endpoint?
{quote}

In the case of the call that displays these warnings, it's linphone-android.

{quote}
Does the call succeed with good audio despite the warnings
{quote}

Indeed it does succeed and the audio is good.

By: George Joseph (gjoseph) 2019-05-15 10:33:51.155-0500

OK.  I'm guessing you have "all" specified for "allow" and for some reason we're truncating the sample rate off the end of the formats so "slin", "slin12", "slin16", "slin24", etc all show as just "slin".   That is indeed a bug.

You may want to not use "all" and just stick to specific codecs if for no other reason than to prevent Astrerisk from having to try and process all of them during call negotiation.


By: Friendly Automation (friendly-automation) 2020-09-15 14:12:31.269-0500

Change 14922 merged by Friendly Automation:
format_cap: Perform codec lookups by pointer instead of name

[https://gerrit.asterisk.org/c/asterisk/+/14922|https://gerrit.asterisk.org/c/asterisk/+/14922]

By: Friendly Automation (friendly-automation) 2020-09-15 14:36:38.565-0500

Change 14920 merged by George Joseph:
format_cap: Perform codec lookups by pointer instead of name

[https://gerrit.asterisk.org/c/asterisk/+/14920|https://gerrit.asterisk.org/c/asterisk/+/14920]

By: Friendly Automation (friendly-automation) 2020-09-15 14:38:12.113-0500

Change 14941 merged by George Joseph:
format_cap: Perform codec lookups by pointer instead of name

[https://gerrit.asterisk.org/c/asterisk/+/14941|https://gerrit.asterisk.org/c/asterisk/+/14941]

By: Friendly Automation (friendly-automation) 2020-09-15 14:38:49.216-0500

Change 14942 merged by George Joseph:
format_cap: Perform codec lookups by pointer instead of name

[https://gerrit.asterisk.org/c/asterisk/+/14942|https://gerrit.asterisk.org/c/asterisk/+/14942]

By: Friendly Automation (friendly-automation) 2020-09-15 14:39:02.818-0500

Change 14943 merged by George Joseph:
format_cap: Perform codec lookups by pointer instead of name

[https://gerrit.asterisk.org/c/asterisk/+/14943|https://gerrit.asterisk.org/c/asterisk/+/14943]