Назад | Перейти на главную страницу

Предлагает ли SIP механизм для запуска потока и возврата ошибки?

Представьте, что вы просматриваете URL-адрес HTTP, которого не существует. Вы получите 404, который часто содержит пояснительный текст.

А теперь представьте, что вы звоните кому-то, использующему VoIP с SIP, и используете несуществующего адресата. Можно ли вернуть ошибку И установить поток RTP с пояснительным звуковым сообщением?

Да, если вы посмотрите RFC на https://www.ietf.org/rfc/rfc3261.txt Он объясняет, как именно это сделать.

20.18 Информация об ошибке

Поле заголовка 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 МОЖЕТ обрабатывать SIP или SIPS URI в поле заголовка 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 для записанного сообщения.