Дополнения от 25.02.2016
И снова здравствуйте.
Мою проблему решило несколько важных моментов.
Главной проблемой, как выяснилось, было пробиться через firewall. В нашей компании мы используем Kerio Control.
Со стороны Аскозии убрал тайминги частоты проверки доступности и проверку доступности. Также выставил для NAT "Всегда использовать NAT", DTMF режим "inband".
Со стороны Kerio Control.
+ в Аскозии в разделе Расширенные, SIP:
Обязательным условием для ТТК было значение периода для регистрации, равное 300 сек.
Касательно Дополнительных параметров:
1. Для localnet выставил внутренний ip-адрес Аскозии в локальной сети:
localnet = Для хостов, которые попадают в указанные IP сети, описанные параметром localnet, не будет включен механизм работы Asterisk, как с хостами, которые находятся за NAT. Как результат, для IP адреса источника в SIP запросах и ответах, будет использоваться внутренний IP адрес интерфейса связанный с параметром bindaddr .
2. В externip вытавил внешний ip-адрес proxy сервера, откуда и куда идут звонки от ТТК и к ТТК:
externip = Задаем IP адрес, который будет использоваться, как IP адрес источника во всех SIP сообщениях, когда работаем с SIP клиентами, для которых указан параметр NAT в yes.
3. Для canreinvate выставил значение no:
canreinvate = Это параметр для клиентов, которые описаны в файле конфигурации sip.conf, используется для информирования сервера Asterisk о том, что для данного клиента не использовать reinvite процедуру. Запрещение этого метода может потребоваться для корректной работы с некоторым "кривым" аппаратным обеспечением, которое зависает, если у него запрашивают повторный invite.
canreinvate было приравнено к no после того, как я очень долго не получал invite от ТТК работая напрямую без firewall.
Также, на всякий случай, выставил порты в диапозоне от 10000 до 20000:
Поскольку в нашей компании присутствует второй интернет-провайдер, то, для перестраховки, я завёл точно такое же правило как у ТТК для МТС в Kerio Control.
Однако, чтобы данные через другого провайдера дошли то ТТК, нужно в ТТК сообщить ваш внешний IP-адрес этого другого провайдера. Они его зарегистрируют и всё будет тип-топ.
Тесты показали положительный результат. Чтобы меня очень обрадовало.
Хотел бы ещё уточнить момент, почему нами не был использован многоканальный SIP trunk. Интернет от ТТК в в последний год часто падал (раз 6) на разное время, от 10 мин до 1 часа. Для юридического лица, у которого через сеть интернет идёт основная работа, такие задержки оборачиваются убытками. А если представить, что будет, когда и телефоны звонить не будут, то вообще ахтунг. SIP аккаунты позволяют подключиться через сеть интернет любого провайдера, что даёт возможности для манёвров. В частности, можно спокойно подключать телефоны в других городах.
P.S. Это мой первый опыт работы с графической оболочкой на базе Asterisk, да и с Asterisk вообще. Если кто увидит замечания или дополнения, прошу, опишите в комментарии к этому посту ниже. Думаю, что эта информация будет полезна не только мне, но и всем посетителям форума.
Почему считаю, что это важно?) За последний месяц этот топик собрал 1358 просмотров. Это в очередной раз доказывает актуальность темы и криворукость и плохую подготовку сотрудников ТТК в вопросе IP-телефонии. В моменты моих поисков решений наступающих проблем в настройке Аскозии я неоднократно натыкался на нерешённые топики в настройке SIP от ТТК.
Уже в течение двух недель ip-телефония функционирует в нашей компании. Могу сказать, что в целом, исправно. Если свои косяки и недостатки, но они не так критичны.
Есть один такое момент, который меня напрягает. После, практически, любого изменения настроек Аскозии через web-интерфейс, приходится перезагружать сервер asterisk. Надеюсь, кому-нибудь пригодится.
Набираем команды в консоле asterisk:
core reload (перечитываем конфиги)
sip reload (перезгружаем каналы)
И для пущей верности:
core restart now (перезагружаем ядро asterisk)
После этих команд любое изменение корректно принималось Аскозией и вступало в работу.