Добрый день,
Пытаюсь разобраться со следующей проблемой. У клиента несколько транков, при этом три номера. Все это вертится у него под trixbox. Я перевожу это все в asterisk 1.8, все готово осталось подключить транки, но в упор не могу понять как он принимает звонки. До этого имел дело только с SIP, там встречал случаи либо когда есть register в sip.conf либо тунель до провайдера. Тут сервер с trixbox за фаерволом, но не нашел нигде строчки register. iax2 show registry - пусто. Подскажите как оно может работать?
Перефразируя вопрос:
Как сделать возможным прием звонков используя IAX2 транк
Добавлено
У клиента был IAX транк триксбоксе при выводе iax2 show peers у него получаю
Name/Username Host Mask Port Status
VoipTalk_IAX/84 217.14.138.130 (S) 255.255.255.255 4569 OK (49 ms)
019xxxxxxxx/019 (Unspecified) (S) 0.0.0.0 4569 Unmonitored
в iax.conf это выглядело так
[019ххххххххх]
disallow=all
context=incoming
type=friend
username=019ххххххххх
allow=g729
[VoipTalk_IAX]
disallow=all
host=iax5.voiptalk.org
secret=XXXXXXXXXXX
type=peer
username=844xxxxxx
allow=g729
qualify=yes
У меня в астериске 1.8 это выглядит так
Name/Username Host Mask Port Status
019ХХХХХХХХ/019 (null) (S) 0.0.0.0 0 Unmonitored
voiptalk/844ххх 217.14.138.130 (S) 255.255.255.255 4569 OK (48 ms)
мой файл iax.conf
[voiptalk]
host=iax5.voiptalk.org
secret=XXXXXX
type=peer
username=844XXXXXX
disallow=all
allow=ulaw
allow=alaw
allow=g729
qualify=yes
[019XXXXXXXX]
disallow=all
context=incoming
type=friend
username=019XXXXXXXX
allow=g729
Звонки должны приходить на номер 019xxxxxxxx но в ответ только User busy и лог астериска молчит, то есть до него даже не доходит. В триксбоксе работает. Думаю разница в том что iax2 show peers в триксбоске показывает для 019xxxxxxxx порт 4569 а в моей системе нет, и хост у меня Null а там Unspecified, главный вопрос почему и как исправить?
Решено,
Проблема была в фаерволе, он заворачивал трафик от провайдера на триксбокс, а не на новый сервер.
Спасибо всем
1) для начала сделайте iax debug и посмотрите, падает ли что-нибудь в стек IAX или нет. Можете попробовать просто дамп изучить в wireshark
2) у вас описании пира 019XXXXXXXX нету поля host, это неправильно. Это поле должно содержать либо dynamic либо адрес/имя сервера. Авторизация, да и вообще распознавание звонка происходит либо сочетанию адрес/порт/digest либо по адрес/порт, у вас ее нету.
3) ну и само собой в контексте incoming должен быть прописан DID, на который приходят звонки от провайдера, типа так:
exten => 019XXXXXXXX,1,GoTo(ring-groups, 600, 1)
по поводу третьего пункта то понятно, но там я хотя бы увиде бы сообщение что для этого контекста экстеншн не найден, по поводу второго, не понятно, в варианте с триксбоксом же такого нет и как то работает, может там где то еще может быть подобное прописано? попробовал дописать хост появился порт и хост но все равно мне отвечает что номер занят, да и в случае с триксбоксом для этого пира не было айпи, просто порт висел. (
godlike ( 2012-01-07 12:49:34 +0400 )редактироватьможет быть дело в том что сервер находится за фаерволом?
godlike ( 2012-01-07 15:33:18 +0400 )редактироватьесли за натом то нужно конечно это учитывать! на трикбокс наверняка проброшены порты 5060 и rtp
DJs3000 ( 2012-01-07 16:07:15 +0400 )редактироватьно это же IAX тут один порт для всего и по идее он должен делать дырку в нате
godlike ( 2012-01-07 16:13:32 +0400 )редактироватьи кстати, я попробовал этот конфиг на своем сервере с реальным айпи без всяких натов и фаерволов результат тот же
godlike ( 2012-01-07 16:14:39 +0400 )редактироватьа да точно тут один порт на всё) тут не так всё просто) если лепим на реальный ip то в конфиге нужно указать что за сеть дабы пакеты отсылались с правильным ip
DJs3000 ( 2012-01-07 17:13:33 +0400 )редактироватьЕсли транк только на вход, тогда либо порт IAX должен быть проброшен, либо должна быть регистрация на провайдере. Ни того ни другого - нет. Попробовать прописать хост провайдера - не пробовали. Сделать дамп - не пробовали. Для кого тут распинаемся? Приехать сделать чтоли?
switch ( 2012-01-07 20:02:56 +0400 )редактироватьда при чем тут порт, я же написал что пробовал на сервере без фаервола и точно так же не работало, пробовал писать хост, тоже не помогло
godlike ( 2012-01-08 13:05:51 +0400 )редактироватьрегистрации нет, в триксбоксе нет регистрации и работает
godlike ( 2012-01-08 13:06:46 +0400 )редактироватьКнижек не читал кроме "Asterisk будущее телефонии" IAX2 транк намного проще конфигурить в отличие от sip. Строка регистрации вроде там есть но у меня всё работает и без неё а всего лишь настраиваю пир и вперед) я например пишу:
[officeSpb]
host=192.168.1.111
type=friend
disallow=all
allow=g729
qualify=yes
context=from-internal
Добавьте тег репетиторство и стоимость за час.
Или начните всё таки с хоть какой-нибудь статьи, к примеру с этой -
Формат имен IAX каналов, использующийся для входящих вызовов довольно прост:
IAX[[<username>@]<host>]/<callno> Нигде такой строки или даже подобной ей нету, просмотрел все файлы iax_ iaxadditional.conf iaxcustom.conf iaxgeneraladditional.conf iaxregistrations.conf iax.conf iaxcustompost.conf iaxgeneralcustom.conf iaxregistrations_custom.conf
godlike ( 2012-01-05 17:06:16 +0400 )редактироватьПочитайте книжку чтоль про пиры , контексты , виды пиров , сигнализацию и прочее. IAX2 пир похож на пир SIP . А вообще неплохо бы взглянуть на лог при поступлении вызова , а то глупо гадать куда приходит вызов , не смотря в лог файлы.
zzuz ( 2012-01-05 17:13:36 +0400 )редактироватьИ к вашему "перефразированию" - Файл конфигурации iax.conf.
Был бы очень рад , если бы Вы начали хоть что-нибудь читать по вашей теме.
zzuz ( 2012-01-05 17:15:46 +0400 )редактироватьсейчас нету времени читать книги, я задал вопрос, как еще может происходить прием звонка по IAX2 если нету никаких register. Есть только описание пиров в файле iax_additional.conf
godlike ( 2012-01-05 17:25:50 +0400 )редактироватьне сочтите за неуважение но помоему тематика данного ресурса предполанает вопрос - ответ а не вопрос - ответ "иди читай" Естественно что в книгах все написано.
godlike ( 2012-01-05 17:32:50 +0400 )редактироватьА собственно вопроса и нет. Есть только "не работает". Логи не читаны , конфиги не поняты. Могу ответить без "иди читай". Ответ прост - чтобы работало, нужно правильно настроить транки , входящую и исходящую маршрутизацию. А тематика русурса не в репетиторстве , мне более кажется что тематика скорее всего в схеме "у меня вот тут конфиг такой в таком то файле для системы такой то версии, не получается корректно настроить , в логах вот выдает такую-то информацию, не могу понять , где ошибка".
zzuz ( 2012-01-05 17:47:26 +0400 )редактироватьсогласен, с моей стороны вопрос некорректен, просто думал сразу будет ответ типа "да там есть такой файлик конфига в котором то да се указывается для того что бы могли приходить звонки" Но раз с наскоку не получилось то попробую предоставить больше инфы. Просто переношу на новый сервер транки когда закончится рабочая неделя, тогда и будут логи, а может все заведется, не хочется что бы работало и слава богу, хочется понимать то что происходит. Проблематику уже описал, register не вижу есть описание пиров, не могу понять как сервер провайдера будет понимать куда отправить входящий вызов если нет register !
godlike ( 2012-01-05 18:05:07 +0400 )редактироватьЗадан: 2012-01-05 15:21:49 +0400
Просмотрен: 3,110 раз
Обновлен: Jan 08 '12
Проект компании "АТС Дизайн"
Asterisk® и Digium® являются зарегистрированными торговыми марками компании
Digium, Inc., США.
IP АТС Asterisk распространяется под лицензией
GNU GPL.