Неверный fmpt телефонного события в полученном INVITE

У нас есть случай, когда мы должны применить политику условного кодека на стороне выхода. Но у меня есть проблема со сценарием, когда отправка телефонного события с типом полезной нагрузки 101 и 119 в начальном ПРИГЛАШЕНИИ, но не получен fmtp для телефонного события, тогда как мои сценарии ожидают, что оно придет. Я новичок в этой области SIP и SDP и не могу точно определить проблему.

Я думал, что сценарий ожидает того, чего не должен, поэтому удалил ожидание, и вызов успешно завершается. Ниже приведено отправленное и полученное ПРИГЛАШЕНИЕ.

Отправка INVITE с указанным ниже SDP:

v=0
o=user1 53655765 2353687637 IN IP4 192.168.205.193
s=-
c=IN IP4 192.168.205.193
t=0 0
m=audio 10000 RTP/AVP 96 97 119
a=rtpmap:96 AMR/8000
a=rtpmap:97 AMR/8000
a=rtpmap:119 telephone-event/8000
a=fmtp:97 octet-align=1

Получен INVITE с SDP:

v=0
o=user1 53655765 2353687637 IN IP4 192.168.205.195
s=-
c=IN IP4 192.168.205.195
t=0 0
m=audio 13008 RTP/AVP 102 100 0 96 97 101 119
a=rtpmap:102 AMR-WB/16000/1
a=fmtp:102 mode-set=0,1,2
a=rtpmap:100 AMR/8000
a=fmtp:100 mode-set=0,2,5,7
a=rtpmap:0 PCMU/8000
a=rtpmap:96 AMR/8000
a=rtpmap:97 AMR/8000
a=fmtp:97 octet-align=1
a=rtpmap:101 telephone-event/16000
a=rtpmap:119 telephone-event/8000

Мой сценарий ожидает fmtp: 101 0-15, но отсутствует в полученном INVITE. Когда и в каком случае следует ожидать fmtp DTMF и с каким типом полезной нагрузки динамического кодека мы должны получать? Что, если я уберу из сценария fmtp-ожидание телефонного события в полученном INVITE?


person Anu    schedule 24.03.2019    source источник
comment
Пожалуйста, отредактируйте свой вопрос, чтобы было понятно: 1/ какую сторону вы реализуете? 2/сделать сравнение между рабочим сценарием и нерабочим сценарием? 3/ И, наконец, дайте точный список вопросов в вашем вопросе...?   -  person AymericM    schedule 24.03.2019


Ответы (1)


Не зная требования, но согласно DTMF RFC, я бы также убрал ожидание.

https://tools.ietf.org/html/rfc2833 стр. 10-11

Поскольку все реализации ДОЛЖНЫ иметь возможность получать события от 0 до 15, перечисление этих событий в строке a=fmtp НЕОБЯЗАТЕЛЬНО.

https://tools.ietf.org/html/rfc4733 стр. 10-11

... Для обратной совместимости, если параметр «события» не получен, отправитель ДОЛЖЕН предполагать поддержку событий DTMF 0–15, но не других событий.

person aku_python    schedule 09.07.2019