Home »

Шлюз D-Link DVG-600...
 

Шлюз D-Link DVG-6004S и Asterisk

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

Занимаюсь настройкой вышеупомянутого шлюза.

Вопрос: А вообще возможно ли городскую линию отправить на голосовое меню? По идее думаю - Да. Она же воспринимается астером как внешний транк? Но пока не знаю как это сделать. Сейчас работает так:

Если в "Hot Line No" (DVG-6004S, см.скрин)  указываю внутренний номер "111", то звонит на него, хотя в диалплане пишу:

exten => 111,1,Goto(1-ivr,s,1)

а если не указываю вообще ничего (DVG-6004S), говорит по английски Number, и если ввести номер (внутренний) => звонит на него.

"111" в sip.conf заведён как внутренний номер. Может его надо регестрировать как внешний транк? Пробовал, по аналогии с Zadarma, но тогда в CLI Asterisk постоянно идёт по нему ошибка: does not implement 'REGISTER', хотя в sip show peers всё ОК - регистрируется и результат с голосовым меню тот же.

Ещё есть 2 зарегистрированных транка с Zadarma, ну это помимо шлюза, с ними всё ОК, по ним голосовые меню работают, разные, разведены контекстами по разным группам абонентов, как учили..., всё ОК!


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

Для того, чтобы отправить звонок в диалплан достаточно правила:

exten => 111,1,Goto(1-ivr,s,1)

Если все равно звонит на номер, значит в диалплане правило звонка на номер стоит раньше правила для ivr. 

Городскую линию без проблем можно отправить на ivr. Если шлюз цепляется как пир, то с ним можно делать все, что угодно.


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

Подскажите пож-та, а как всё таки правильно заводить городскую линию в sip.conf как внешний транк или внутренний номер? Если регистрировать как внутренний, то как (куда) ему вписать контекст внешнего звонка? Завёл как внутренний номер - "снаружи набираю" => проходят два звонка вызова и всё, появляется на телефоне статус пропущенного, а шлюз всё звонит, т.е идут нормальные длинные гудки у звонящего, т.е. aster не понимает наверно что с ним делать, так?, а шлюз тупо долбит в указанный в  "Hot Line No", и в голосовое меню его тоже не отправить поэтому? Входящий контекст вписан только ведь у внешних транков.

Или же городскую линию надо заводить как внешний транк? Тогда как правильно его прописать в sip.conf. Пробовал по аналогии с Zadarma - не работает, хотя и регистрируется.

Если как внутренний номер - работает, но тогда куда ему вставить контекст внешнего входящего звонка, а то "совсем беда".

И ещё, не подскажите, что надо вписывать в выделенные строки на скрине (DVG-6004S) и что они означают?, ну если сталкивались с таким шлюзом или знаете.


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

Похоже asterisk воспринимает воспринимает линию шлюза только как внутренний номер. Как и куда вписать ему (этому номеру) контекст входящих с города звонков?, что то не разберусь никак, подскажите пож-та. Исходящие наружу работают нормально, входящие с наружи тоже, если только успеешь поднять трубку за первые 2а гудка. 

И ещё вопросик: При регистрации шлюза в CLI  Asterisk постоянно идёт ошибка, см.скрин: 192.168.0.30 - адрес шлюза, 1001 - номер линии на шлюзе (он же внутренний номер asterisk)


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

Настройка и подключение fxo портов к астериск зависит исключительно от конкретного устройства. В астериске они видятся как обычные пиры и работать с ними можно стандартным способом. Все остальное настраивается на самом шлюзе. Я последний раз настраивал вот такой шлюз -  http://aledinkin.blogspot.ru/2014/10/grandstream-ht503-freepbx-asterisk.html Проблем и нюансов там очень много, нужно разбираться в каждом конкретном случае. 


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

Так всё таки как внешний или внутренний?


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

У астериска нет понятия внешний и внутренний пир. Либо я не понимаю о чем речь. Он может быть либо внутри локальной сети, либо снаружи. Но принципиально нет разницы.


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

Вы правы!, просто у меня в голове ещё не всё сложилось как надо, вот и мучаю и себя и Вас... вопросами здесь. ОК, пару дней и ночей - "бодалово_тыкало_пытаясь осмысления..." и - Результат есть!, но не тот, что хотелось бы. Поясню - работает! Но кое что не поддаётся осмыслению - пока на данный момент "моему убогому". В принципе проблема только с городской линией через шлюз, и то запустил и работает вопреки всему пониманию, хотелось бы разъяснения ситуации. Поможете? sip и extension.conf ну почти совсем коротенькие (пытаюсь пока только наш отдел в конторе перевести на IP телефонию), по Вашим правилам сделанные, работают!, но о Чудо... происходит (пока) и не пойму почему, и не делается то, что надо. Посмотрите файлики? Буду очень признателен! Правда, чё то по замкнутому кругу пошёл с этим шлюзом...


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

Блин, писал ... писал, описывал ситуацию, приложил файл extensional.conf, а при "сохранить" сказал мне форум, что этот тип файла не поддерживается при загрузке, и всё похерилось что писал... Печально


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

А "тарабарщина" происходит наверно вот почему: в примере на сайте работа с Zadarma описана контекстом

;Входящие звонки
[call-in]
exten => 397945,1,Dial(SIP/100)
Ну это для звонков наружу и обратно через Zadarma.
В моём случае работу линий шлюза наверно надо описывать отдельным контекстом в extensions.conf?
Как его правильно составить? По аналогии с
[call-out]?, и как туда вписать прием входящих звонков?
Линия на шлюзе имеет номер "1001", в "Hot Line No" для неё указан номер "111", т.е. шлюз уже сам набирает "111".
И как тогда будет exten => 111,1,Dial(SIP/XXX) или же exten => 1001,1,Dial(SIP/XXX)
И ещё важно!!! Получается всё (call-in и сall-out) писать в одном контексте для этой линии?
Подскажите пож-та!!!

 


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

Я понял в чем вопрос. Я с работой шлюзов сам плаваю, разбираюсь обычно на месте, редко с ними работаю и не люблю их. Не скажу точное решение в данном случае. Попробуй 111 и 1001, в каком случае будет принимать звонки, тот и будет правильный. Всего 2 варианта, давно бы сам попробовал. Делать все нужно по аналогии с пиром zadarma, принципиальной разницы нет вообще. Это такой же пир, только с другими настройками. Можно просто скопировать и по аналогии настроить. Входящие и исходящие звонки работают так же. Ты же уже настраивал 2 транка с разными номерами. Тут то же самое, только второй номер это голосовой шлюз. 


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

Да пробую, пробую, говорю "тарабарщина" происходит. А посмотрите пож-та ссылку: http://asterisk-pbx.ru/wiki/hardware/gateways/dlink_6004s

Автор прав? Меня интересует пункт: Настройки Asterisk sip.conf

[1000] - NUMBER
host=IP ADDRESS DLINK
secret = PASSWORD
context = from-dlink
В secret = чей пароль писать? непонятно D-Linka или Astera?
И ещё, пункт: Настройки Asterisk extensions.conf (исходящие вызовы)

 

 

[phones]

exten => _X.,1,Dial(SIP/1000/${EXTEN},,)

[phones] - это контекст номера?, ну или имя группы номеров?

 

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

Вообщем "Забодал" я этот шлюз, ну или почти, а он меня уж точно. Всё равно спрашивать приходится. "Подвесил" его в sip.conf по аналогии с zadarma:

[1001]
host=dynamic                ;изменил если писать IP астера, матерится в CLI
insecure=invite,port
type=friend
fromdomain=                ;Удалил вообще, или не надо было?
disallow=all
allow=alaw
dtmfmode=info
secret=XXXXXXX
defaultuser=1001
trunkname=1001
fromuser=1001
callbackextension=1001
context=call-in
qualify=400
directmedia=no

Теперь CLI астера матерится... см.скрин. Чё там ему не нравится с регистрацией и таймутом? Как исправить?
Когда "вешал" как все внутренние номера:

[dlink-phones](!)
type=friend
context=from-dlink
secret=@deyltcdtqd#
host=dynamic
nat=no
qualify=yes
canreinvite=no
callgroup=1
pickupgroup=1
call-limit=3
dtmfmode=info
disallow=all
allow=alaw
allow=ulaw
allow=g729
allow=g723
allow=g722

[1001](dlink-phones)

Астеру  всё нравилось, не ругался, но не работало.
Короче не пойму: "Где Наши, Где немцы?"


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

И ещё товарищ, помоги пож-та "старой обезьяне", чё то мой мозг уже не переваривает эти расклады:

extensions.conf

 

[general]
static=yes
writeprotect=no
[globals]
DIR_RECORDS=/home/records/
[default]

;Вешаем трубку
[handup-sip]
exten => _X!,1,HangUp()

;Макрос записи разговоров
[macro-recording]
exten => s,1,Set(fname=${UNIQUEID}-${STRFTIME(${EPOCH},,%Y-%m-%d-%H_%M)}-${ARG1}-${ARG2});
exten => s,n,Set(monopt=nice -n 19 /usr/local/bin/lame -b 32 --silent "${DIR_RECORDS}${fname}.wav" "${DIR_RECORDS}${fname}.mp3" && rm -f "${DIR_RECORDS}${fname}.wav" && chmod o+r "${DIR_RECORDS}${fname}.mp3");
exten => s,n,Set(CDR(filename)=${fname}.mp3);
exten => s,n,Set(CDR(realdst)=${ARG2});
exten => s,n,MixMonitor(${DIR_RECORDS}${fname}.wav,b,${monopt});
exten => s,n(no),Verbose(Exit record);

;Исходящие 443328
[443328-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},20,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 => _X.,1,Macro(recording,${CALLERID(num)},${EXTEN})
exten => _X.,n,Dial(SIP/1001/${EXTEN},,)
include => handup-sip

[call-in]
exten => _XXX,1,Macro(recording,${CALLERID(num)},${EXTEN})
exten => 111,n,Dial(SIP/111,20,m)
exten => num-NOANSWER,n,Wait(2)
exten => num-NOANSWER,n,Voicemail(${dstNUM},u)    ; Не работает, блин, почему?
Проблема такая: Если убираю  < ,m>, то бл...ть происходит ситуация с двумя звонками на принимающем тлф, писал раньше, а с <,m> всё путём? Да, и с отправкой в ivr ( если exten => _X.,n,Dial(SIP/1001/${EXTEN},,) меняю на Goto(ivr-main,s,1) всё сложилось - работает правильно! Как оно цепляется к этой мелодии в ожидании?
Короче пока "тупик" в понимании. Вытаскивайте пож-та!
И ещё с голосовой почтой - ну не "догоняю", почему не включается при звонке с наружи? Ни так, ни после не ответа в ivr секретаря?
"Прикрутите мозг" куда надо, а то уже зациклился совсем.


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

Слушай, если не догоняешь, то не пользуйся. У меня в статье 100% работающий вариант голосовой почты, я сам не раз проверял. Но я не встретил еще ни одной компании, где бы голосовой почтой пользовались :) Не мучай себя и забей на нее, она все равно не нужна. Никто это голосовые сообщения оставлять не будет.


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