Не удается отправить RTP с помощью инструмента SIPp
Я пытаюсь воспроизвести захваченный файл pcap с помощью sipp следующим образом:
В отправке.xml
...
<recv response="200" rrs="true">
<action>
<ereg regexp="(.*)" search_in="hdr" header="To:" assign_to="TO_REQUEST"/>
</action>
</recv>
<send >
<![CDATA[
ACK [next_url] SIP/2.0
To: [$TO_REQUEST]
From: [$FROM_REQUEST]
Via: SIP/2.0/[transport] [local_ip]:[local_port];branch=[branch]
Call-ID: [call_id]
CSeq: [last_cseq_number] ACK
Contact: <sip:[local_ip]:[local_port]>
[routes]
Max-Forwards: 70
Subject: Performance Test
Content-Length: 0
]]>
</send>
<nop>
<action>
<exec play_pcap_audio="pcap/g711a.pcap"/>
</action>
</nop>
...
Тем не менее, я всегда получаю ту же ошибку: extract_rtp_remote_addr: IP-адрес не найден в теле сообщения SDP.
Я пытался протестировать другие файлы *.pcap и *.raw и редактировать свой скрипт, но все равно не могу. Когда я отправляю только сигнал, но не RTP, вызов успешен.
Кто-нибудь может помочь мне отправить RTP по SIPp? Заранее спасибо!
2 ответа
Я помню, у меня были похожие проблемы с этим в какой-то момент из-за того, что мой.pcap был не очень "чистым".
Вы уверены, что pcap содержит только пакеты RTP и ничего больше?
Для рабочего примера pcap, воспроизводимого sipp, вы можете проверить проект webrtc-test, а более конкретно: .pcap и соответствующий sipp xml
Также обратите внимание, что sipp обычно воспроизводит только одно направление носителя RTP, поэтому лучше убедиться, что носитель течет в обоих направлениях.
Надеюсь это поможет.
С наилучшими пожеланиями, Антонис Цакиридис
Это может быть связано с SDP в вашем INVITE. extract_rtp_remote_addr будет искать IP-адрес для отправки RTP.
Убедитесь, что ваш INVITE в XML имеет правильный IP-адрес в строке c.