Описание проблемы: Заказчик использует в своей внутренней сети IP-телефоны, которые регистрируются на внешнем SIP-сервере провайдера. Такой тип сервиса провайдеры обычно называют "Облачная телефония" или "Виртуальная АТС".
Проблема заключается в том что после включения питания IP-телефона он успешно регистрируется на АТС и можно успешно совершать входящие и исходящие вызовы. Но если не пользоваться телефоном некоторое время, входящая связь становиться недоступна.
Если проверить исходящую связь в этот момент, она работает без замечаний.
Решение проблемы с пояснением: При настройках по-умолчанию сетевая активность телефона ограничена только SIP-сообщениями регистрации на сервере Register в сторону сервера. Как часто они отсылаются можно посмотреть в настройках телефона, либо в сетевом дампе. В сетевом дампе необходимо смотреть поле Expires. Рекомендуемое значение 1800 с. После истечения 2/3 этого времени телефон должен сделать повторную регистрацию.
192.0.2.2.5060 > 198.51.100.2.5060: SIP, length: 513 REGISTER sip:198.51.100.2 SIP/2.0 Via: SIP/2.0/UDP 192.0.2.2;rport;branch=z9hG4bKNpg75QcXBXe2e Max-Forwards: 70 From: <sip:101@198.51.100.2>;tag=Ng8ZeXKy12yQp To: <sip:101@198.51.100.2> Call-ID: aabd5f3e-c597-123c-ad93-e45ad4fa5fd4 CSeq: 39 REGISTER Contact: <sip:101@192.0.2.2:5060> Expires: 1800 User-Agent: VP-20P/1.4.0-b10 sofia-sip/1.21 Allow: INVITE, ACK, BYE, CANCEL, OPTIONS, PRACK, MESSAGE, SUBSCRIBE, NOTIFY, REFER, UPDATE, INFO Supported: timer, 100rel, replaces, path Content-Length: 0
Далее посмотрим таймеры, сконфигурированные на ESR. Время жизни NAT сессии для UDP трафика определяется таймером UDP Assured.
R# show ip firewall sessions configuration Sessions: Main table: 64000 Expect table: 256 Timeouts: Generic: 60 ICMP: 30 ICMPv6: 30 TCP Connect: 60 TCP Disconnect: 30 TCP Estabilished: 120 TCP Latecome: 120 UDP Assured: 180 Udp Wait: 30
Через 3 минуты при условии отсутствия трафика UDP сессия будет удалена из таблицы NAT трансляций. После этого ESR будет отбрасывать входящий трафик, который предназначался этой удаленной сессии.
Для решения проблемы в телефонах производства Элтекс (например модель VP-20P) есть возможность настроить метод контроля основного сервера — выбор метода контроля доступности основного SIP-сервера в режиме Homing:
Invite — контроль посредством передачи на его адрес запроса INVITE при совершении исходящего вызова;
Register — контроль посредством периодической передачи на его адрес сообщений REGISTER;
Options — контроль посредством периодической передачи на его адрес сообщений OPTIONS.
После настройки телефон отсылает SIP-серверу каждые 30 сек сообщения OPTIONS. Наличие трафика не дает закрыться NAT-трансляции. Проблема с отсутствием входящей связи решена.
Также как вариант решения проблемы можно рассмотреть увеличить на ESR значение таймера UDP Assured до 2/3 от значения Expires. Тоесть для нашего примера с Expires = 1800:
R(config)# ip firewall sessions udp-assured-timeout 1300
hostname R interface gigabitethernet 1/0/1 description "LAN" ip firewall disable ip address 192.0.2.1/24 exit interface gigabitethernet 1/0/4 description "WAN" ip firewall disable ip address 198.51.100.1/24 exit ip firewall sessions tracking sip nat source ruleset test to interface gigabitethernet 1/0/4 rule 10 action source-nat interface enable exit exit exit ip firewall sessions udp-assured-timeout 1300 nat alg sip