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

Проблема с CDR - много лишнего

1 23>
Откуда: Саратов
Сообщений: 414

Проблема с CDR - много лишнего

Звоню с мобильного на домашний тел, домашний Астериск 1.2.27 поднимает трубку, я донабираю нужный номер и через SIP-провайдера звоню куда нужно. В CDR отображается только входящий звонок на Астериск, длительность которого отсчитывается от момента поднятия Астериском трубки. Потом добавил ForkCDR. Теперь стало отображаться оба звонка - входящий на Астериск и исходящий на SIP-провайдера. А как сделать так, чтобы входящий звонок вообще не отображался в CDR, а для SIP-провайдера писались только отвеченные звонки?
+7(925)140-7438
2008-07-30 18:30

Сообщений: 1573

Re: Проблема с CDR - много лишнего

ForkCDR: Forks the Call Data Record
NoCDR: Tell Asterisk to not maintain a CDR for the current call
ResetCDR: Resets the Call Data Record
2008-07-30 18:41

Avatara of anest
Откуда: pl Earth
Сообщений: 224

Re: Проблема с CDR - много лишнего

или поставить биллинг :) например a2b
Успехов!
2008-07-30 21:56

Откуда: Саратов
Сообщений: 414

Re: Проблема с CDR - много лишнего

Биллинг абсолютно излишен. Информации из CDR вполне бы хватило. NoCDR действует на оба конца звонка, так что это не прокатило. Мож ещё кто что подскажет?
+7(925)140-7438
2008-07-30 22:41

Сообщений: 1573

Re: Проблема с CDR - много лишнего

А если включить кое что? )

[in_call]
exten => s,1,Answer
exten => s,n,NoCDR()
...
exten => s,n,WaitExten(8)
exten => _X.,1,GoTo(out_prov,${EXTEN},1)

[out_prov]
exten => _X.,1,ForkCDR()
exten => _X.,n, ...

Можно и так:

[in_call]
exten => s,1,Answer
exten => s,n,NoCDR()
exten => s,n,WaitExten(8)
exten => _X.,1,ForkCDR()
exten => _X.,n,Dial ...
2008-07-31 01:00

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

Re: Проблема с CDR - много лишнего

Evgen:

... а для SIP-провайдера писались только отвеченные звонки?
В cdr.conf:
[general]
unanswered = no
http://pbxware.ru - все для Asterisk! || Switchvox - сделано на Asterisk! Подробности на http://switchvox.ru
2008-08-03 16:05

Сообщений: 1573

Re: Проблема с CDR - много лишнего

Опа ..., новая(давно нужная) опция появилась ...
2008-08-03 17:49

Откуда: Саратов
Сообщений: 414

Re: Проблема с CDR - много лишнего

В первоначальном посте шла речь об Астериск 1.2.27, такой опции там не было. Позавчера снёс его и установил 1.4.21, там unanswered=no присутствует, причем в описании сказано, что эта опция включена по умолчанию.
В общем, с помощью ForkCDR и NoCDR (спасибо cron333) можно добиться того, чтобы входящий звонок вообще не отображался в CDR.
Но звонки на SIP-провайдера пишутся все, как отвеченные, так и любые неотвеченные, вне зависимости от "unanswered=no/yes".

Пробовал делать NoCDR или ResetCDR в зависимости от DIALSTATUS, но в итоге всё равно пишется всё.

exten => _X.,1,Dial(SIP/SipNet/${EXTEN})
exten => _X.,n,GotoIf($["${DIALSTATUS}" = "ANSWER"]?label)
exten => _X.,n,NoCDR (или ResetCDR)
exten => _X.,n(label),Hangup

Куда копать?
+7(925)140-7438
2008-08-04 00:02

Сообщений: 1573

Re: Проблема с CDR - много лишнего

exten => _X.,1,NoCDR
exten => _X.,n,Dial(SIP/SipNet/${EXTEN},,g)
exten => _X.,n,GotoIf($["${DIALSTATUS}" = "ANSWER"]?label)
exten => _X.,n,Hangup

exten => _X.,n(label),ResetCDR()
exten => _X.,n,Hangup

я бы так сделал:

exten => _X.,1,Macro(dial-out,${EXTEN},60)

[macro-dial-out]
exten => s,1,NoCDR
exten => s,n,Dial(SIP/SipNet/${ARG1},${ARG2})
exten => s,n,GoTo(s-${DIALSTATUS},1)

exten => s-ANSWER,1,ResetCDR()
exten => s-ANSWER,n,Hangup
exten => _s-.,1,Hangup
2008-08-04 10:31

Откуда: Саратов
Сообщений: 414

Re: Проблема с CDR - много лишнего

1) exten => _X.,1,NoCDR
2) exten => _X.,n,Dial(SIP/SipNet/${EXTEN},,g)
3) exten => _X.,n,GotoIf($["${DIALSTATUS}" = "ANSWER"]?label)
4) exten => _X.,n,Hangup

В варианте Dial без флага "g" до третьей строчки доходили попытки звонков со статусом BUSY или CHANUNAVAIL, все остальные заканчивались сообщением:
== Spawn extension (default, 84959119514, 1) exited non-zero on 'SIP/192.168.0.61-b6b00f68'
В варианте Dial с флагом "g" до третьей строчки стали доходить и отвеченные звонки, то есть звонки со статусом ANSWER.
А вот если я кладу трубку, не дождавшись ответа абонента, то такие звонки и щас пропадают где-то в этом "сложном" диалплане из 4 строк с тем же страшным сообщением:
== Spawn extension (default, 84959119514, 1) exited non-zero on 'SIP/192.168.0.61-b6b00f68'
Причём debug говорит, что всё нормально. То есть мы видим правильный DIALSTATUS=CANCEL

[Aug 4 15:25:30] DEBUG[25702] chan_sip.c: **** Received BYE (8) - Command in SIP BYE
[Aug 4 15:25:30] DEBUG[25702] chan_sip.c: Setting SIP_ALREADYGONE on dialog ef6be97d-f2789c85@192.168.0.61
[Aug 4 15:25:30] DEBUG[25702] chan_sip.c: Received bye, issuing owner hangup
[Aug 4 15:25:30] DEBUG[26888] rtp.c: Channel '<unspecified>' has no RTP, not doing anything
[Aug 4 15:25:30] DEBUG[26888] channel.c: Hanging up channel 'SIP/SipNet-081f0530'
[Aug 4 15:25:30] DEBUG[26888] chan_sip.c: Hangup call SIP/SipNet-081f0530, SIP callid 68cecd79394fdf0a4e0bd9dd37d81b1f@sipne$
[Aug 4 15:25:30] DEBUG[26888] chan_sip.c: Hanging up channel in state Ringing (not UP)
[Aug 4 15:25:30] DEBUG[26888] chan_sip.c: Acked pending invite 103
[Aug 4 15:25:30] DEBUG[26888] chan_sip.c: Stopping retransmission on '68cecd79394fdf0a4e0bd9dd37d81b1f@sipnet.ru' of Request$
[Aug 4 15:25:30] DEBUG[26888] devicestate.c: Notification of state change to be queued on device/channel SIP/SipNet-081f0530
[Aug 4 15:25:30] DEBUG[26888] devicestate.c: Notification of state change to be queued on device/channel SIP/SipNet
[Aug 4 15:25:30] DEBUG[25695] devicestate.c: No provider found, checking channel drivers for SIP - SipNet-081f0530
[Aug 4 15:25:30] DEBUG[26888] app_dial.c: Exiting with DIALSTATUS=CANCEL.
[Aug 4 15:25:30] DEBUG[25695] chan_sip.c: Checking device state for peer SipNet-081f0530
[Aug 4 15:25:30] DEBUG[26888] pbx.c: Spawn extension (default,84959119514,1) exited non-zero on 'SIP/192.168.0.61-b6b00c38'
[Aug 4 15:25:30] DEBUG[26888] channel.c: Soft-Hanging up channel 'SIP/192.168.0.61-b6b00c38'
[Aug 4 15:25:30] DEBUG[26888] channel.c: Hanging up channel 'SIP/192.168.0.61-b6b00c38'
[Aug 4 15:25:30] DEBUG[26888] chan_sip.c: Hangup call SIP/192.168.0.61-b6b00c38, SIP callid ef6be97d-f2789c85@192.168.0.61)

Похоже, мне просто неизвестно, что конкретно делает Asterisk после команды Dial.
+7(925)140-7438
2008-08-04 15:45

1 23>
Добавить страницу в закладки:  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