SIP метод CANCEL


Выдержка из SIP RFC:


Запрос CANCEL, как и следует из его названия, используется для отмены предыдущего запроса, отправленного клиентом. Если быть более точным, то он спрашивает у клиента (UA) по возможности прекратить обработку предыдущего запроса и сгенерировать на него ответ с ошибкой выполнения. Запрос CANCEL не производит никакого эффекта, если на запрос, отправленный клиенту (UAS), уже был получен окончательный ответ о его выполнении.

По этой причине, CANCEL в основном используется для отмены запросов, требующих довольно длительное время на их обработку. По этой же причине, CANCEL является наилучшим вариантом для отмены запроса INVITE, которому нужно длительное время на формирование ответа. В таком варианте использования, клиент (UA), который получает запрос CANCEL на предыдущий INVITE (на который еще не был получен окончательный ответ), делает следующее: перестает "звонить" и после этого отвечает на запрос INVITE, сообщением со специальным кодом ошибки (487).



Вернуться к описанию SIP.