CallerID в схеме астериск + IAXmodem + HylaFAX
иаксмодем не передает CALLING NUMBER астериску
Откуда: Russia
Сообщений: 9
|
CallerID в схеме астериск + IAXmodem + HylaFAX
Схема такая:
город <-PRI-> астериск(1.4.24) <-IAX2-> IAXmodem(1.2.0) <-> HylaFAX(5.2.9)
При звонке из города астериск отдает иаксмодему пару CALLING/CALLED NUMBER и по ним чудесно делается доставка :-)
[Apr 8 17:58:40] VERBOSE[30307] logger.c: Tx-Frame Retry[000] -- OSeqno: 000 ISeqno: 000 Type: IAX Subclass: NEW
[Apr 8 17:58:40] VERBOSE[30307] logger.c: Timestamp: 00014ms SCall: 02517 DCall: 00000 [127.0.0.1:4571]
[Apr 8 17:58:40] VERBOSE[30307] logger.c: VERSION : 2
[Apr 8 17:58:40] VERBOSE[30307] logger.c: CALLED NUMBER : 200040
[Apr 8 17:58:40] VERBOSE[30307] logger.c: CODEC_PREFS : (alaw)
[Apr 8 17:58:40] VERBOSE[30307] logger.c: CALLING NUMBER : 666911
[Apr 8 17:58:40] VERBOSE[30307] logger.c: CALLING PRESNTN : 1
[Apr 8 17:58:40] VERBOSE[30307] logger.c: CALLING TYPEOFN : 65
[Apr 8 17:58:40] VERBOSE[30307] logger.c: CALLING TRANSIT : 0
[Apr 8 17:58:40] VERBOSE[30307] logger.c: CALLING NAME :
[Apr 8 17:58:40] VERBOSE[30307] logger.c: LANGUAGE : ru
[Apr 8 17:58:40] VERBOSE[30307] logger.c: USERNAME : iaxmdm1
[Apr 8 17:58:40] VERBOSE[30307] logger.c: FORMAT : 8
[Apr 8 17:58:40] VERBOSE[30307] logger.c: CAPABILITY : 8
[Apr 8 17:58:40] VERBOSE[30307] logger.c: ADSICPE : 2
[Apr 8 17:58:40] VERBOSE[30307] logger.c: DATE TIME : 2009-04-08 17:58:40
[Apr 8 17:58:40] VERBOSE[30307] logger.c:
[Apr 8 17:58:40] VERBOSE[30344] logger.c: -- Called iaxmodem1/200040
Хотелось бы такого же сервиса и при отправке факсов, но при звонке в город иаксмодем не отдает астериску CALLING NUMBER
[Apr 8 17:44:57] VERBOSE[30300] logger.c: Rx-Frame Retry[ No] -- OSeqno: 000 ISeqno: 000 Type: IAX Subclass: NEW
[Apr 8 17:44:57] VERBOSE[30300] logger.c: Timestamp: 00003ms SCall: 10009 DCall: 00000 [127.0.0.1:4572]
[Apr 8 17:44:57] VERBOSE[30300] logger.c: VERSION : 2
[Apr 8 17:44:57] VERBOSE[30300] logger.c: CALLING NUMBER :
[Apr 8 17:44:57] VERBOSE[30300] logger.c: CALLING NAME :
[Apr 8 17:44:57] VERBOSE[30300] logger.c: FORMAT : 8
[Apr 8 17:44:57] VERBOSE[30300] logger.c: CAPABILITY : 76
[Apr 8 17:44:57] VERBOSE[30300] logger.c: USERNAME : iaxmodem2
[Apr 8 17:44:57] VERBOSE[30300] logger.c: CALLED NUMBER : 200026
[Apr 8 17:44:57] VERBOSE[30300] logger.c: DNID : 200026
[Apr 8 17:44:57] VERBOSE[30300] logger.c:
не смотря на то, что в настройках модема явно прописан cidnumber.
ttyIAXN:
device /dev/ttyIAXN
owner uucp:uucp
mode 660
port 4571
refresh 300
server localhost
peername iaxmodemN
secret mdmN
cidname BRU
cidnumber 200000
codec alaw
http://asterisk-support.ru/forum/topics/4478/ видел, callerid для пира прописывал,
iax.conf:
[iaxmodemN]
type=friend
context=to-pstn
username=iaxmdmN
secret=mdmN
host=dynamic
disallow=all
allow=alaw
accountcode=fax
trunk=no
callerid=200000
;qualify=yes
jitterbuffer=no
на передачу CallerID астериску это не влияет.
Кто-нибудь может пролить свет на проблему? Может быть иаксмодем вообще не умеет передавать CALLING NUMBER в сторону астериска? :-(
В идеале хотелось бы, чтобы можно было из hylafax в jobcontrol или через sendfax -u number задавать исходящий номер, но судя по коду faxSendApp.c++ это вряд ли возможно :-(
Спасибо.
;-)
|
Сообщений: 6521
|
Re: CallerID в схеме астериск + IAXmodem + HylaFAX
1. обозначить для [iaxmodemN] не просто context=to-pstn,
а специфический для них context=to-pstn-from-iaxmodem
где указать первым шагом
exten_X.,1,Set(CALLERID(num)=200000)
exten_X.,n,Dial(Zap/g1/${EXTEN})
и всё получится.
|
Откуда: Russia
Сообщений: 9
|
Re: CallerID в схеме астериск + IAXmodem + HylaFAX
Спасибо за ответ. Тот же результат дает прописывание callerid для пира [iaxmodemN] в iax.conf.
Может быть я нечетко задал вопрос, но интересует именно опыт передачи номера из IAXmodem в астериск.
В нативный форум IAXmodem, само собой, напишу :-)
;-)
|
Сообщений: 6521
|
Re: CallerID в схеме астериск + IAXmodem + HylaFAX
igor_ab: Тот же результат дает прописывание callerid для пира [iaxmodemN] в iax.conf.
Нет не тот же.
Проверить можно вставляя оператор NoOp($CALLERID) в цепочке в одном и другом случае.
Проверим?
|
Откуда: Russia
Сообщений: 9
|
Re: CallerID в схеме астериск + IAXmodem + HylaFAX
ОК. Вот вариант без Set
[to-pstn]
exten => _NXXXXX,1,NoOp(${CALLERID(all)})
exten => _NXXXXX,n,NoOp(${IAXPEER()})
exten => _NXXXXX,n,NoOp(${IAXPEER(${CHANNEL}|callerid_name)})
exten => _NXXXXX,n,Dial(DAHDI/g1/${EXTEN},30,A(hello-world))
звоним хилафаксом на 200026
[Apr 8 18:45:13] DEBUG[30730] pbx.c: Function result is '"" <200000>'
[Apr 8 18:45:13] DEBUG[30730] pbx.c: Launching 'NoOp'
[Apr 8 18:45:13] VERBOSE[30730] logger.c: -- Executing [200026@to-pstn:1] NoOp("IAX2/iaxmodem5-11672", """ <
200000>") in new stack
[Apr 8 18:45:13] DEBUG[30730] pbx.c: Function result is '(null)'
[Apr 8 18:45:13] DEBUG[30730] pbx.c: Launching 'NoOp'
[Apr 8 18:45:13] VERBOSE[30730] logger.c: -- Executing [200026@to-pstn:2] NoOp("IAX2/iaxmodem5-11672", "") i
n new stack
[Apr 8 18:45:13] DEBUG[30730] pbx.c: Function result is '(null)'
[Apr 8 18:45:13] DEBUG[30730] pbx.c: Launching 'NoOp'
[Apr 8 18:45:13] VERBOSE[30730] logger.c: -- Executing [200026@to-pstn:3] NoOp("IAX2/iaxmodem5-11672", "") i
n new stack
[Apr 8 18:45:13] DEBUG[30730] pbx.c: Launching 'Dial'
[Apr 8 18:45:13] VERBOSE[30730] logger.c: -- Executing [200026@to-pstn:4] Dial("IAX2/iaxmodem5-11672", "DAHD
I/g1/200026|30|A(hello-world)") in new stack
IAXmodem номер не присылал:
[Apr 8 18:45:13] VERBOSE[30696] logger.c: Timestamp: 00003ms SCall: 07183 DCall: 00000 [127.0.0.1:4575]
[Apr 8 18:45:13] VERBOSE[30696] logger.c: VERSION : 2
[Apr 8 18:45:13] VERBOSE[30696] logger.c: CALLING NUMBER :
[Apr 8 18:45:13] VERBOSE[30696] logger.c: CALLING NAME :
[Apr 8 18:45:13] VERBOSE[30696] logger.c: FORMAT : 8
[Apr 8 18:45:13] VERBOSE[30696] logger.c: CAPABILITY : 76
[Apr 8 18:45:13] VERBOSE[30696] logger.c: USERNAME : iaxmodem5
[Apr 8 18:45:13] VERBOSE[30696] logger.c: CALLED NUMBER : 200026
[Apr 8 18:45:13] VERBOSE[30696] logger.c: DNID : 200026
[Apr 8 18:45:13] VERBOSE[30696] logger.c:
т.е. номер был взят из описания [iaxmodemN] в iax.conf
;-)
|
Сообщений: 6521
|
Re: CallerID в схеме астериск + IAXmodem + HylaFAX
А где вариант с Set ?
Я тут недавно спорил с товарисчем буквально тут - http://asterisk-support.ru/forum/topics/4491
Там тоже описаны модемы как у Вас, по инструкции от http://www.opennet.ru/base/net/voip_asterisk.txt.html
Если Вы тоже оттуда срисовали, то у меня возражения прынципиальные, хотя торарисч упирался, аргументируя - ведь работатет же?
По другой инструкции модемы прикручены каждый к своей tty, и манипулируют четкими СallerID.
|
Откуда: Russia
Сообщений: 9
|
Re: CallerID в схеме астериск + IAXmodem + HylaFAX
У меня нет сомнений, что Set присвоит значение переменной.
Также у меня нет предмета для споров ни с Вами, ни с "товарисчем" о творческом подходе к "срисовыванию" :-) Уверен что Вы рождаете конфиги в муках ;-)
Использую вариант с автоматическим вычитыванием конфигов модемов из /etc/iaxmodem. Если это что-то изменит, готов попробовать через initab.
И все же, меня интересует передача СallerID астериску, Ваши модемы его передают?
;-)
|
Сообщений: 6521
|
Re: CallerID в схеме астериск + IAXmodem + HylaFAX
При описаном в соседнем топике варианте сами модемы выглядят иначе, на
80381CS00042*CLI> iax2 show peers
Name/Username Host Mask Port Status
...
K-II/inbo 10.22.16.131 (S) 255.255.255.255 4569 Unmonitored
ВТА/inbound 10.135.29.43 (S) 255.255.255.255 4569 Unmonitored
999 127.0.0.1 (D) 255.255.255.255 4570 OK (3 ms)
998 127.0.0.1 (D) 255.255.255.255 4571 OK (3 ms)
6 iax2 peers [2 online, 0 offline, 4 unmonitored]
мы видим не
iaxmodem4 127.0.0.1 (D) 255.255.255.255 4570 OK (3 ms)
iaxmodem5 127.0.0.1 (D) 255.255.255.255 4571 OK (3 ms)
соответственно, при отправке hylafax видит нативные исходящие 998 и 999, и строка набора выглядит
Dial("IAX2/999-11672", "DAHDI/g1/200026|30|A(hello-world)") in new stack
где 999 и есть искомое.
Хочу сказать, что конфиги не рождаются в муках, я мучаюсь от непонимания больше, своего лично, и общечеловеческого глобально, при его наличии.
|
Откуда: Russia
Сообщений: 9
|
Re: CallerID в схеме астериск + IAXmodem + HylaFAX
Счастье - это когда тебя понимают! (Станислава Ростоцкий, Доживём до понедельника)
;-)
|
Откуда: Russia
Сообщений: 9
|
Re: CallerID в схеме астериск + IAXmodem + HylaFAX
Если кого-либо интересует эта тема, то все дело было в кавычках :-)
Строка в jobcontrol должна выглядеть так:
echo ModemSetOriginCmd: "AT+VSID=\\\"User1\\\",\\\"200001\\\""
звоним:
Rx-Frame Retry[ No] -- OSeqno: 000 ISeqno: 000 Type: IAX Subclass: NEW
Timestamp: 00003ms SCall: 07423 DCall: 00000 [127.0.0.1:4573]
VERSION : 2
CALLING NUMBER : 200001
CALLING NAME : User1
FORMAT : 8
CAPABILITY : 76
USERNAME : iaxmodem3
CALLED NUMBER : 200026
DNID : 200026
Хватит запинаться об эти грабли, пора их "экранировать" ;-)
;-)
|
|