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

Кто повесил трубку

Как определить кто положил трубку
1 2>
Откуда: NiNo
Сообщений: 112

Кто повесил трубку

День добрый,

Есть * 1.4.23, есть звонок из 2 легов:
1 - приходит на астериск с наружи
2 - уходит с астериска через команду Dial.

Возможно ли определить на каком леге первыми положили трубку ?

P.S.
канал sip, проксирование полное.
http://code.google.com/p/virtual-pbx - я не червонец, чтобы нравиться всем....
2009-02-27 13:45

Avatara of Alekz
Откуда: Санкт-Петербург
Сообщений: 931

Re: Кто повесил трубку

Да, можно. Независимо от проксирования.
Создам аварийную ситуацию. Дорого. На долго =)
2009-02-27 14:10

Откуда: NiNo
Сообщений: 112

Re: Кто повесил трубку

Alekz:

Да, можно. Независимо от проксирования.
а ключевое слово, если не затруднит ?
http://code.google.com/p/virtual-pbx - я не червонец, чтобы нравиться всем....
2009-02-27 14:13

Avatara of Alekz
Откуда: Санкт-Петербург
Сообщений: 931

Re: Кто повесил трубку

Обрабатывайте результат команды Dial. (Ключевое слово Dial)
Создам аварийную ситуацию. Дорого. На долго =)
2009-02-27 14:56

Сообщений: 80

Re: Кто повесил трубку

самый простой - добавить опцию g в комманду Dial:
"g: Когда вызываемый абонент вешает трубку, продолжить выполнение команд далее по текущему контексту."
В этом случае после Dial можно устанавливать флаг, а затем проверять его значение в нужном месте.

http://voip.rus.net/tiki-index.php?page=Asterisk+cmd+Dial
2009-02-27 15:13

Откуда: NiNo
Сообщений: 112

Re: Кто повесил трубку

Спасибо !
http://code.google.com/p/virtual-pbx - я не червонец, чтобы нравиться всем....
2009-02-27 15:38

Откуда: NiNo
Сообщений: 112

Re: Кто повесил трубку

...в продолжение...

Я хотел полученое значение сохранить в CDR ( cdr_custom ), а в случае, если я выставляю флаг после команды Dial, CDR уже записан...

Возможно ли и как сохранить этот флаг в штатных CDR ? Или только через AGI ?
http://code.google.com/p/virtual-pbx - я не червонец, чтобы нравиться всем....
2009-02-27 18:09

Сообщений: 80

Re: Кто повесил трубку

можно выставлять флаг так

exten => _Х.,1,Set(VAR=0)
exten => _Х.,n,Dial(...,g)
exten => _Х.,n,Set(VAR=1)
exten => h, 1,Set(CDR(flag)=VAR)

для того чтобы CDR писался ПОСЛЕ выполнения exten h, необходимо изменить опции файла cdr.conf:
"add an option to cdr.conf that enables ending CDRs before executing the "h" extension as opposed to afterwards"
2009-02-27 18:45

Откуда: NiNo
Сообщений: 112

Re: Кто повесил трубку

context default {
_X. => {
Set(CDR(srcip)=${SIPCHANINFO(peerip)});
Set(CDR(who_terminated)=SRC);
Set(called_number=${EXTEN});
goto route|${EXTEN}|1;
};
}

context route {
_1888NXXXXXX => {
Dial(SIP/${called_number}@toll-free-bridge,,g);
Set(CDR(who_terminated)=DST);
Hangup();
};
_X. => {
Dial(SIP/${called_number}@default-bridge,,g);
Set(CDR(who_terminated)=DST);
Hangup();
};
h => {
NoOp(---);
};
};
endbeforehexten - игрался yes/no

в CDR'ах имею один CDR для Dial, who_terminated всегда SRC
http://code.google.com/p/virtual-pbx - я не червонец, чтобы нравиться всем....
2009-02-27 19:35

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

Re: Кто повесил трубку

Попробуйте тоже самое сделать на старом добром extensions, в AEL есть очень странные баги.
http://pbxware.ru - все для Asterisk! || Switchvox - сделано на Asterisk! Подробности на http://switchvox.ru
2009-03-02 18:44

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