VIDEOCHAT  ::   FAQ  ::   Поиск  ::   Регистрация  ::   Вход

Голосовая почта и call-файлы

Новичком считается только что прочитавший «Астериск - будущее телефонии»
http://asterisk.ru/knowledgebase/books
и пытающийся сделать большее

Модераторы: april22, Zavr2008

Ответить
amonr
Сообщения: 4
Зарегистрирован: 09 дек 2016, 07:35

Голосовая почта и call-файлы

Сообщение amonr »

Всем привет! Не могу понять, почему не формируется калл-файл, когда оставил голосовое сообщение и в конце вызова нажал «положить трубку»? Когда в конце вызова нажимаю #, тогда все хорошо: формируется калл-файл, и Астер перезванивает через некоторое время. Ведь в голосовом меню явно дают понять, что после записи сообщения или то или то нажать, а работает по разному по факту.
Подскажите, в чем может быть ошибка или в какую сторону копать?
Большое спасибо!!!
PRIME_BBCODE_SPOILER_SHOW PRIME_BBCODE_SPOILER:

Код: Выделить всё

[internal]
exten => _70[0-4],1,GotoIfTime(08:30-17:28,Mon-Fri,*,*?Say_Open_employees,${EXTEN},1) 
exten => _70[0-4],n,GotoIfTime(17:30-08:28,Fri-Mon,*,*?Say_Closed,s,1)                                  

[Say_Open_employees]                                            
exten => 700,1,Macro(VoiceMail,${Num700})                       
exten => 701,1,Macro(VoiceMail,${Num701})

[macro-VoiceMail]                                               
exten => s,1,Dial(${ARG1},10)                                   
exten => s,n,GotoIf($["${DIALSTATUS}" = "BUSY"]?busy:unavail)   
exten => s,n(unavail),VoiceMail(${MACRO_EXTEN}@voicemail,u)     
exten => s,n,GoTo(scrtest,s,1)
exten => s,n(busy),VoiceMail(${MACRO_EXTEN}@voicemail,b)
exten => s,n,GoTo(scrtest,s,1)

[scrtest]      
exten => s,1,System(/var/spool/asterisk/test_call_list.sh ${CONNECTEDLINE(number)} ${CALLERID(num)})
exten => s,n,Hangup

voicemail.conf:
[general]
format=wav|gsm|ulaw
serveremail=asterisk
attach=yes
maxmsg=100  
maxsecs=180 
minsecs=4 
maxgreet=60 
skipms=3000
maxlogins=3
moveheard=yes
charset=UTF-8
pbxskip=yes
maxsilence=3

Log:
если нажать #
 == Parsing '/var/spool/asterisk/voicemail/VoiceMail/700/INBOX/msg0005.txt': Found
    -- Executing [s@macro-VoiceMail:6] Goto("SIP/703-00000070", "scrtest,s,1") in new stack
    -- Goto (scrtest,s,1)
  == Channel 'SIP/703-00000070' jumping out of macro 'VoiceMail'
    -- Executing [s@scrtest:1] System("SIP/703-00000070", "/var/spool/asterisk/test_call_list.sh 700 703") in new stack
    -- Executing [s@scrtest:2] Hangup("SIP/703-00000070", "") in new stack
  == Spawn extension (scrtest, s, 2) exited non-zero on 'SIP/703-00000070'

если положить трубку:
 x=2, open writing:  /var/spool/asterisk/voicemail/VoiceMail/700/tmp/3dfGMb format: ulaw, 0x7fcbe00194c8
    -- User hung up
  == Parsing '/var/spool/asterisk/voicemail/VoiceMail/700/INBOX/msg0006.txt': Found
  == Parsing '/var/spool/asterisk/voicemail/VoiceMail/700/INBOX/msg0006.txt': Found
  == Parsing '/var/spool/asterisk/voicemail/VoiceMail/700/INBOX/msg0006.txt': Found
  == Spawn extension (macro-VoiceMail, s, 4) exited non-zero on 'SIP/703-00000072' in macro 'VoiceMail'
  == Spawn extension (Say_Open_employees, 700, 1) exited non-zero on 'SIP/703-00000072'
Аватара пользователя
Wapo
Сообщения: 795
Зарегистрирован: 02 мар 2011, 17:53

Re: Голосовая почта и call-файлы

Сообщение Wapo »

Используйте экстен h для пост-обработки завершенного вызова.
amonr
Сообщения: 4
Зарегистрирован: 09 дек 2016, 07:35

Re: Голосовая почта и call-файлы

Сообщение amonr »

C экстеншеном h не отрабатывает GoTo(scrtest,h,1) после VoiceMail(${MAC...). И даже если его (h) положить в тот же контекст, попробовал оба варианта. Если в GoToIf поставить ссылку на scrtest, то переходит нормально, но и записи сообщения я тогда не получу...

Код: Выделить всё

[macro-VoiceMail]                                              
exten => s,1,Dial(${ARG1},10)                                
exten => s,n,GotoIf($["${DIALSTATUS}" = "BUSY"]?busy:unavail)   
exten => s,n(busy),VoiceMail(${MACRO_EXTEN}@voicemail,b)
exten => s,n,GoTo(scrtest,h,1)

[scrtest]
exten => h,1,System(/q.sh)       
exten => h,2,Hangup()
Log:

Код: Выделить всё

...
    -- Recording the message
    -- x=0, open writing:  /var/spool/asterisk/voicemail/VoiceMail/700/tmp/VU6jIE format: wav, 0x7fcbe0014fb8
    -- User hung up
  == Parsing '/var/spool/asterisk/voicemail/VoiceMail/700/INBOX/msg0021.txt': Found
  == Spawn extension (macro-VoiceMail, s, 3) exited non-zero on 'SIP/703-000000d1' in macro 'VoiceMail'
  == Spawn extension (Say_Open_employees, 700, 1) exited non-zero on 'SIP/703-000000d1'
Даже если поставить ключ g, не хочет переходить дальше после записи сообщения VoiceMail(${MAC...)

Код: Выделить всё

exten => s,1,Dial(${ARG1},10,g)  
Log:
    -- Recording the message
    -- x=0, open writing:  /var/spool/asterisk/voicemail/VoiceMail/700/tmp/R7dv7B format: wav, 0x7fcbd09a0738
    -- User hung up
  == Parsing '/var/spool/asterisk/voicemail/VoiceMail/700/INBOX/msg0023.txt': Found
  == Spawn extension (macro-VoiceMail, s, 3) exited non-zero on 'SIP/703-000000d5' in macro 'VoiceMail'
  == Spawn extension (Say_Open_employees, 700, 1) exited non-zero on 'SIP/703-000000d5' 
virus_net
Сообщения: 2337
Зарегистрирован: 05 июн 2013, 08:12
Откуда: Москва

Re: Голосовая почта и call-файлы

Сообщение virus_net »

amonr, вы явно не прочли ни что такое h exten, ни для чего же ключ g в dial, а если даже прочли, то явно не осознали. Посему рекомендую перечитать до полного просветления.

Вы как вызывали GoTo, так и пытаетесь вызывать и ессно оно не работает, т.к. обработка dialplan прекращается и dialplan ищет h exten, которого у вас нет.
The h extension Gets executed after a call has been terminated.
Ключевое я выделил.
g: When the called party hangs up, continue to execute commands in the current context at the next priority.
мой SIP URI sip:virus_net@asterisk.ru
bitname.ru - Домены .bit (namecoin) .emc .coin .lib .bazar (emercoin)

ENUMER - звони бесплатно и напрямую.
amonr
Сообщения: 4
Зарегистрирован: 09 дек 2016, 07:35

Re: Голосовая почта и call-файлы

Сообщение amonr »

Спасибо большое за эти ссылки, запомню их, и за ответы:) Видимо, то что прочитал в "библии" было недостаточно, ну и да, просветление не было достигнуто..
С диалпланом разобрался.

Всем спасибо!
amonr
Сообщения: 4
Зарегистрирован: 09 дек 2016, 07:35

Re: Голосовая почта и call-файлы

Сообщение amonr »

Wapo писал(а):Используйте экстен h для пост-обработки завершенного вызова.
Спасибо за подсказку!
Ответить
© 2008 — 2025 Asterisk.ru
Digium, Asterisk and AsteriskNOW are registered trademarks of Digium, Inc.
Design and development by PostMet-Netzwerk GmbH