First time here? Check out the FAQ!

Пожалуйста, войдите здесь. Часто задаваемые вопросы О нас
Задайте Ваш вопрос

Внезапный Hangup после вызова System [Решено] [закрыт]

0

Вопрос в следующем. При выполнении

exten => _4958282,n,System('/bin/echo Number: ${CALLERID(num)} calling at ${STRFTIME(${EPOCH},EEST,%C%y-%m-%d)} | mail it@domain.com')

происходит обрыв связи. Если в ремарку - то все дальше работает как по маслу. Выглядит как мистика, потому как нет никаких правил чтобы рвало соединение.

exten => _4958282,1,Answer
exten
=> _4958282,n,Ringing
exten
=> _4958282,n,WaitExten(3)
;exten => _4958282,n,System('/bin/echo Number: ${CALLERID(num)} calling at ${STRFTIME(${EPOCH},EEST,%C%y-%m-%d)} | mail it@domain.com')
exten
=> _4958282,n,GotoIf($[${BLACKLIST()}=1]?9)
exten
=> _4958282,n,Set(MONITOR_FILENAME=/var/spool/asterisk/recordincoming/4958282/${STRFTIME(${EPOCH},,%Y%m%d)}/${CALLERID(num)}-${EXTEN:0}-${STRFTIME(${EPOCH},,%Y%m%d)}-${UNIQUEID})
exten
=> _4958282,n,MixMonitor(${MONITOR_FILENAME}.wav,b)
exten
=> _4958282,n,GotoIfTime(09:00-18:01,sat-sun,*,*?11)
exten
=> _4958282,n,GotoIfTime(09:00-20:01,mon-fri,*,*?11)
exten
=> _4958282,n,Background(/usr/local/share/asterisk/sounds/en/ct/coral/overnight)
exten
=> _4958282,n,Hangup
exten
=> _4958282,11,Background(/usr/local/share/asterisk/sounds/en/ct/coral/den8282)
exten
=> _4958282,n,Queue(Agency,Tt,,,3600)
exten
=> _4958282,n,Hangup
exten
=> _24XX,1,Wait(0)
exten
=> _24XX,2,goto(default,${EXTEN,1)
exten
=> _24XX,3,Hangup()
exten
=> _X!,1,Queue(Agency,Tt,,,3600)

В логах

Собственно вот что происходит при вызове

-- Executing [4958282@default:3] Goto("SIP/10.1.1.2-0000071a", "pilot-4958282,4958282,1") in new stack
-- Goto (pilot-4958282,4958282,1)
-- Executing [4958282@pilot-4958282:1] Answer("SIP/10.1.1.2-0000071a", "") in new stack
-- Executing [4958282@pilot-4958282:2] Ringing("SIP/10.1.1.2-0000071a", "") in new stack
-- Executing [4958282@pilot-4958282:3] WaitExten("SIP/10.1.1.2-0000071a", "3") in new stack
-- Executing [4958282@pilot-4958282:4] System("SIP/10.1.1.2-0000071a", "/bin/echo Number: 4950060 calling at 2013-07-27 | mail it@domain.com")
-- Executing [4958282@pilot-4958282:5] GotoIf("SIP/10.1.1.2-0000071a", "0?9") in new stack
-- Executing [4958282@pilot-4958282:6] Set("SIP/10.1.1.2-0000071a", "MONITOR - здесь сократил.. имя файла
-- Executing [4958282@pilot-4958282:7] MixMonitor("
SIP/10.1.1.2-0000071a", "/var/spool/aster ... куда пишем
 
-- Executing [4958282@pilot-4958282:8] GotoIfTime("SIP/10.1.1.2-0000071a", "09:00-18:01,sat-sun,*,*?11")
-- Goto (pilot-4958282,4958282,11)
-- Executing [4958282@pilot-4958282:11] Hangup("SIP/10.1.1.2-0000071a", "") in new stack
== Spawn extension (pilot-4958282, 4958282, 11) exited non-zero on 'SIP/10.1.1.2-00000729'
 
== Begin MixMonitor Recording SIP/10.1.1.2-00000729
 
== End MixMonitor Recording SIP/10.1.1.2-00000729

Все. дальше обрыв соединения.

спросил Jul 27 '13

SysDev Gravatar SysDev
1 2 1 3

обновил Jul 27 '13

Comments

вы не правильно вызываете: exten => _4958282,n,System(echo Fax System receive fax - time - ${STRFTIME(${EPOCH},,%Y-%m-%d %H:%M)} | mutt -s ${CALLERID(num)} -a ${FAXFILE} -- tech@firma.ru )

awsswa (Jul 27 '13)edit

Нет у Вас никакого Hangup , не нужно сочинять.

zzuz (Jul 27 '13)edit

mail также можно использовать. разницы нет.

zzuz (Jul 27 '13)edit

про одинарные кавычки - это чисто ради эксперимента, уже знаю что экранировать не надо - в логах увидел, но проблема все еще остается

SysDev (Jul 27 '13)edit

Я назвал ситуацию Hangup поскольку идет обрыв связи, а не конкретно вызов аппликешина

SysDev (Jul 27 '13)edit

Все же я вижу вот это

-- Goto (pilot-4958282,4958282,11) -- Executing [4958282@pilot-4958282:11] Hangup("SIP/10.1.1.2-0000071a", "") in new stack

но конкретной метки 11 у меня нет, с ней - без нее - результат тот же.

SysDev (Jul 27 '13)edit

Debug - 99 Verbose - 99 в логах ничего - указывающего на ошибку или предупреждение

SysDev (Jul 27 '13)edit

в логгере все включено максимум что вижу в дополнительных сообщениях - записи в базу.

SysDev (Jul 27 '13)edit

И срывается при переходе по проверке времени

SysDev (Jul 27 '13)edit

мда ... пронумеровал всю последовательность и обнаружил несоответсвие вызова строки GoToIF оно вылетало как раз в строку где находился Hangup/

Решено

SysDev (Jul 27 '13)edit

ну тоесть как и предпологалося system тут непричем.

meral (Jul 27 '13)edit

надо потому что делать так

exten = _4958282,n,GotoIfTime(09:00-18:01,sat-sun,*,*?day)
exten
= _4958282,n,GotoIfTime(09:00-20:01,mon-fri,*,*?day)
exten
= _4958282,n,Background(/usr/local/share/asterisk/sounds/en/ct/coral/overnight)
exten
= _4958282,n,Hangup
exten
= _4958282,n(day),Background(/usr/local/share/asterisk/sounds/en/ct/coral/den8282)
exten
= _4958282,n,Queue(Agency,Tt,,,3600)
zzuz (Jul 27 '13)edit

неа. надо делать так

exten = _4958282,n,GotoIfTime(09:00-20:01,mon-fri,*,*?day,1:night,1)
exten
= day,1,Background(dayfile)
exten
= night,1,Background(nightfile)
meral (Jul 27 '13)edit

1 Ответ

0
ссылка удалить спам редактировать

ответил Jul 27 '13

meral Gravatar meral flag of Ukraine
23347 24 20 177
http://pro-sip.net/

Закладки и информация

Добавить закладку

подписаться на rss ленту новостей

Статистика

Задан: Jul 27 '13

Просмотрен: 238 раз

Обновлен: Jul 27 '13

Проект компании "АТС Дизайн"
Asterisk® и Digium® являются зарегистрированными торговыми марками компании Digium, Inc., США.
IP АТС Asterisk распространяется под лицензией GNU GPL.