This is merely a historical archive of years 2008-2021, before the migration to mailman3.
A maintained and still updated list archive can be found at https://lists.osmocom.org/hyperkitty/list/gerrit-log@lists.osmocom.org/.
neels gerrit-no-reply at lists.osmocom.orgneels has submitted this change and it was merged. ( https://gerrit.osmocom.org/c/osmo-mgw/+/15141 ) Change subject: SDP: store all ptmap entries ...................................................................... SDP: store all ptmap entries If a ptmap appears in the SDP, always store it in the ptmap array. No longer attempt to drop entries if they match the conventional payload type number. - One reason is that the past code only matched full explicit "FOO/8000/1" strings, while the channel number "/1" can be omitted to imply 1; by simply storing everything received in the SDP, there is no need to add complexity to match both "FOO/8000" and "FOO/8000/1". - The other reason is to rather parse exactly what was received, instead of filtering entries, to take away a degree of implied magic. Change-Id: I2a69c21e68c602daf804744212d335ab1eafd81b --- M src/libosmo-mgcp-client/mgcp_client.c 1 file changed, 8 insertions(+), 20 deletions(-) Approvals: Jenkins Builder: Verified neels: Looks good to me, approved laforge: Looks good to me, but someone else must approve pespin: Looks good to me, but someone else must approve diff --git a/src/libosmo-mgcp-client/mgcp_client.c b/src/libosmo-mgcp-client/mgcp_client.c index 6275385..5823e2b 100644 --- a/src/libosmo-mgcp-client/mgcp_client.c +++ b/src/libosmo-mgcp-client/mgcp_client.c @@ -337,7 +337,7 @@ { unsigned int pt; char codec_resp[64]; - unsigned int codec; + enum mgcp_codecs codec; #define A_PTIME "a=ptime:" #define A_RTPMAP "a=rtpmap:" @@ -354,26 +354,14 @@ "Failed to parse SDP parameter, invalid rtpmap: %s\n", osmo_quote_str(line, -1)); return -EINVAL; } - /* The MGW may assign an own payload type in the - * response if the choosen codec falls into the IANA - * assigned dynamic payload type range (96-127). - * Normally the MGW should obey the 3gpp payload type - * assignments, which are fixed, so we likely wont see - * anything unexpected here. In order to be sure that - * we will now check the codec string and if the result - * does not match to what is IANA / 3gpp assigned, we - * will create an entry in the ptmap table so we can - * lookup later what has been assigned. */ - codec = map_str_to_codec(codec_resp); - if (codec != pt) { - if (r->ptmap_len >= ARRAY_SIZE(r->ptmap)) { - LOGP(DLMGCP, LOGL_ERROR, "No more space in ptmap array (len=%u)\n", r->ptmap_len); - return -ENOSPC; - } - r->ptmap[r->ptmap_len].pt = pt; - r->ptmap[r->ptmap_len].codec = codec; - r->ptmap_len++; + if (r->ptmap_len >= ARRAY_SIZE(r->ptmap)) { + LOGP(DLMGCP, LOGL_ERROR, "No more space in ptmap array (len=%u)\n", r->ptmap_len); + return -ENOSPC; } + codec = map_str_to_codec(codec_resp); + r->ptmap[r->ptmap_len].pt = pt; + r->ptmap[r->ptmap_len].codec = codec; + r->ptmap_len++; } return 0; -- To view, visit https://gerrit.osmocom.org/c/osmo-mgw/+/15141 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-mgw Gerrit-Branch: master Gerrit-Change-Id: I2a69c21e68c602daf804744212d335ab1eafd81b Gerrit-Change-Number: 15141 Gerrit-PatchSet: 5 Gerrit-Owner: neels <nhofmeyr at sysmocom.de> Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: laforge <laforge at gnumonks.org> Gerrit-Reviewer: neels <nhofmeyr at sysmocom.de> Gerrit-Reviewer: pespin <pespin at sysmocom.de> Gerrit-MessageType: merged -------------- next part -------------- An HTML attachment was scrubbed... URL: <http://lists.osmocom.org/pipermail/gerrit-log/attachments/20190829/c2a7b998/attachment.htm>