Как я обновлял Asterisk
Проблемы переход с 1.2 на 1.4
Откуда: SPB
Сообщений: 61
|
Re: Как я обновлял Asterisk
так я этот АГИ и запускаю после полного завершения вызова:
exten => h,1,DeadAGI(aline_bill.agi)
"start time" и "end time" читаются.
понятно, что можно считать billsec вручную их вычитанием, но это, по моему, костыль.
|
Сообщений: 866
|
Re: Как я обновлял Asterisk
ПОЛНОЕ завершение это когда диалплан полностью завершен.
у вас он еще выполняется значит не полное...
|
Сообщений: 1573
|
Re: Как я обновлял Asterisk
banalno: так я этот АГИ и запускаю после полного завершения вызова:
exten => h,1,DeadAGI(aline_bill.agi)
полное завершение это - Hangup
banalno:
"start time" и "end time" читаются.
понятно, что можно считать billsec вручную их вычитанием, но это, по моему, костыль.
Зачем считать. В переменной ${DIALEDTIME} содержится полное время вызова (${CDR(duration)}). В переменной ${ANSWEREDTIME} содержится время разговора (${CDR(billsec)}).
Эти переменные в момент выполнения екстена h равны переменным из CDR (т.е. уже не изменятся, и как уже говорил, в CDR отсюда данные и берутся), только последние (CDR()) запишутся после Hangup ...
|
Откуда: SPB
Сообщений: 61
|
Re: Как я обновлял Asterisk
может я чего-то не понимаю, но DeadAGI выполняется после того как абонент завершил вызов, т.е. после Hangup. или я не прав?
Команда DeadAGI - это вариант команды AGI, которая позволяет запускать приложения на разъединенных каналах.
за совет спасибо.
попробую.
|
Сообщений: 1573
|
Re: Как я обновлял Asterisk
banalno:
Команда DeadAGI - это вариант команды AGI, которая позволяет запускать приложения на разъединенных каналах.
разьединенные каналы и Hangup - это, в общем, не одно и то-же ... )
banalno:
за совет спасибо.
попробую.
вот это правильное решение ... ))
|
Сообщений: 866
|
Re: Как я обновлял Asterisk
полное завершение это - Hangup
Ну это ваше мнение. После выполнения Hangup() диалплан продолжает выполнятся (h) и поля CDR еще не все проставлены.
Вообще что вы до AGI докопались все? У него и так AGI выполняется нормально, проблема только в том что поля CDR не все проставлены. Потому что _полного_ завершения звонка с т.з. Астериска еще не наступило.
Надо использовать те переменные которые выше насоветовали и которые уже проставлены....
|
Сообщений: 1573
|
Re: Как я обновлял Asterisk
dimas: Ну это ваше мнение. После выполнения Hangup() диалплан продолжает выполнятся (h) и поля CDR еще не все проставлены.
Это новость. Расскажите поподробнее ...
P.S. А "мнение" это - не мое. Это - данность ...
|
Сообщений: 866
|
Re: Как я обновлял Asterisk
Это новость. Расскажите поподробнее ...
Пожалуйста:
[testcontext]
exten => s,1,Answer
exten => s,n,Playback(silence/5)
exten => s,n,Noop(bs before hanfup ${CDR(billsec)})
exten => s,n,Hangup
exten => h,1,Noop(in h ext)
exten => h,n,Noop(bs in h ext ${CDR(billsec)})
spb-voip2*CLI>
-- Executing [113@default:1] Goto("SIP/1011-095f9878", "testcontext|s|1") in new stack
-- Goto (testcontext,s,1)
-- Executing [s@testcontext:1] Answer("SIP/1011-095f9878", "") in new stack
-- Executing [s@testcontext:2] Playback("SIP/1011-095f9878", "silence/5") in new stack
-- <SIP/1011-095f9878> Playing 'silence/5' (language 'en')
-- Executing [s@testcontext:3] NoOp("SIP/1011-095f9878", "bs before hanfup 0") in new stack
-- Executing [s@testcontext:4] Hangup("SIP/1011-095f9878", "") in new stack
== Spawn extension (testcontext, s, 4) exited non-zero on 'SIP/1011-095f9878'
-- Executing [h@testcontext:1] NoOp("SIP/1011-095f9878", "in h ext") in new stack
-- Executing [h@testcontext:2] NoOp("SIP/1011-095f9878", "bs in h ext 0") in new stack
P.S. А "мнение" это - не мое. Это - данность ...
Ну значит это ваша данность. А у других - другая...
|
Сообщений: 1573
|
Re: Как я обновлял Asterisk
По завершению вызова выполняю: exten => h,1,DeadAGI(aline_bill.agi)
Уважаемый "вундеркинд" димас, будьте добры, пляшите вот от этого ... )))
P.S. Ес-но имелось ввиду выполнение - "h"
|
Сообщений: 866
|
Re: Как я обновлял Asterisk
Хм. Я вам сказал достаточно простой факт:
После выполнения Hangup() диалплан продолжает выполнятся (h) и поля CDR еще не все проставлены.
Покажите пальцем в каком месте мое утверждение неверное? Что вы имели в виду каку-то другую ситуацию (а именно выполнение hangup УЖЕ в экстеншене h) - это ваше личное дело. Я говорил про Hangup вообще. Что его запуск продолжает выполнение диалплана (выполняется экстеншене h).
И я же вас просил держаться в рамках - тон свой приберегите для друзей если им это нравится. Я пока не опускался до характеристик вашего интеллектуального развития хотя, можете не сомневаться, имею о нем свое мнение.
|
|