neels has uploaded this change for review.

View Change

SDP/MGCP: pass octet-align=1 for AMR / pass all fmtp

Since recent libosmo-mgcp-client update (see Depends), we can now pass
fmtp for each individual codec entry to be sent in the SDP. Use that new
feature to pass any fmtp from rtp_stream.c to the MGW via MGCP.

In effect, this adds the 'octet-align=1', defined in codec_mapping.c as
the default for AMR, which was missing from the SDP/MGCP that osmo-msc
sends out.

A 2G to 2G call worked out OK without it, because omitting the
'octet-align' setting from MGCP disables all octet-align payload checks
in osmo-mgw. Both 2G call legs use octet-align=1, and things work out.

Running a call from 3G to 2G before this patch would result in osmo-mgw
dropping the RTP with logging like:

DRTP NOTICE (rtpbridge/1@bsc0 I:B38CF524) rx_rtp(44 bytes): Expected RTP AMR octet-aligned=1 but got octet-aligned=0. check the config of your call-agent! (mgcp_network.c:1527)

...because osmo-bsc's MGW was instructed to expect octet-align=1, while
osmo-msc's MGW emits octet-align=0. This happens because converting the
3G IuUP to 2G AMR heeds the RFC 6871 specified default of octet-align=0.

Depends: osmo-mgw If58590bda8627519ff07e0b6f43aa47a274f052b
Change-Id: Ief9225c9bcf7525a9a0a07c282ffb8cc0d092186
---
M src/libmsc/rtp_stream.c
1 file changed, 32 insertions(+), 0 deletions(-)

git pull ssh://gerrit.osmocom.org:29418/osmo-msc refs/changes/07/35307/1
diff --git a/src/libmsc/rtp_stream.c b/src/libmsc/rtp_stream.c
index 1f885c5..38bf2ba 100644
--- a/src/libmsc/rtp_stream.c
+++ b/src/libmsc/rtp_stream.c
@@ -334,6 +334,7 @@
.codec = m->mgcp,
.pt = codec->payload_type,
};
+ OSMO_STRLCPY_ARRAY(verb_info.ptmap[i].fmtp, codec->fmtp);
i++;
verb_info.codecs_len = i;
verb_info.ptmap_len = i;

To view, visit change 35307. To unsubscribe, or for help writing mail filters, visit settings.

Gerrit-Project: osmo-msc
Gerrit-Branch: master
Gerrit-Change-Id: Ief9225c9bcf7525a9a0a07c282ffb8cc0d092186
Gerrit-Change-Number: 35307
Gerrit-PatchSet: 1
Gerrit-Owner: neels <nhofmeyr@sysmocom.de>
Gerrit-MessageType: newchange