Назад | Перейти на главную страницу

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 Type: IAX     Subclass: NEW
   Timestamp: 00004ms  SCall: 00043  DCall: 00000 [x.x.x.x:4569]
   VERSION         : 2
   CALLED NUMBER   : 0845[obfuscated]
   CODEC_PREFS     : ()
   CALLING NUMBER  : anonymous
   CALLING PRESNTN : 0
   CALLING TYPEOFN : 0
   CALLING TRANSIT : 0
   CALLING NAME    :
   LANGUAGE        : en
   USERNAME        : [obfuscated]
   FORMAT          : 8
   CAPABILITY      : 65407
   ADSICPE         : 2
   DATE TIME       : 2010-12-03  12:18:58

Вот в чем разница. После успешного вызова я вижу подтверждение аутентификации, отправляется сообщение AUTHREQ, за которым следует ответ AUTHREP. Для подключений, которые не работают, Я никогда не видел этого подтверждения аутентификации (ни AUTHREQ, ни AUTHREP).

Тот факт, что сообщение NEW проходит через брандмауэр и правильно принимается Trixbox, подтверждает мое мнение о том, что это не проблема брандмауэра. Поэтому я думаю, что суть проблемы в том, что по какой-то причине мой Trixbox решает, что ему не нравится входящий звонок, и даже не запрашивая удаленный ящик для аутентификации. Что могло бы вызвать это? Как я могу решить эту проблему дальше? Любые предложения с благодарностью получены на данный момент, потому что я натолкнулся на кирпичную стену.

Хорошо, у меня только что это произошло между более старой коробкой PiaF (1.4) и новой, работающей со звездочкой 1.6.

Оказывается, новая звездочка добавила некоторые функции безопасности, которые необходимо отключить для обеспечения совместимости. На самом деле оказалось, что сообщения были в файле журнала звездочки, хотя я потратил 2 часа, прежде чем их увидел:

[2011-01-18 02:39:01] ОШИБКА [15257] chan_iax2.c: Вызов отклонен, требуется поддержка CallToken. В случае непредвиденной ситуации устраните проблему, поместив адрес XXXXXXX в необязательный список calltoken или установив для пользователя XYZ requirecalltoken = no

Поэтому я добавил requirecalltoken = no в раздел ДЕТАЛИ ПОЛЬЗОВАТЕЛЯ на сервере asterisk 1.6, и все было исправлено. Хм, я вижу, что у меня есть requirecalltoken = auto в разделе Outgoing на другой стороне, но я не считаю, что это необходимо. Мне придется запланировать время простоя, чтобы разобраться с этим.

Об этом есть PDF-файл по адресу: http://downloads.asterisk.org/pub/security/IAX2-security.pdf