Предлагает ли SIP механизм для инициирования потока и возврата ошибки?
Представьте, что вы просматриваете HTTP-URL, который не существует. Вы получите 404, который часто содержит пояснительный текст.
Теперь представьте, что вы звоните кому-то, использующему VoIP с SIP, и используете несуществующего адресата. Можно ли вернуть ошибку И установить поток RTP с пояснительным звуковым сообщением?
1 ответ
Да, если вы посмотрите на RFC по адресу https://www.ietf.org/rfc/rfc3261.txt Это объясняет, как именно это сделать.
20.18 Error-Info
Поле заголовка Error-Info содержит указатель на дополнительную информацию об ответе о состоянии ошибки.
SIP UACs have user interface capabilities ranging from pop-up windows and audio on PC softclients to audio-only on "black" phones or endpoints connected via gateways. Rather than forcing a server generating an error to choose between sending an error status code with a detailed reason phrase and playing an audio recording, the Error-Info header field allows both to be sent. The UAC then has the choice of which error indicator to render to the caller.
UAC МОЖЕТ обрабатывать URI SIP или SIPS в поле заголовка Error-Info, как если бы он был контактом в перенаправлении, и генерировать новое сообщение INVITE, в результате чего устанавливается сеанс записанного объявления. URI без SIP МОЖЕТ быть предоставлен пользователю.
Примеры:
SIP/2.0 404 The number you have dialed is not in service Error-Info: <sip:not-in-service-recording@atlanta.com>
Следовательно, клиент получит 404 в ответе SIP, плюс ему будет сказано подключиться к sip:not-in-service-recording@atlanta.com для записанного сообщения.