Вход | Регистрация
Вы здесь: Главная / Форум / Главный форум по Asterisk / TrixBox, Elastix, FreePbx / Elastix и CallerID

Elastix и CallerID

Не определяет номер DTM410/4FXO сигнал PSTN DTMF
1 2>
Сообщений: 70

Elastix и CallerID

Привет всем, прошу помочь разобраться с проблемой.

Подключили на станции функцию определителя номера в формате DTMF (стандарта FSK у нас нет).
Определитель точно работает (проверял на Panasonic dect с функцией CallerID)
Chan_dahdi.conf
[channels]
context=from-pstn
signalling=fxs_ks
rxwink=300 ; Atlas seems to use long (250ms) winks
usecallerid=yes
hidecallerid=no
callwaiting=yes
usecallingpres=yes
callwaitingcallerid=yes
threewaycalling=yes
transfer=yes
canpark=yes
cancallforward=yes
callreturn=yes
echocancel=yes
echocancelwhenbridged=no
faxdetect=incoming
echotraining=100
rxgain=0.0
txgain=0.0
callgroup=1
pickupgroup=1
Language=ru
;Uncomment these lines if you have problems with the disconection of your analog lines
;busydetect=yes
;busycount=3
dtmfmode=rfc2833

;
;
cidsignalling=dtmf
cidstart=polarity
callerid=asreceived
;
;

immediate=no

#include dahdi-channels.conf
#include chan_dahdi_additional.conf

При звонке с города.

-- Called g0/272030
-- Remote UNIX connection
-- Remote UNIX connection disconnected
-- DAHDI/1-1 answered SIP/102-b7c0b7e8
-- Starting simple switch on 'DAHDI/2-1'
-- Executing [s@from-pstn:1] Set("DAHDI/2-1", "__FROM_DID=s") in new stack
-- Executing [s@from-pstn:2] Gosub("DAHDI/2-1", "app-blacklist-check|s|1") in new stack
-- Executing [s@app-blacklist-check:1] LookupBlacklist("DAHDI/2-1", "") in new stack
-- Executing [s@app-blacklist-check:2] GotoIf("DAHDI/2-1", "0?blacklisted") in new stack
-- Executing [s@app-blacklist-check:3] Return("DAHDI/2-1", "") in new stack
-- Executing [s@from-pstn:3] ExecIf("DAHDI/2-1", "1 |Set|CALLERID(name)=") in new stack
-- Executing [s@from-pstn:4] Set("DAHDI/2-1", "__CALLINGPRES_SV=allowed_not_screened") in new stack
-- Executing [s@from-pstn:5] SetCallerPres("DAHDI/2-1", "allowed_not_screened") in new stack
-- Executing [s@from-pstn:6] Set("DAHDI/2-1", "_RGPREFIX=Landline") in new stack
-- Executing [s@from-pstn:7] Set("DAHDI/2-1", "CALLERID(name)=Landline") in new stack
-- Executing [s@from-pstn:8] Goto("DAHDI/2-1", "ivr-4|s|1") in new stack
-- Goto (ivr-4,s,1)
-- Executing [s@ivr-4:1] Set("DAHDI/2-1", "MSG=custom/welcome") in new stack
-- Executing [s@ivr-4:2] Set("DAHDI/2-1", "LOOPCOUNT=0") in new stack
-- Executing [s@ivr-4:3] Set("DAHDI/2-1", "__DIR-CONTEXT=default") in new stack
-- Executing [s@ivr-4:4] Set("DAHDI/2-1", "_IVR_CONTEXT_ivr-4=") in new stack
-- Executing [s@ivr-4:5] Set("DAHDI/2-1", "_IVR_CONTEXT=ivr-4") in new stack
-- Executing [s@ivr-4:6] GotoIf("DAHDI/2-1", "0?begin") in new stack
-- Executing [s@ivr-4:7] Answer("DAHDI/2-1", "") in new stack
-- Executing [s@ivr-4:8] Wait("DAHDI/2-1", "1") in new stack
-- Executing [s@ivr-4:9] Set("DAHDI/2-1", "TIMEOUT(digit)=3") in new stack
-- Digit timeout set to 3
-- Executing [s@ivr-4:10] Set("DAHDI/2-1", "TIMEOUT(response)=2") in new stack
-- Response timeout set to 2
-- Executing [s@ivr-4:11] Set("DAHDI/2-1", "__IVR_RETVM=") in new stack
-- Executing [s@ivr-4:12] ExecIf("DAHDI/2-1", "1|Background|custom/welcome") in new stack
-- <DAHDI/2-1> Playing 'custom/welcome' (language 'ru')
== CDR updated on DAHDI/2-1
-- Executing [2@ivr-4:1] DBdel("DAHDI/2-1", "") in new stack
-- Executing [2@ivr-4:2] Set("DAHDI/2-1", "__NODEST=") in new stack
-- Executing [2@ivr-4:3] Goto("DAHDI/2-1", "ext-group|601|1") in new stack
-- Goto (ext-group,601,1)
-- Executing [601@ext-group:1] Macro("DAHDI/2-1", "user-callerid|") in new stack
-- Executing [s@macro-user-callerid:1] Set("DAHDI/2-1", "AMPUSER=") in new stack
-- Executing [s@macro-user-callerid:2] GotoIf("DAHDI/2-1", "0?report") in new stack
-- Executing [s@macro-user-callerid:3] ExecIf("DAHDI/2-1", "1|Set|REALCALLERIDNUM=") in new stack
-- Executing [s@macro-user-callerid:4] Set("DAHDI/2-1", "AMPUSER=") in new stack
-- Executing [s@macro-user-callerid:5] Set("DAHDI/2-1", "AMPUSERCIDNAME=") in new stack
-- Executing [s@macro-user-callerid:6] GotoIf("DAHDI/2-1", "1?report") in new stack
-- Goto (macro-user-callerid,s,10)
-- Executing [s@macro-user-callerid:10] GotoIf("DAHDI/2-1", "0?continue") in new stack
-- Executing [s@macro-user-callerid:11] Set("DAHDI/2-1", "__TTL=64") in new stack
-- Executing [s@macro-user-callerid:12] GotoIf("DAHDI/2-1", "1?continue") in new stack
-- Goto (macro-user-callerid,s,19)
-- Executing [s@macro-user-callerid:19] NoOp("DAHDI/2-1", "Using CallerID "Landline" <>") in new stack
-- Executing [601@ext-group:2] GotoIf("DAHDI/2-1", "1?skipdb") in new stack
-- Goto (ext-group,601,4)
-- Executing [601@ext-group:4] Set("DAHDI/2-1", "__NODEST=") in new stack
-- Executing [601@ext-group:5] Set("DAHDI/2-1", "__BLKVM_OVERRIDE=BLKVM/601/DAHDI/2-1") in new stack
-- Executing [601@ext-group:6] Set("DAHDI/2-1", "__BLKVM_BASE=601") in new stack
-- Executing [601@ext-group:7] Set("DAHDI/2-1", "DB(BLKVM/601/DAHDI/2-1)=TRUE") in new stack
-- Executing [601@ext-group:8] Set("DAHDI/2-1", "RRNODEST=") in new stack
-- Executing [601@ext-group:9] Set("DAHDI/2-1", "__NODEST=601") in new stack
-- Executing [601@ext-group:10] Set("DAHDI/2-1", "RecordMethod=Group") in new stack
-- Executing [601@ext-group:11] Macro("DAHDI/2-1", "record-enable|103-104|Group") in new stack
-- Executing [s@macro-record-enable:1] GotoIf("DAHDI/2-1", "1?check") in new stack
-- Goto (macro-record-enable,s,4)
-- Executing [s@macro-record-enable:4] AGI("DAHDI/2-1", "recordingcheck|20100504-122520|1272957906.132") in new stack
-- Launched AGI Script /var/lib/asterisk/agi-bin/recordingcheck
-- AGI Script recordingcheck completed, returning 0
-- Executing [s@macro-record-enable:5] MacroExit("DAHDI/2-1", "") in new stack
-- Executing [601@ext-group:12] Set("DAHDI/2-1", "RingGroupMethod=ringall") in new stack
-- Executing [601@ext-group:13] Macro("DAHDI/2-1", "dial|20|tr|103-104") in new stack
-- Executing [s@macro-dial:1] GotoIf("DAHDI/2-1", "1?dial") in new stack
-- Goto (macro-dial,s,3)
-- Executing [s@macro-dial:3] AGI("DAHDI/2-1", "dialparties.agi") in new stack
-- Launched AGI Script /var/lib/asterisk/agi-bin/dialparties.agi
dialparties.agi: Starting New Dialparties.agi
== Parsing '/etc/asterisk/manager.conf': Found
== Parsing '/etc/asterisk/manager_additional.conf': Found
== Parsing '/etc/asterisk/manager_custom.conf': Found
[May 4 12:25:20] WARNING[3668]: config.c:765 process_text_line: Unknown directive '#permit=192.168.1.0/255.255.255.0' at line 18 of /etc/asterisk/manager_custom.conf
== Manager 'admin' logged on from 127.0.0.1
dialparties.agi: Caller ID name is 'Landline' number is 'unknown'
dialparties.agi: USE_CONFIRMATION: 'FALSE'
dialparties.agi: RINGGROUP_INDEX: ''
dialparties.agi: Methodology of ring is 'ringall'
-- dialparties.agi: Added extension 103 to extension map
-- dialparties.agi: Added extension 104 to extension map
-- dialparties.agi: Extension 103 cf is disabled
-- dialparties.agi: Extension 104 cf is disabled
-- dialparties.agi: Extension 103 do not disturb is disabled
-- dialparties.agi: Extension 104 do not disturb is disabled
> dialparties.agi: extnum 103 has: cw: 0; hascfb: 0 [] hascfu: 0 []
dialparties.agi: ExtensionState: 0
dialparties.agi: Extension 103 has ExtensionState: 0
-- dialparties.agi: Checking CW and CFB status for extension 103
-- dialparties.agi: DbDel CALLTRACE/103 - Caller ID is not defined
> dialparties.agi: extnum 104 has: cw: 0; hascfb: 0 [] hascfu: 0 []
dialparties.agi: ExtensionState: 0
dialparties.agi: Extension 104 has ExtensionState: 0
-- dialparties.agi: Checking CW and CFB status for extension 104
-- dialparties.agi: DbDel CALLTRACE/104 - Caller ID is not defined
-- dialparties.agi: Filtered ARG3: 103-104
> dialparties.agi: NODEST: 601 adding M(auto-blkvm) to dialopts: trM(auto-blkvm)
> dialparties.agi: NODEST: 601 blkvm enabled macro already in dialopts: trM(auto-blkvm)
== Manager 'admin' logged off from 127.0.0.1
-- AGI Script dialparties.agi completed, returning 0
-- Executing [s@macro-dial:7] Dial("DAHDI/2-1", "SIP/103&SIP/104|20|trM(auto-blkvm)") in new stack
[May 4 12:25:20] NOTICE[3665]: app_dial.c:1185 dial_exec_full: Hey! chan DAHDI/2-1's context='macro-dial', and exten='s'
-- Called 103
-- Called 104
-- SIP/103-09186c60 is ringing
-- SIP/104-091ab5a0 is ringing
-- Executing [h@macro-dialout-trunk:1] Macro("SIP/102-b7c0b7e8", "hangupcall|") in new stack
-- Executing [s@macro-hangupcall:1] GotoIf("SIP/102-b7c0b7e8", "1?skiprg") in new stack
-- Goto (macro-hangupcall,s,4)
-- Executing [s@macro-hangupcall:4] GotoIf("SIP/102-b7c0b7e8", "1?skipblkvm") in new stack
-- Goto (macro-hangupcall,s,7)
-- Executing [s@macro-hangupcall:7] GotoIf("SIP/102-b7c0b7e8", "1?theend") in new stack
-- Goto (macro-hangupcall,s,9)
-- Executing [s@macro-hangupcall:9] Hangup("SIP/102-b7c0b7e8", "") in new stack
== Spawn extension (macro-hangupcall, s, 9) exited non-zero on 'SIP/102-b7c0b7e8' in macro 'hangupcall'
== Spawn h extension (macro-dialout-trunk, h, 1) exited non-zero on 'SIP/102-b7c0b7e8'
-- Hungup 'DAHDI/1-1'
== Spawn extension (macro-dialout-trunk, s, 19) exited non-zero on 'SIP/102-b7c0b7e8' in macro 'dialout-trunk'
== Spawn extension (from-internal, 272030, 4) exited non-zero on 'SIP/102-b7c0b7e8'

При входящем звонке на телефоне Landline: Unknown

Прошу подсказать в каком направлении копать

Версии: Asterisk 1.4.26.1
Не всё так сложно как кажется, но мозгов пока видно не хватает!
2010-05-04 11:30

Сообщений: 19

Re: Elastix и CallerID

Неплохо было бы устранить сначала очевидные ошибки -
[May 4 12:25:20] WARNING[3668]: config.c:765 process_text_line: Unknown directive '#permit=192.168.1.0/255.255.255.0' at line 18 of /etc/asterisk/manager_custom.conf

...а потом обратить внимание на -
-- Executing [s@from-pstn:6] Set("DAHDI/2-1", "_RGPREFIX=Landline") in new stack
-- Executing [s@from-pstn:7] Set("DAHDI/2-1", "CALLERID(name)=Landline") in new stack

скорее всего, CID подменяется на транке
2010-05-04 12:43

Сообщений: 70

Re: Elastix и CallerID

Caller ID name is 'Landline' number is 'unknown'

landline всего лишь префикс.
Не всё так сложно как кажется, но мозгов пока видно не хватает!
2010-05-04 13:58

Avatara of zzuz
Откуда: SPb
Сообщений: 1307

Re: Elastix и CallerID

ну.. name не number.
-что в файле dahdi-channels.conf ?
-зачем dtmfmode в конфиге?
-Вы уверены , что cidstart=polarity ?
http://линия24.рф - Астериск и прочие бубны!
2010-05-04 14:01

Сообщений: 19

Re: Elastix и CallerID

Из опыта:
была плата TDM808 (8 FXO)
+ 8 CO
+ провайдер Петерстар (восемь линий CO в серию к номеру ххххххх)
Номера определялись очень редко (~1-5 в день), и только на МегаФоне =)
В качестве временного эксперимента, был изменен провайдер на Совинтел/Билайн - все входящие вызовы определялись на 99%.
После звонка в суппорт Петерстара выяснилось, что CallerID они не передают по аналоговым линиям, только по цифре.
Перешли на Е1.
Забыли про проблему.

p.s. вспоминая холивар с джихадом по поводу того, умеет ли TDM определять номер собственными силами... могу сказать... что скорее всего - может, но не всегда это происходит. imho
2010-05-04 15:49

Сообщений: 70

Re: Elastix и CallerID

dahdi-channels.conf

; Span 1: WCTDM/0 "Wildcard TDM410P Board 1" (MASTER)
;;; line="1 WCTDM/0/0 FXSKS"
signalling=fxs_ks
callerid=
group=0
context=from-pstn
channel => 1
callerid=
group=
context=default

;;; line="2 WCTDM/0/1 FXSKS"
signalling=fxs_ks
callerid=
group=0
context=from-pstn
channel => 2
callerid=
group=
context=default

;;; line="3 WCTDM/0/2 FXSKS"
signalling=fxs_ks
callerid=
group=0
context=from-pstn
channel => 3
callerid=
group=
context=default

;;; line="4 WCTDM/0/3 FXSKS"
signalling=fxs_ks
group=0
context=from-pstn
channel => 4
callerid=
group=
context=default

dtmfmode в конфиге, когда люди набирают в IVR добавочный номер не туда попадают,добавил надпись вроде лучше стало. Или это не правильно?

-Вы уверены , что cidstart=polarity ?

Не уверен, что находил в инете ставил не помогало.
Не всё так сложно как кажется, но мозгов пока видно не хватает!
2010-05-04 16:16

Avatara of zzuz
Откуда: SPb
Сообщений: 1307

Re: Elastix и CallerID

все вопросы сюда
configs/chan_dahdi.conf.sample
http://линия24.рф - Астериск и прочие бубны!
2010-05-04 16:21

Сообщений: 70

Re: Elastix и CallerID

zzuz:

все вопросы сюда
configs/chan_dahdi.conf.sample
По вашему совету не много изменил конфиг в частности убрал dtmfmode, указал relaxdtmf=yes

[root@call asterisk]# cat chan_dahdi.conf
[trunkgroups]

[channels]
context=from-pstn
signalling=fxs_ks
rxwink=300 ; Atlas seems to use long (250ms) winks
usecallerid=yes
hidecallerid=no
callwaiting=yes
usecallingpres=yes
callwaitingcallerid=yes
threewaycalling=yes
transfer=yes
canpark=yes
cancallforward=yes
callreturn=yes
echocancel=yes
echocancelwhenbridged=no
faxdetect=incoming
echotraining=100
rxgain=0.0
txgain=0.0
callgroup=1
pickupgroup=1
Language=ru
;Uncomment these lines if you have problems with the disconection of your analog lines
;busydetect=yes
;busycount=3
;dtmfmode=rfc2833
relaxdtmf=yes
;
;
cidsignalling=dtmf
cidstart=polarity
callerid=asreceived
;
;

immediate=no

#include dahdi-channels.conf
#include chan_dahdi_additional.conf

Пробывал разные значения для cidstart и cidsignalling номер не определяет.
Не всё так сложно как кажется, но мозгов пока видно не хватает!
2010-05-05 10:12

Сообщений: 6521

Re: Elastix и CallerID

cidstart= - вряд ли polarity, и Вы это можете проверить. Включайте дебаг побольше и анализируйте /var/log/asterisk/full
Cкорее всего надо определить - CID приходит после первого ring или после второго.
2010-05-05 10:22

Сообщений: 70

Re: Elastix и CallerID

ded:

cidstart= - вряд ли polarity, и Вы это можете проверить. Включайте дебаг побольше и анализируйте /var/log/asterisk/full
Cкорее всего надо определить - CID приходит после первого ring или после второго.
Как я понимаю если cidstart=стоит ring то астериск пытается определить в первый ring?
Что нужно поставить если со второго звонка?
Не всё так сложно как кажется, но мозгов пока видно не хватает!
2010-05-05 11:01

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