Расключение абонент...
 

Расключение абонентов по транкам

21 Записи
2 Пользователи
0 Reactions
70 Тыс. Просмотры
(@dyuk)
Estimable Member
Присоединился: 8 лет назад
Записи: 157
Создатель темы  

Подскажите пож-та, как развести отдельные внутренние номера или группы на разные транки? Из статьи я понял, что после создания нового номера (пира) или группы нужно добавить транк с настройками.  Это когда один - всё понятно и работает. А если несколько транков?, то как правильно расключить их по внутренним номерам или группам  в sip.conf и extensions.conf ?


   
ОтветитьЦитата
(@zerox)
Prominent Member Admin
Присоединился: 11 лет назад
Записи: 926
 

Я хотел написать пример того, как это делается, но пока не дошли руки. Смысл такой. Транки нужно разнести в разные контексты и юзеров добавить в эти контексты, которые соответствуют нужным транкам. В моем примере все транки и юзеры в одном контексте. По сути это не сложно сделать.


   
ОтветитьЦитата
(@dyuk)
Estimable Member
Присоединился: 8 лет назад
Записи: 157
Создатель темы  

А пример контекстов можете показать?


   
ОтветитьЦитата
(@zerox)
Prominent Member Admin
Присоединился: 11 лет назад
Записи: 926
 

Они могут быть абсолютно одинаковые, просто с разными названиями. Завтра покажу пример с рабочего сервера с разными транками.


   
ОтветитьЦитата
(@dyuk)
Estimable Member
Присоединился: 8 лет назад
Записи: 157
Создатель темы  

Буду очень благодарен...


   
ОтветитьЦитата
(@zerox)
Prominent Member Admin
Присоединился: 11 лет назад
Записи: 926
 

Вот пример:

sip.conf

register => 74952222222:EHh3szerg@binatel.org/74952222222
register => 74951111111:nS8Teayy6@binatel.org/74951111111

[num-74951111111]
username=74951111111
type=peer
transport=udp
secret=nS8Teayy6
qualify=yes
nat=no
insecure=port,invite
host=binatel.org
fromuser=74951111111
fromdomain=binatel.org
encryption=no
dtmfmode=rfc2833
disallow=all
canreinvite=no
allow=alaw
context=ext-in

[num-74952222222]
username=74952222222
type=peer
transport=udp
secret=EHh3szerg
qualify=yes
nat=no
insecure=port,invite
host=binatel.org
fromuser=74952222222
fromdomain=binatel.org
encryption=no
dtmfmode=rfc2833
disallow=all
canreinvite=no
allow=alaw
context=ext-in

extensions.conf

;Входящие все
[ext-in]
exten => 74951111111,1,Goto(1-ivr,s,1)
exten => 74952222222,1,Goto(2-ivr,s,1)

;Исходящие 74951111111
[74951111111-out]
;Звонок на внутренний номер
exten => _XXX,1,Dial(SIP/${EXTEN})
;Внешний
exten => _XXX.,1,Dial(SIP/${EXTEN}@num-74951111111)

;Исходящие 74952222222
[74951111111-out]
;Звонок на внутренний номер
exten => _XXX,1,Dial(SIP/${EXTEN})
;Внешний
exten => _XXX.,1,Dial(SIP/${EXTEN}@num-74952222222)

Только не проси объяснить, что есть что. Разжевывать не буду. Людей добавляешь в экстеншены, либо 74951111111-out, либо 74952222222-out.


   
ОтветитьЦитата
(@dyuk)
Estimable Member
Присоединился: 8 лет назад
Записи: 157
Создатель темы  

Спасибо конечно за внимание, но это не помощь. Как ответ на вопрос - Да! "Разжевывать" - не надо, помочь разобраться - ну ... наверно для этого форум.

Вопросы по примеру:

sip.conf:  Транки необходимо вставлять в самом конце файла после перечисления всех пиров (групп), все по очереди (транки),  или после того пира (группы), к которому этот транк будет привязан? Или это не важно?

extensions.conf: Добавление людей в экстеншены: Как правильно указать, если это один номер, или если это группа (под шаблоном)?

p.s: Может подскажите, где посмотреть (изучить) аргументы команд (приложений) экстешенов и как правильно их использовать? А то вот вроде и всё понятно по примеру в статье, а очередь секретарей на голосовую почту, при не ответе, никак отправить не получается. А в чём ошибка не пойму (тема "Настройки Dial плана"). 

 

 


   
ОтветитьЦитата
(@zerox)
Prominent Member Admin
Присоединился: 11 лет назад
Записи: 926
 

У меня нет возможности разбираться в чужих конфигурациях. Подсказать или помочь я могу, ответив на вопрос, который мне знаком, но не решать вопросы по настройке. В интернете очень много информации по астериск. Я успел затронуть только малую часть, базу. На основе этой базы каждый может сам дальше своими силами настроить то, что ему нужно, если базы не хватает. 


   
ОтветитьЦитата
(@dyuk)
Estimable Member
Присоединился: 8 лет назад
Записи: 157
Создатель темы  

C расключением по транкам разобрался, если кому надо, могу выложить полные конфиги, всё работает! Но по ходу возникла другая проблема - перестала работать голосовая почта, т.е. после не ответа в течении 15 сек, следует сразу "абонент не доступен", без предложения оставить соообщение на гол.почту.  Остальные события срабатывают правильно. Voicemail перестал срабатывать после того, как установил GUI Asterisk. Потестил немного - не понравилось,  вернул старые sip и extensions.conf на место, а вот голосовая почта перестала включаться. Чё то gui этот куда то прописал что ли? Где посмотреть нужно чтобы вернуть гол.почту? Причём управление почтой (звонок на 500) работает.

Конфиг сейчас такой (по образцу в статье):

;Исходящие 494700
[494700-out]
;Комната для конференций
exten => 999,1,Answer()
exten => 999,n,ConfBridge(1,confer)
;Номер для записи звуков, окончание записи #
exten => _35X, 1, NoOp()
exten => _35X, n, Wait(2)
exten => _35X, n, Playback(beep)
exten => _35X, n, Record(/tmp/music${EXTEN:2}:wav)
exten => _35X, n, Wait(1)
exten => _35X, n, Playback(/tmp/music${EXTEN:2})
exten => _35X, n, Wait(2)
exten => _35X, n, Hangup()
;Управление голосовой почтой
exten => 500,1,VoiceMailMain()
;Звонок на внутренний номер
exten => _XXX,1,Macro(recording,${CALLERID(num)},${EXTEN})
exten => _XXX,n,Dial(SIP/${EXTEN},15,m)
exten => _XXX,n,Set(dstNUM=${EXTEN})
exten => _XXX,n,GotoIf($["${SIPPEER(${EXTEN},status)}" = ""]?num-not-exist,1)
exten => _XXX,n,GotoIf($["${SIPPEER(${EXTEN},status):0:2}" = "UN"]?num-not-connected,1)
exten => _XXX,n,ChanIsAvail(SIP/${EXTEN},s)
exten => _XXX,n,GoToIf($[${AVAILSTATUS} = 2]?num-BUSY,1)
exten => _XXX,n,GoToIf($[${AVAILSTATUS} = 3]?num-BUSY,1)
exten => _XXX,n,Goto(num-${DIALSTATUS},1)
exten => num-not-exist,1,Wait(2)
exten => num-not-exist,n,Playback(invalid)
exten => num-not-connected,1,Wait(2)
exten => num-not-connected,n,Playback(ss-noservice)
exten => num-BUSY,1,Wait(2)
exten => num-BUSY,n,Playback(vm-isonphone)
;Если номер не отвечает, включаем голосовую почту
exten => num-NOANSWER,1,Wait(2)
exten => num-NOANSWER,n,Voicemail(${dstNUM},u)
exten => num-CHANUNAVAIL,1,Wait(2)
exten => num-CHANUNAVAIL,n,Playback(vm-isunavail)
;Внешний
exten => _XXX,1,Macro(recording,${CALLERID(num)},${EXTEN})
exten => _XXX.,1,Dial(SIP/${EXTEN}@num-494700)
include => handup-sip

Хотя в cdr viewer в графе "Приложение" показано VoiceMail (верхняя строчка на скриншоте).

И ещё вопрос уже по записи звонков: Не создаются файлы записи при звонках на внешние номера, вернее они создаются, если посмотреть папку с записями, но имеют размер 864 bytes, т.е пустые, и в базу mysql поэтому не попадают (скриншот 2). С внешних и внутренних звонков всё работает правильно (на скриншоте видно). Почему такая избирательность?, где ошибка?


   
ОтветитьЦитата
(@dyuk)
Estimable Member
Присоединился: 8 лет назад
Записи: 157
Создатель темы  

Скриншот 2


   
ОтветитьЦитата
(@dyuk)
Estimable Member
Присоединился: 8 лет назад
Записи: 157
Создатель темы  
От: Александр

;Внешний
exten => _XXX,1,Macro(recording,${CALLERID(num)},${EXTEN})
exten => _XXX.,n,Dial(SIP/${EXTEN}@num-494700)
include => handup-sip

Хотя в cdr viewer в графе "Приложение" показано VoiceMail (верхняя строчка на скриншоте).

И ещё вопрос уже по записи звонков: Не создаются файлы записи при звонках на внешние номера, вернее они создаются, если посмотреть папку с записями, но имеют размер 864 bytes, т.е пустые, и в базу mysql поэтому не попадают (скриншот 2). С внешних и внутренних звонков всё работает правильно (на скриншоте видно). Почему такая избирательность?, где ошибка?

C созданием файлов записей звонков разобрался: ошибку выделил красным - нет точки после _XXX  - Это внешний номер, поэтому план набора _ХХХ.
А вот с голосовой почтой непонятно...


   
ОтветитьЦитата
(@zerox)
Prominent Member Admin
Присоединился: 11 лет назад
Записи: 926
 

С голосовой почтой тоже ошибка скорее всего где-то в диалплане. Рекомендую внимательно сравнить то, что есть у тебя, с моими примерами в статье. Если все точно и ошибок в конфиге нет, то надо дебаг включать в логах и смотреть, что там пишет интересного. Ну и на всякий случай сам конфиг голосовой почты посмотреть, может там что изменилось.

Чем gui не понравился?


   
ОтветитьЦитата
(@dyuk)
Estimable Member
Присоединился: 8 лет назад
Записи: 157
Создатель темы  

С голосовой почтой разобрался: Ошибка оказалась в voicemail.conf

Нашёл бэкап конфига до установки gui и сравнил. Предположение оказалось верным - gui вписал туда строки:

после

; from within VoiceMailMain() will not be permitted.
sendvoicemail = yes  ; Allow the user to compose and send a voicemail while inside

emailonly = no
emailsubject =
emailbody =
maxgreet =
operator = no
maxmsg =
maxmessage =
minmessage =
saycid = yes
sayduration = no
envelope = no
review = no

и вписал их без значений (а ведь всё это есть в [general], только закоментировано). Поэтому наверно и перестала откликаться гол.почта. Закоментировал их и всё заработало. Скорее всего подразумевалась настройка г/п уже через gui.

Не понравился gui - наверно не правильно выразился. Просто пока не захотелось разбираться с теми изменениями, которые вносит в конфиги автогенерация gui. Сходу не получилось настроить входящую маршрутизацию вызовов (исходящие пошли сразу), а разбираться с тем, что он там нагенерировал в extensions.conf пока нет времени. А может просто конфликтует с тем, что уже есть в конфигах и надо с чистого листа начинать настраивать asterisk через него (gui). Вернусь ещё к нему, это точно...

 


   
ОтветитьЦитата
(@zerox)
Prominent Member Admin
Присоединился: 11 лет назад
Записи: 926
 

Все верно, если использовать любой gui, то настраивать надо с нуля и только через него. Это касается в том числе и freepbx и elastix. 


   
ОтветитьЦитата
(@dyuk)
Estimable Member
Присоединился: 8 лет назад
Записи: 157
Создатель темы  

Вопрос по приведённому Вами примеру в сообщении от 26.10.16:

sip.conf
register => 74952222222:EHh3szerg@binatel.org/74952222222

EHh3szerg - что это такое?
Пытаюсь по этому образцу зарегать линии шлюза, указывая после @ адрес астера. Регистрируются, но непонятно что это EHh3szerg?

   
ОтветитьЦитата
Страница 1 / 2
Используешь Telegram? Подпишись на канал автора →
This is default text for notification bar