Вход | Регистрация
Вы здесь: Главная / Форум / Главный форум по Asterisk / Конфигурация и настройка / SoftHangup - WARNING

SoftHangup - WARNING

<1 2
Откуда: Киев
Сообщений: 749

Re: SoftHangup - WARNING

litnimax
meral...диалпланы со всеми задачами могут справиться.

А как насчет подсчета длительности звонка? Когда с той стороны вешают трубку, флаг Dial(g) еще поможет получить ${DIALSTATUS}, ${ANSWEREDTIME}, ${DIALEDTIME}. А вот если позвонивщий вешает, то дальше по Dialplan астериск не идет. А надо бы не только сохранить cdr запись, но и баланс обновить, например.
а зачем СДР существует? у меня постгерс-сдр + тригеры.
и, кстати еще есть h-extension. выплняеться после hangup.
да и даил (г) продолажеться если трубку не ложила оригинирующая сторона.
баланс обновляеться системой автобалансировки нагрузки... типа не в реалтайм а от 1 до 30 секунд.

mthawk
meralp.s. я пока не нашел не одной задачи, для которой мне понадобилься бы agi-script. диалпланы со всеми задачами могут справиться.


А как насчет:
- по номеру, набранному абонентом определить префикс, по доступным префиксам выбрать оператора из базы предоставляющего этот префикс, найти самого дешевого (или качественного).
- по кол-ву денюжки на счету определить может ли товарисч звонить, предоплаченый, или кредитный этот юзер, или это VIP клиент, которому денюжку счетать не нужно - выставить тайм-аут звонка.
- по окончании все посчитать, положить в базу в заданном формате, и т.д. и т..п


;)


угу. спорим на 100 баксов что это в 20 строк extensions.conf вмещаеться все целиком?
правда потом кода sql еще строк 500... но это уже алгоритм выбора
аналогично предыдущему. запрос ПЕРЕД началом звонка из постгреса(процедура).
таймаут звонка выставляеться в команде диал... не надо для этого аги
по окончанию посчитать - сдр.( смотри выше)
все это есть.
самый простой случай выглядит так.
show dialplan SMIR-main
'_X.' =>
1. gosub(checkprefix|s|1) [pbx_config] ;проверить какой префикс у терминатора
2. SetCDRUserField(${prefix}${EXTEN}:193.243.152.XXX) [pbx_config] ; вот это для "посчитать"
3. Dial(SIP/${prefix}${EXTEN}@cisco||rgoS(${timelimit})) [pbx_config]
4. AppendCDRUserField(:${HANGUPCAUSE}:${DIALSTATUS}) [pbx_config]
5. Hangup() [pbx_config]
h =>
1. AppendCDRUserField(:${HANGUPCAUSE}:${DIALSTATUS}) [pbx_config]

считает только на основании userfield,account и billsec, для упрощения

есть дажже debby script(типо того который на tcl v cisco)...


2006-04-25 14:30

Сообщений: 74

Re: SoftHangup - WARNING

ок.астер рулит. Никто не спорит.
Каждый делает так, как умеет лучше.
Мне проще "перлить".
Опять же оффтоп.

еще раз по существу.
Варнинг при softhangup, инициированным AGI скриптом есть лишь, и только средство информирования о том что кто-то или что-то разорвало соединение в разговоре.
Так?
2006-04-25 15:53

Сообщений: 13

Re: SoftHangup - WARNING

2meral:
Подскажи, плз, как из базы значение отдать в астериск, например, dial S(x).
2006-04-26 12:06

Avatara of litnimax
Откуда: Москва
Сообщений: 3421

Re: SoftHangup - WARNING

1. Использовать AGI, и из AGI делать SetVar.
2. Собрать app_mysql из addons, и прямо из dialplan вызывать запросы.
Пример:
[macro-route-call]
exten => s,1,MySQL(Connect connid ${DBHOST} ${DBUSER} ${DBPASS} ${DB})
exten => s,n,Set(QUERY=select f_asterisk_get_call_type(${ACCOUNTCODE}\,\'${ARG1}\'\,NULL))
exten => s,n,MYSQL(Query resultid ${connid} ${QUERY})
exten => s,n,MYSQL(Fetch fetchid ${resultid} call_type)
exten => s,n,MYSQL(Clear ${resultid})
exten => s,n,MYSQL(Disconnect ${connid})
exten => s,n,Macro(${call_type},${ARG1})
exten => s,n,Hangup()

http://pbxware.ru - все для Asterisk! || Switchvox - сделано на Asterisk! Подробности на http://switchvox.ru
2006-04-26 13:04

Сообщений: 13

Re: SoftHangup - WARNING

2litnimax:
meral говорил о postgres и о том, что всё можно делать без agi.
2006-04-26 13:20

<1 2
Добавить страницу в закладки:  Delicious Google Slashdot Yahoo Yandex.ru Reddit Digg Technorati Bobrdobr.ru Newsland.ru Smi2.ru Rumarkz.ru Vaau.ru Memori.ru Rucity.com Moemesto.ru News2.ru Mister-Wong.ru Myscoop.ru 100zakladok.ru