Проблема с INVITE через a2billing
Прошу помочь в решении проблемы, которая заключается в следующем:
поставил Asterisk 1.6, настроил. Все работает.
Прикрутил к нему A2Billing 1.7.1 (Larch). Перестали работать исходящие.
После анализа логов сигнализации выяснилось, что при INVITE через a2billing в поле From вставляется SIP-URI локального юзера, а не юзера транка. Соответственно, авторизация не проходит.
Выглядит это так:
| Код: | |||||||||
| INVITE sip:322XXXXXXXX@sip.poivy.com SIP/2.0 Via: SIP/2.0/UDP 85.X.X.X:5060;branch=z9hG4bK0bc9ad92;rport Max-Forwards: 70 ---> From: "AsteriskUSER" ; | |||||||||
у вас в каждом посте разная версия билинга, так всеже - какая именно? 1.6, 1.7 или 1.8??
откуда вы взяли этот пример? при использовании AGI билинг не будет правильно считать, это давно известно всем. В инструкции написано использовать DeadAGI, почему ей не следуете? кстати даже на форуме a2b пытались обратить ваше внимание на этот момент но вы проигнорировали. ps: у провайдеров обычно регистрируются через
_________________ «Choose a job you love, and you will never have to work a day in your life» — Confucius | |||||||||
| Спасибо за ответ. Да, каюсь. Перепробовал все версии, Отсюда и путаница На данный момент стоит версия 1.7. Сначала DeadAGI был исправлен на AGI, так как увидел "совет" в логах. Затем было исправлено на DeadAGI. Вечером перепощу актуальную на данный момент кнфигурацию. извиняюсь за сумбур в ранее данной информации | |||||||||
| Итак, что имеем на данный момент: * PBX in a Flash Version : 1.7.5.5 * FreePBX Version : 2.6.0.2 * Running Asterisk Version : Asterisk 1.4.21.2 * A2Billing 1.7.1 additional_a2billing_sip.conf
extensions_a2billing.conf
Далее делаем звонок:
Уже видим что From неверный далее идет SIP/2.0 100 Trying затем SIP/2.0 401 Authentication required в ответ же вместо INVITE с авторизацией шлем ACK sip:32XXXXXXXX@sipnet.ru ..... .... От провайдера получаем [2010-10-26 20:56:11] NOTICE[3481] chan_sip.c: Failed to authenticate on INVITE to '"1112152488" ;tag=as5b9192ce' Далее меняю extension a2billing на exten => _X.,1,Dial(SIP/${EXTEN}@sipnet) делаем звонок (не буду утолять длинными логами)
далее обычный SIP диалог без каких-либо отклонений Звонок проходит без проблем Как говорилось, до этого ставил систему с нуля с Asterisk 1.6 и A2billing 1.8 Проблема была аналогичная. PIAF ставил с установочного диска разработчика. | |||||||||
вы невнимательны
релоадим астериск и далее смотрим прошла ли регистрация: sip show registry _________________ «Choose a job you love, and you will never have to work a day in your life» — Confucius | |||||||||
| Извиняюсь, это не было игнорированием. Регистрация делалась немного другим способом. Но, разве регистрация влияет на возможность звонков? SIPNET регистрации не требует, достаточно авторизации при INVITE, но именно с ней и проблемы. На всяких случай, выполнил Ваши рекомендации. Host Username Refresh State Reg.Time sipnet.ru:5060 2555555 99 Registered Wed, 27 Oct 2010 19:02:45 но проблему, к сожалению, это не решило. | |||||||||
| ну значит кривые настройки на сипнет. Added after 4 minutes:
Added after 3 minutes: кстати
Answer делать не нужно, это задается в самом билинге уже - отвечать на звонок или нет. замените на exten => _X.,1,NoOp() _________________ «Choose a job you love, and you will never have to work a day in your life» — Confucius | |||||||||
| Проверил. Тоже самое. настройки транка здесь, скорее всего не причем. Ведь мимо биллинга звонки идут без проблем. Extension брались с сайта A2B из мануалов. Проблема точно в настройках а2b, либо в какой-то системной переменной, из-за которой а2b никак не хочет ставить в INVITE в поле From данные юзера из транка, несмотря на указанные fromdomain и fromuser Помню, что на каком-то форуме натыкался на человека, который имел такие же проблемы. Решения указано не было, да и в то время биллинг не нужен был. А сейчас, к сожалению, даже найти тот форум не могу. | |||||||||
| я кажется понял в чем дело. как именно описан транк в самом биллинге? там не должно быть пароля и логина, только имя транка которое описано в конфиге астериска. другими словами в билинге не должно быть отдельно снова настроено на провайдера транк - он уже в астериске описан, его и юзать из билинга. _________________ «Choose a job you love, and you will never have to work a day in your life» — Confucius | |||||||||
| >>там не должно быть пароля и логина, только имя транка которое описано в конфиге астериска. Там нет такой возможности. Но, благодаря Вашим советам, нашел это: Поле PROVIDER IP. К нему пояснения: Set the IP or URL of the VoIP provider. Alternatively, put in the name of a previously defined trunk in Asterisk or FreePBX. (MyVoiPTrunk, ZAP4G etc.) Я писал не имя транка, а адрес провайдера, то есть в нашем случае sipnet.ru, что в принципе и рекомендовано по умолчанию Заменил на sipnet и все ЗАРАБОТАЛО!!!!! Вы даже не представляете как я Вам благодарен.
| |||||||||
| Вы меня не поняли. Обьясняю на пальцах: если у вас в sip.conf транк сипнета описан в секции [sipnet] то в билинге в том поле что вы нашли уже - пишем имя транка а именно "sipnet", без ковычек естестно. В этом случае билинг использует транк описанный в астериске, что собственно я и сказал в предыдущем своем посте. То что заработало - это еще полдела, важно понять _почему_ это заработало. _________________ «Choose a job you love, and you will never have to work a day in your life» — Confucius | |||||||||
| Еще раз спасибо. Я понял. | |||||||||
