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

как удалять данные из astdb

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

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

Ответить
iprobed
Сообщения: 12
Зарегистрирован: 03 фев 2012, 19:30

как удалять данные из astdb

Сообщение iprobed »

Существует макрос, с помощью которого записываются разговоры в очереди.

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

[macro-queue]
exten => s,1,Set(DB(${CHANNEL}/file)=${RECORD-DIR}/${ARG2}/${STRFTIME(${EPOCH},,%Y)}/${STRFTIME(${EPOCH},,%h)}/${STRFTIME(${EPOCH},,%d)}/${STRFTIME(${EPOCH},,%H.%M.S)}_${CALLERID(num)})
exten => s,n,Set(MONITOR_FILENAME=${DB(${CHANNEL}/file)})
exten => s,n,Queue(${ARG2},t,90)
exten => e,1,Hangup
exten => h,1,StopMixMonitor
exten => h,n,Set(MONITOR_FILENAME=${DB_DELETE(${CHANNEL}/file)})
exten => h,n,Set(FILE=${MONITOR_FILENAME}_${MEMBERINTERFACE:4})
exten => h,n,System(mv ${MONITOR_FILENAME}.alaw ${FILE}.alaw)
exten => h,n,DBdeltree(${CHANNEL})
exten => h,n,Hangup
Подскажите, пожалуйста, как удалять данные из astdb, если пользователь не дождался ответа.
Аватара пользователя
Aven
Сообщения: 798
Зарегистрирован: 28 янв 2011, 16:20

Re: как удалять данные из astdb

Сообщение Aven »

В версии <= 1.4
*CLI> core show application DBdeltree
В версии >= 1.6
*CLI> core show function DB_DELETE
Решения телефонии на базе Asterisk || http://it-need.ru
iprobed
Сообщения: 12
Зарегистрирован: 03 фев 2012, 19:30

Re: как удалять данные из astdb

Сообщение iprobed »

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

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

exten => h,n,Set(MONITOR_FILENAME=${DB_DELETE(${CHANNEL}/file)})
...
exten => h,n,DBdeltree(${CHANNEL})
но, что делать если звонящий не дождался ответа в течении минуты и положил трубку (QUEUESTATUS в этом случае бесполезен, если я правильно понимаю) ?
Vlad1983
Сообщения: 4251
Зарегистрирован: 09 авг 2011, 11:51

Re: как удалять данные из astdb

Сообщение Vlad1983 »

вставить этот кусок
exten => h,1,StopMixMonitor
exten => h,n,Set(MONITOR_FILENAME=${DB_DELETE(${CHANNEL}/file)})
exten => h,n,Set(FILE=${MONITOR_FILENAME}_${MEMBERINTERFACE:4})
exten => h,n,System(mv ${MONITOR_FILENAME}.alaw ${FILE}.alaw)
exten => h,n,DBdeltree(${CHANNEL})
exten => h,n,Hangup
в контекст где очередь вызывается, верней макрос этот

в общем конкретное место ловить
exten => h,1,NoOp(context name)
на всех участках прохождения звонка

и что это за странный экстен exten => e,1,Hangup
ЛС: @rostel
iprobed
Сообщения: 12
Зарегистрирован: 03 фев 2012, 19:30

Re: как удалять данные из astdb

Сообщение iprobed »

Спасибо, это то, что было необходимо.
Всем огромное спасибо за потраченное время!
http://voip.rus.net/tiki-index.php?page ... extensions
e: Перехват расширений i,t и T для обработки ошибки в едином месте. Для выяснения типа ошибки может быть использована функция EXCEPTION
Vlad1983
Сообщения: 4251
Зарегистрирован: 09 авг 2011, 11:51

Re: как удалять данные из astdb

Сообщение Vlad1983 »

надеюсь понятно, что со всем куcком переборщил
достаточно
exten => h,1,DBdeltree(${CHANNEL})
ЛС: @rostel
iprobed
Сообщения: 12
Зарегистрирован: 03 фев 2012, 19:30

Re: как удалять данные из astdb

Сообщение iprobed »

Это понятно, спасибо!
Ответить
© 2008 — 2024 Asterisk.ru
Digium, Asterisk and AsteriskNOW are registered trademarks of Digium, Inc.
Design and development by PostMet-Netzwerk GmbH