sdp: offer AMR narrowband after AMR-WB
Our offer listed AMR-WB alone. A call we place TO a landline then depends on the far side transcoding up to wideband; a gateway that will not is entitled to refuse. AMR narrowband is the 3GPP-mandatory codec every IMS core and PSTN gateway can answer, so it goes second, with telephone-event at the 8 kHz clock beside the existing 16 kHz one. AMR-WB stays first, so a mobile-to-mobile call negotiates exactly what it did before; if the network does answer AMR, the engine already starts the media leg on the answered codec. Byte pins in tests/Sdp and tests/Messages re-pinned (INVITE body 323 -> 466 bytes). NOTE FOR RELEASE: this changes the MO INVITE on the path the arranged 112 calls used. One bench MO call on KPN before it ships.
This commit is contained in:
parent
a064b5deff
commit
d5aaf57e49
3 changed files with 29 additions and 9 deletions
|
|
@ -96,14 +96,18 @@ namespace {
|
|||
"s=-\r\n"
|
||||
"c=IN IP6 2001:db8::db43\r\n"
|
||||
"t=0 0\r\n"
|
||||
"m=audio 50004 RTP/AVP 97 98\r\n"
|
||||
"m=audio 50004 RTP/AVP 97 99 98 100\r\n"
|
||||
"b=AS:41\r\n"
|
||||
"b=RS:512\r\n"
|
||||
"b=RR:1536\r\n"
|
||||
"a=rtpmap:97 AMR-WB/16000/1\r\n"
|
||||
"a=fmtp:97 octet-align=1;mode-change-capability=2;max-red=0\r\n"
|
||||
"a=rtpmap:99 AMR/8000/1\r\n"
|
||||
"a=fmtp:99 octet-align=1;mode-change-capability=2;max-red=0\r\n"
|
||||
"a=rtpmap:98 telephone-event/16000\r\n"
|
||||
"a=fmtp:98 0-15\r\n"
|
||||
"a=rtpmap:100 telephone-event/8000\r\n"
|
||||
"a=fmtp:100 0-15\r\n"
|
||||
"a=ptime:20\r\n"
|
||||
"a=maxptime:240\r\n"
|
||||
"a=sendrecv\r\n";
|
||||
|
|
@ -129,21 +133,25 @@ namespace {
|
|||
"Session-Expires: 1800;refresher=uac\r\n"
|
||||
"Min-SE: 90\r\n"
|
||||
"Content-Type: application/sdp\r\n"
|
||||
"Content-Length: 323\r\n"
|
||||
"Content-Length: 466\r\n"
|
||||
"\r\n"
|
||||
"v=0\r\n"
|
||||
"o=- 7777777 7777777 IN IP6 2001:db8::db43\r\n"
|
||||
"s=-\r\n"
|
||||
"c=IN IP6 2001:db8::db43\r\n"
|
||||
"t=0 0\r\n"
|
||||
"m=audio 50004 RTP/AVP 97 98\r\n"
|
||||
"m=audio 50004 RTP/AVP 97 99 98 100\r\n"
|
||||
"b=AS:41\r\n"
|
||||
"b=RS:512\r\n"
|
||||
"b=RR:1536\r\n"
|
||||
"a=rtpmap:97 AMR-WB/16000/1\r\n"
|
||||
"a=fmtp:97 octet-align=1;mode-change-capability=2;max-red=0\r\n"
|
||||
"a=rtpmap:99 AMR/8000/1\r\n"
|
||||
"a=fmtp:99 octet-align=1;mode-change-capability=2;max-red=0\r\n"
|
||||
"a=rtpmap:98 telephone-event/16000\r\n"
|
||||
"a=fmtp:98 0-15\r\n"
|
||||
"a=rtpmap:100 telephone-event/8000\r\n"
|
||||
"a=fmtp:100 0-15\r\n"
|
||||
"a=ptime:20\r\n"
|
||||
"a=maxptime:240\r\n"
|
||||
"a=sendrecv\r\n";
|
||||
|
|
|
|||
|
|
@ -37,14 +37,18 @@ int main() {
|
|||
"s=-\r\n"
|
||||
"c=IN IP6 2001:db8:29e9:a05f::1\r\n"
|
||||
"t=0 0\r\n"
|
||||
"m=audio 22222 RTP/AVP 97 98\r\n"
|
||||
"m=audio 22222 RTP/AVP 97 99 98 100\r\n"
|
||||
"b=AS:41\r\n"
|
||||
"b=RS:512\r\n"
|
||||
"b=RR:1536\r\n"
|
||||
"a=rtpmap:97 AMR-WB/16000/1\r\n"
|
||||
"a=fmtp:97 octet-align=1;mode-change-capability=2;max-red=0\r\n"
|
||||
"a=rtpmap:99 AMR/8000/1\r\n"
|
||||
"a=fmtp:99 octet-align=1;mode-change-capability=2;max-red=0\r\n"
|
||||
"a=rtpmap:98 telephone-event/16000\r\n"
|
||||
"a=fmtp:98 0-15\r\n"
|
||||
"a=rtpmap:100 telephone-event/8000\r\n"
|
||||
"a=fmtp:100 0-15\r\n"
|
||||
"a=ptime:20\r\n"
|
||||
"a=maxptime:240\r\n"
|
||||
"a=curr:qos local sendrecv\r\n"
|
||||
|
|
|
|||
Loading…
Reference in a new issue