Trixbox не будет принимать входящие звонки по соединительной линии IAX
Какие -нибудь эксперты по Trixbox/ Asterisk там?
У меня есть установка Trixbox, которая отказывается принимать входящие звонки через IAX2 от определенного поставщика VoIP. Изначально я думал, что это проблема с брандмауэром, но теперь я установил, что это не так. Я перепробовал все, что мог придумать (и я не эксперт в этой области), но безуспешно. Вот что я установил:
Другой TrixBox на отдельном сайте может связываться (через IAX2) с этой установкой. Это единственный способ, которым я знаю, что это не проблема брандмауэра, и это, кажется, предполагает проблему с провайдером VoIP, но...
Поставщик VoIP может успешно работать с установкой SwitchVox, предполагая, что проблема также не полностью в поставщике VoIP. Но...
Та же самая установка SwitchVox также может связываться с моим "проблемным" Trixbox - снова подтверждая, что с Trixbox нет ничего плохого по своей сути.
Перед лицом противоречивых результатов я обратился к отладке звездочки, включение отладки IAX2 показывает, что попытка подключения получена - вот пример НОВОГО сообщения, поступающего от провайдера:
Rx-Frame Retry [No] - OSeqno: 000 ISeqno: 000 Тип: IAX Подкласс: NEW Временная метка: 00004ms SCall: 00043 DCall: 00000 [xxxx:4569] ВЕРСИЯ: 2 ВЫЗОВ НОМЕР: 0845[обфусцировано] CODEC_PREFS: () CALLING NUMBER: анонимный CALLING PRESNTN: 0 CALLING TYPEOFN: 0 CALLING TRANSIT: 0 CALLING NAME: ЯЗЫК: en ИМЯ ПОЛЬЗОВАТЕЛЯ: [обфусцирован] ФОРМАТ: 8 ЕМКОСТЬ: 65407 ADSICPE: 2 ДАТА ВРЕМЯ: 2010-12-03 12:18:58
Вот где возникает разница. При успешном вызове я затем вижу рукопожатие аутентификации, отправляется AUTHREQ с последующим ответом AUTHREP. Для соединений, которые не работают, я никогда не вижу этого подтверждения аутентификации (ни AUTHREQ, ни AUTHREP).
Тот факт, что НОВОЕ сообщение проходит через брандмауэр и правильно принимается Trixbox, подтверждает мое мнение, что это не проблема брандмауэра. Поэтому я думаю, что суть проблемы в том, что по какой-то причине мой Trixbox решает, что ему не нравится входящий вызов, и даже не запрашивает у удаленного окна аутентификацию. Что вызвало бы это? Как я могу устранить эту проблему дальше? Любые предложения с благодарностью получены в этот момент, потому что я ударил кирпичную стену.
1 ответ
Хорошо, я только что это произошло между старой коробкой PiaF (1.4) и новой, работающей под звездочкой 1.6.
Оказывается, более новая звездочка добавила некоторые функции безопасности, которые должны быть отключены, чтобы быть совместимыми. Фактически оказалось, что сообщения были в файле журнала звездочки, хотя я потратил впустую 2 часа, прежде чем их увидеть:
[2011-01-18 02:39:01] ОШИБКА [15257] chan_iax2.c: Вызов отклонен, требуется поддержка CallToken. Если неожиданно, разрешите, поместив адрес XXXXXXX в список опций calltoken или установив пользовательский XYZ requirecalltoken=no
Поэтому я добавил requirecalltoken = no в раздел USER DETAILS на сервере asterisk 1.6, и все было исправлено. Хм, я вижу, что у меня был requirecalltoken = auto в разделе Outgoing с другой стороны, но я не верю, что это необходимо. Мне нужно запланировать время простоя, чтобы узнать об этом.
Об этом можно узнать по адресу: http://downloads.asterisk.org/pub/security/IAX2-security.pdf