Занимаюсь настройкой вышеупомянутого шлюза.
Вопрос: А вообще возможно ли городскую линию отправить на голосовое меню? По идее думаю - Да. Она же воспринимается астером как внешний транк? Но пока не знаю как это сделать. Сейчас работает так:
Если в "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, ну это помимо шлюза, с ними всё ОК, по ним голосовые меню работают, разные, разведены контекстами по разным группам абонентов, как учили..., всё ОК!
Для того, чтобы отправить звонок в диалплан достаточно правила:
exten => 111,1,Goto(1-ivr,s,1)
Если все равно звонит на номер, значит в диалплане правило звонка на номер стоит раньше правила для ivr.
Городскую линию без проблем можно отправить на ivr. Если шлюз цепляется как пир, то с ним можно делать все, что угодно.
Подскажите пож-та, а как всё таки правильно заводить городскую линию в sip.conf как внешний транк или внутренний номер? Если регистрировать как внутренний, то как (куда) ему вписать контекст внешнего звонка? Завёл как внутренний номер - "снаружи набираю" => проходят два звонка вызова и всё, появляется на телефоне статус пропущенного, а шлюз всё звонит, т.е идут нормальные длинные гудки у звонящего, т.е. aster не понимает наверно что с ним делать, так?, а шлюз тупо долбит в указанный в "Hot Line No", и в голосовое меню его тоже не отправить поэтому? Входящий контекст вписан только ведь у внешних транков.
Или же городскую линию надо заводить как внешний транк? Тогда как правильно его прописать в sip.conf. Пробовал по аналогии с Zadarma - не работает, хотя и регистрируется.
Если как внутренний номер - работает, но тогда куда ему вставить контекст внешнего входящего звонка, а то "совсем беда".
И ещё, не подскажите, что надо вписывать в выделенные строки на скрине (DVG-6004S) и что они означают?, ну если сталкивались с таким шлюзом или знаете.
Похоже asterisk воспринимает воспринимает линию шлюза только как внутренний номер. Как и куда вписать ему (этому номеру) контекст входящих с города звонков?, что то не разберусь никак, подскажите пож-та. Исходящие наружу работают нормально, входящие с наружи тоже, если только успеешь поднять трубку за первые 2а гудка.
И ещё вопросик: При регистрации шлюза в CLI Asterisk постоянно идёт ошибка, см.скрин: 192.168.0.30 - адрес шлюза, 1001 - номер линии на шлюзе (он же внутренний номер asterisk)
Настройка и подключение fxo портов к астериск зависит исключительно от конкретного устройства. В астериске они видятся как обычные пиры и работать с ними можно стандартным способом. Все остальное настраивается на самом шлюзе. Я последний раз настраивал вот такой шлюз - http://aledinkin.blogspot.ru/2014/10/grandstream-ht503-freepbx-asterisk.html Проблем и нюансов там очень много, нужно разбираться в каждом конкретном случае.
Так всё таки как внешний или внутренний?
У астериска нет понятия внешний и внутренний пир. Либо я не понимаю о чем речь. Он может быть либо внутри локальной сети, либо снаружи. Но принципиально нет разницы.
Вы правы!, просто у меня в голове ещё не всё сложилось как надо, вот и мучаю и себя и Вас... вопросами здесь. ОК, пару дней и ночей - "бодалово_тыкало_пытаясь осмысления..." и - Результат есть!, но не тот, что хотелось бы. Поясню - работает! Но кое что не поддаётся осмыслению - пока на данный момент "моему убогому". В принципе проблема только с городской линией через шлюз, и то запустил и работает вопреки всему пониманию, хотелось бы разъяснения ситуации. Поможете? sip и extension.conf ну почти совсем коротенькие (пытаюсь пока только наш отдел в конторе перевести на IP телефонию), по Вашим правилам сделанные, работают!, но о Чудо... происходит (пока) и не пойму почему, и не делается то, что надо. Посмотрите файлики? Буду очень признателен! Правда, чё то по замкнутому кругу пошёл с этим шлюзом...
Блин, писал ... писал, описывал ситуацию, приложил файл extensional.conf, а при "сохранить" сказал мне форум, что этот тип файла не поддерживается при загрузке, и всё похерилось что писал... Печально
А "тарабарщина" происходит наверно вот почему: в примере на сайте работа с 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) писать в одном контексте для этой линии?
Подскажите пож-та!!!
Я понял в чем вопрос. Я с работой шлюзов сам плаваю, разбираюсь обычно на месте, редко с ними работаю и не люблю их. Не скажу точное решение в данном случае. Попробуй 111 и 1001, в каком случае будет принимать звонки, тот и будет правильный. Всего 2 варианта, давно бы сам попробовал. Делать все нужно по аналогии с пиром zadarma, принципиальной разницы нет вообще. Это такой же пир, только с другими настройками. Можно просто скопировать и по аналогии настроить. Входящие и исходящие звонки работают так же. Ты же уже настраивал 2 транка с разными номерами. Тут то же самое, только второй номер это голосовой шлюз.
Да пробую, пробую, говорю "тарабарщина" происходит. А посмотрите пож-та ссылку: 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] - это контекст номера?, ну или имя группы номеров?
Вообщем "Забодал" я этот шлюз, ну или почти, а он меня уж точно. Всё равно спрашивать приходится. "Подвесил" его в 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)
Астеру всё нравилось, не ругался, но не работало.
Короче не пойму: "Где Наши, Где немцы?"
И ещё товарищ, помоги пож-та "старой обезьяне", чё то мой мозг уже не переваривает эти расклады:
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 секретаря?
"Прикрутите мозг" куда надо, а то уже зациклился совсем.
Слушай, если не догоняешь, то не пользуйся. У меня в статье 100% работающий вариант голосовой почты, я сам не раз проверял. Но я не встретил еще ни одной компании, где бы голосовой почтой пользовались :) Не мучай себя и забей на нее, она все равно не нужна. Никто это голосовые сообщения оставлять не будет.