Страница 1 из 2

соединение трех серверов Asterisk по iax

Добавлено: 24 янв 2013, 17:27
StasStryukov
Здравствуйте, добрые люди.
Давеча решил связать три астериска, дабы можно было звонить с помощью iax протокола.
Первому филиалу выделил диапазон номеров от 1-49
Второму от 50 до 59
Третьему от 60 до 69

iax конфиг настроил, сервера друг друга видят.
Однако при попытке звонка (к примеру на второй сервер) высвечивается ошибка:
на том, с которого звонят

Код: Выделить всё

 WARNING[17450]: chan_iax2.c:10724 socket_process: Call rejected by : No such context/extension
    -- Hungup 'IAX2/disel-17756'
  == Everyone is busy/congested at this time (1:0/0/1)
    -- Executing [53@con1:2] Hangup("SIP/15-0000008b", "") in new stack
  == Spawn extension (con1, 53, 2) exited non-zero on 'SIP/15-0000008b'
на том, которому звонят

Код: Выделить всё

Rejected connect attempt from , request '53@internal' does not exist
При том, что внутренняя телефония работает прекрасно.
Конфиг экстеншена и iax сервера, с которого звонят

Код: Выделить всё

[remote_disel]
exten => _5X,1,Dial(IAX2/disel/${EXTEN})
exten => _5X,n,Hangup()

[internal]
exten => _[1-4]X,1,Dial(SIP/${EXTEN},30)
exten => _[1-4]X,n,Hangup()

Код: Выделить всё

[general]
calltokenoptional=0.0.0.0/0.0.0.0
requirecalltoken=no
;bind=192.168.1.4
autokill=yes
disallow=all
allow=ulaw
register => agroplus:...@....
register => agroplus:...@....

[disel]
qualify=yes
nat=yes
;maxcallnumbers = 16382
;requirecalltoken=no
;calltokenoptional = 46.159.47.121/255.255.255.255
type=friend
host=....
trunk=yes
secret=....
context=internal
;deny=0.0.0.0/0.0.0.0
;permit=192.168.1.107/255.255.255.255

[kalininskaya]
qualify=yes
nat=yes
type=friend
host=...
trunk=yes
secret=...
context=internal
Конфиг экстеншена и iax сервера, на который звонят

Код: Выделить всё

[internal]
exten => _5X,1,Dial(SIP/${EXTEN},20)
exten => _5X,n,Hangup()

[remote_agroplus]
exten => _[1-4]X,1,Dial(IAX2/agroplus/${EXTEN})
exten => _[1-4]X,n,Hangup()

Код: Выделить всё

[general]
calltokenoptional=0.0.0.0/0.0.0.0
requirecalltoken=no
autokill=yes
disallow=all
allow=ulaw
register => disel:...@...
register => disel:...@...

[agroplus]
qualify=yes
nat=yes
;maxcallnumbers = 16382
;calltokenoptional = 0.0.0.0/0.0.0.0
;requirecalltoken=no
type=friend
host=...
trunk=yes
secret=...
context=internal
;deny=0.0.0.0/0.0.0.0
;permit=192.168.1.107/255.255.255.255

[kalininskaya]
qualify=yes
nat=yes
type=friend
host=...
trunk=yes
secret=...
context=internal
Т.е. судя по ошибке он не видит, не может набрать номер с помощью макроса? Тогда почему внутренние звонки прекрасно работают.Раньше у меня было только два сервера, все звонилось прекрасно, но я не использовал макросы, а прописывал для каждого внутреннего номера план набора. Но ввиду роста компании это стало неудобным, да и громоздко слишком, решил использовать макросы для набора номеров. В общем, объясните, пожалуйста, где я что не так понял.

Re: соединение трех серверов Asterisk по iax

Добавлено: 24 янв 2013, 18:08
awsswa
Вот ответ:
Call rejected by : No such context/extension

Вообще интересный подход у нумерованию телефонов 1 и так далее.
Нормально разделить 1ХХ - 1 офис, 2ХХ - 2 офис и так далее нельзя было ? теперь себе проблему и отгребли.

Re: соединение трех серверов Asterisk по iax

Добавлено: 24 янв 2013, 18:14
StasStryukov
Увы и ах, сервер достался мне по наследству, когда нумерация в головном офисе за 3 года уже понравилась всем, в том числе и руководству. Я предлагал, но все уже привыкли к старой))) Раньше вообще второй офис входил также в диапазон 1-50, причем в хаотичном порядке)) Его мне удалось вывести отдельно, благо там всего 8 номеров. Так а в чем может быть проблема с такой нумерацией?

Re: соединение трех серверов Asterisk по iax

Добавлено: 24 янв 2013, 18:26
ded
Проблема с шаблонами при такой нумерации. Вы уже имеете её в полный рост.
Надо было: первый офис - 10-49, и так далее. То есть - двузнаяный () внутренний номерной план.

Контесты надо было объединить, ваш [remote_agroplus] - лишний.

[internal]
exten => _5X,1,Dial(SIP/${EXTEN},20)
exten => _5X,n,Hangup() ; что за нужда везде лепить Hangup()? сделайте в контексте всего один
exten => h,1,Hangup() ; и всё!
exten => _[1-4]X,1,Dial(IAX2/agroplus/${EXTEN}) ; вот ваша двухзгначная ерунда. В такой шаблон не войдут номера 1-9
exten => _[1-4]X,n,Hangup()

или инклюднуть, на мойвзгляд можно, но не нужно, ясности не прибавит. Астериск ясно выразился
Rejected connect attempt from , request '53@internal' does not exist
потому что номер 53 в контексте
[internal]
exten => _[1-4]X,1,Dial(SIP/${EXTEN},30)
exten => _[1-4]X,n,Hangup()
не существует, он в
[remote_disel]
exten => _5X,1,Dial(IAX2/disel/${EXTEN})
exten => _5X,n,Hangup()

Re: соединение трех серверов Asterisk по iax

Добавлено: 01 фев 2013, 18:45
StasStryukov
Вернулся снова к настройке после сессии:)
Объединение не прокатило, инклюднуть тоже не получилось. Все время таже ошибка при звонках. Даже внутренняя связь не работает >< Короче буду нафиг все стирать и писать с чистого листа sip и extansions, ибо там после предшественника ужасный беспорядок остался.

Вообще странно. Шаблон internal для звонков в АгроПлюсе работает прекрасно. На дизеле же аналогичный шаблон отказывается работать, пишет, что нет экстеншена для звонка. Даже после убирания шаблона и прописывания конфига для каждого номера телефона, звонить не получилось. В сип конфиге контекст указан верный. Странности в общем какие то.

Re: соединение трех серверов Asterisk по iax

Добавлено: 01 фев 2013, 19:21
ded
Странности только в вашем воображении.
Платный суппорт терпеливо ждёт, когда Вам надоест играться, или начальство согнёт в колечко.

Re: соединение трех серверов Asterisk по iax

Добавлено: 01 фев 2013, 21:06
StasStryukov
Не, платный саппорт не вдохновляет. Не такая уж сложная задача это. На ошибках учатся ;)

Re: соединение трех серверов Asterisk по iax

Добавлено: 01 фев 2013, 21:39
april22
ded писал(а):, или начальство согнёт в колечко.
да все все прекрасно понимают , и то что платный сапорт ждет ....
но откуда подрабатывающему студенту взять денег на сапорт ? а комерсы всегдабудут выезжать на бесплатном криво настроеном софте ...

да и кому платить за сапорт - тем же комерсам ?! поэтому и спрашивает народ .

Re: соединение трех серверов Asterisk по iax

Добавлено: 01 фев 2013, 22:21
ded
StasStryukov писал(а):Не, платный саппорт не вдохновляет. Не такая уж сложная задача это.
Ну дык и я считал, что это несложная задача :) Всёё ясно и понятно -
Rejected connect attempt from , request '53@internal' does not exist
потому что номер 53 в контексте
[internal]
exten => _[1-4]X,1,Dial(SIP/${EXTEN},30)
exten => _[1-4]X,n,Hangup()
не существует
Но, похоже, не в коня корм.

Re: соединение трех серверов Asterisk по iax

Добавлено: 02 фев 2013, 00:07
StasStryukov
Не работал я астером почти три месяца вообще. Забыл. С кем не бывает. Не по тем делам я специалист. Возьму книжку в руки и вспомню. Зачем критиковать то? Вы же тоже когда то начинали с основ и не думаю, что у вас сразу все получалось. Или я не прав?