Появилось желание сделать волшебный номер, позвоня на который, будучи приштриканным на кроссе, можно услышать свой номер..
Пуда копать? Понятно, что нужно работать над экстеншнами, но делал там только простений IVR.
Точно, очень удобно кроссы прозванивать вместо "але - але - с какого номера я звоню? - а кто это? - это я, блин, с какого номера звоню? - а? чего?..." и так далее.
а как сделать так чтоб из потока намер проговаривал?
ну всмысле * и CS1000!
на CS прописал что *65 уходит на *!
набираю, уходит, говорит "Ваш номер - номер" и отбой!
как приручить?
при большой инфраструктуре в 5-6 площадок болоб очень неплохо! а то как сказал колега пока до операторов дойдет че я от них хочу, я сам забываю че хотел!
это и есть поток сознания? Ничего не понятно. Но попробую ответить в том же духе: поток должен приходить во внутренний контекст from-internal, а не во внешний from-pstn.
То что при этом происходит нужно не ухом дебажить - "Ваш номер - номер" и отбой!
а глазами в консоли Астериска. Там вполне всё можно увидеть и понять что не так.
-- Executing [*65@from-internal:1] Answer("DAHDI/13-1", "") in new stack
-- Executing [*65@from-internal:2] Wait("DAHDI/13-1", "1") in new stack
-- Executing [*65@from-internal:3] Macro("DAHDI/13-1", "user-callerid,") in new stack
-- Executing [s@macro-user-callerid:1] Set("DAHDI/13-1", "AMPUSER=4000") in new stack
-- Executing [s@macro-user-callerid:2] GotoIf("DAHDI/13-1", "0?report") in new stack
-- Executing [s@macro-user-callerid:3] ExecIf("DAHDI/13-1", "1?Set(REALCALLERIDNUM=4000)") in new stack
-- Executing [s@macro-user-callerid:4] Set("DAHDI/13-1", "AMPUSER=") in new stack
-- Executing [s@macro-user-callerid:5] Set("DAHDI/13-1", "AMPUSERCIDNAME=") in new stack
-- Executing [s@macro-user-callerid:6] GotoIf("DAHDI/13-1", "1?report") in new stack
-- Goto (macro-user-callerid,s,10)
-- Executing [s@macro-user-callerid:10] GotoIf("DAHDI/13-1", "0?continue") in new stack
-- Executing [s@macro-user-callerid:11] Set("DAHDI/13-1", "__TTL=64") in new stack
-- Executing [s@macro-user-callerid:12] GotoIf("DAHDI/13-1", "1?continue") in new stack
-- Goto (macro-user-callerid,s,19)
-- Executing [s@macro-user-callerid:19] NoOp("DAHDI/13-1", "Using CallerID "▒▒▒▒▒▒▒▒▒.▒." <4000>") in new stack
-- Executing [*65@from-internal:4] Playback("DAHDI/13-1", "your") in new stack
-- <DAHDI/13-1> Playing 'your.gsm' (language 'en')
-- Executing [*65@from-internal:5] Playback("DAHDI/13-1", "extension") in new stack
-- <DAHDI/13-1> Playing 'extension.gsm' (language 'en')
-- Executing [*65@from-internal:6] Playback("DAHDI/13-1", "number") in new stack
-- <DAHDI/13-1> Playing 'number.gsm' (language 'en')
-- Executing [*65@from-internal:7] Playback("DAHDI/13-1", "is") in new stack
-- Executing [*65@from-internal:8] SayDigits("DAHDI/13-1", "") in new stack
-- Executing [*65@from-internal:9] Wait("DAHDI/13-1", "2") in new stack
-- Executing [*65@from-internal:10] Hangup("DAHDI/13-1", "") in new stack
== Spawn extension (from-internal, *65, 10) exited non-zero on 'DAHDI/13-1'
-- Executing [h@from-internal:1] Macro("DAHDI/13-1", "hangupcall") in new stack
-- Executing [s@macro-hangupcall:1] GotoIf("DAHDI/13-1", "1?noautomon") in new stack
-- Goto (macro-hangupcall,s,3)
-- Executing [s@macro-hangupcall:3] NoOp("DAHDI/13-1", "TOUCH_MONITOR_OUTPUT=") in new stack
-- Executing [s@macro-hangupcall:4] GotoIf("DAHDI/13-1", "1?noautomon2") in new stack
-- Goto (macro-hangupcall,s,6)
-- Executing [s@macro-hangupcall:6] NoOp("DAHDI/13-1", "MONITOR_FILENAME=") in new stack
-- Executing [s@macro-hangupcall:7] GotoIf("DAHDI/13-1", "1?skiprg") in new stack
-- Goto (macro-hangupcall,s,10)
-- Executing [s@macro-hangupcall:10] GotoIf("DAHDI/13-1", "1?skipblkvm") in new stack
-- Goto (macro-hangupcall,s,13)
-- Executing [s@macro-hangupcall:13] GotoIf("DAHDI/13-1", "1?theend") in new stack
-- Goto (macro-hangupcall,s,15)
-- Executing [s@macro-hangupcall:15] Hangup("DAHDI/13-1", "") in new stack
== Spawn extension (macro-hangupcall, s, 15) exited non-zero on 'DAHDI/13-1' in macro 'hangupcall'
== Spawn extension (from-internal, h, 1) exited non-zero on 'DAHDI/13-1'
-- Hungup 'DAHDI/13-1'
Если посмотреть в app-speakextennum то увидим тот код, который отрабатывает на *65 (открывайте extensions_additional.conf, смотрите)
там SayDigits проговаривает содержимое переменной ${AMPUSER}
Но в вашем логе мы видим, что в этой переменной - пусто
-- Executing [s@macro-user-callerid:4] Set("DAHDI/13-1", "AMPUSER=") in new stack
потому что AMPUSER - это те внутренние номера, о которых знает Астериск. Если сделать примерно такой app-speakextennum-custom в extensions_custom.conf то будет проговаривать любые Caller ID
большое спасибо, о великий!
сначала с дуру начал вставлять extensions_additional.conf
и не смог сразу понять почему проподает после введения последующих изменений, потом нашел свою дурацкую ошибку extensions_custom.conf!
как говорится "поспешишь людей насмешишь"!