Процедура отмены запроса |
|
Запрос CANCEL, как следует из его названия, используется для отмены предшествующего запроса, переданного клиентом. Точнее, он требует от UAS прекратить обработку запроса и создать ответ на него с определенным кодом. Запрос CANCEL не оказывает воздействия на запрос, на который UAS уже передал окончательный ответ. Поэтому отмена запросов представляет наибольшую важность для запросов, формирование ответов на которые требует больших затрат серверного времени. По этой причине CANCEL лучше всего подходит для запросов INVITE, которые требуют длительного времени для генерации ответа. В этом случае UAS, который получает CANCEL для INVITE, но еще не передал окончательного ответа, прекращает передавать пользователю сигнал вызова и посылает ответ на INVITE с определенным кодом ошибки (487). Запросы CANCEL могут быть сформированы и переданы и прокси-серверами, и клиентами агента пользователя. Раздел 4.4 описывает, при каких условиях UAC отменит запрос INVITE, в разделе 5.2 дано описание использования запроса CANCEL прокси-сервером. |

