Страница 2 из 3

Re: Получение CallerID

Добавлено: 21 дек 2011, 18:33
slavaka_z
Я думаю, в основном Вам, ded!

Re: Получение CallerID

Добавлено: 27 янв 2012, 15:36
nicolas
Здравствуйте!
У меня возникли проблемы с получением CallerID.
Дистрибутив Elastix 2.0.0-36. В сервере установлена плата TDM2400P, в которую напрямую воткнута аналоговая линия.
На номер подключена услуга "евро Caller ID". Местная АТС точно передает номер - проверил с помощью факсового аппарата Panasonic, предварительно в настройках выставив "Caller ID".
Маршрутизация настроена так: звоню на номер, робот говорит фразу, что все разговоры запсиываются и после этого редирект на ринг-группу.
При звонке в логах:

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

Starting simple switch on 'DAHDI/1-1'                                                                                                                                                   
-- Executing [s@from-pstn:1] Set("DAHDI/1-1", "__FROM_DID=s") in new stack                                                                                                                        
-- Executing [s@from-pstn:2] Gosub("DAHDI/1-1", "app-blacklist-check,s,1") in new stack                                                                                                           
-- Executing [s@app-blacklist-check:1] GotoIf("DAHDI/1-1", "0?blacklisted") in new stack                                                                                                          
-- Executing [s@app-blacklist-check:2] Set("DAHDI/1-1", "CALLED_BLACKLIST=1") in new stack                                                                                                        
-- Executing [s@app-blacklist-check:3] Return("DAHDI/1-1", "") in new stack                                                                                                                       
-- Executing [s@from-pstn:3] ExecIf("DAHDI/1-1", "1 ?Set(CALLERID(name)=)") in new stack                                                                                                          
-- Executing [s@from-pstn:4] Set("DAHDI/1-1", "__CALLINGPRES_SV=allowed_not_screened") in new stack                                                                                               
-- Executing [s@from-pstn:5] Set("DAHDI/1-1", "CALLERPRES()=allowed_not_screened") in new stack                                                                                                   
-- Executing [s@from-pstn:6] Set("DAHDI/1-1", "FAX_DEST=from-did-direct^1000^1") in new stack                                                                                                     
-- Executing [s@from-pstn:7] Answer("DAHDI/1-1", "") in new stack                                                                                                                                 
-- Executing [s@from-pstn:8] Wait("DAHDI/1-1", "4") in new stack                                                                                                                                  
-- Executing [s@from-pstn:9] Goto("DAHDI/1-1", "app-announcement-3,s,1") in new stack
...
-- Executing [s@macro-user-callerid:19] Set("DAHDI/1-1", "CALLERID(number)=") in new stack                                                                                                        
-- Executing [s@macro-user-callerid:20] Set("DAHDI/1-1", "CALLERID(name)=") in new stack

Соответственно на телефонах ринг-группы при звонке отображается "Unknown".

Прежде чем писать сюда я почитал соответствующие темы на форумах, погуглил... В данный момент вот такие настройки:
chan_dahdi.conf:

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

[channels]                                                                                                                                                                                                                                   
context=from-pstn                                                                                                                                                                                                                            
signalling=fxs_ks                                                                                                                                                                                                                            
rxwink=300              ; Atlas seems to use long (250ms) winks                                                                                                                                                                              
usecallerid=yes #default =yes                                                                                                                                                                                                                
hidecallerid=no                                                                                                                                                                                                                              
callwaiting=yes                                                                                                                                                                                                                              
usecallingpres=yes                                                                                                                                                                                                                           
callwaitingcallerid=yes #default =yes                                                                                                                                                                                                        
threewaycalling=yes                                                                                                                                                                                                                          
transfer=yes                                                                                                                                                                                                                                 
canpark=yes                                                                                                                                                                                                                                  
cancallforward=yes                                                                                                                                                                                                                           
callreturn=yes                                                                                                                                                                                                                               
echocancel=yes                                                                                                                                                                                                                               
echocancelwhenbridged=yes #default =no                                                                                                                                                                                                       
faxdetect=incoming                                                                                                                                                                                                                           
echotraining=800                                                                                                                                                                                                                             
rxgain=5.0                                                                                                                                                                                                                                   
txgain=5.0                                                                                                                                                                                                                                   
callgroup=1                                                                                                                                                                                                                                  
pickupgroup=1                                                                                                                                                                                                                                
callerid=asreceived                                                                                                                                                                                                                          
cidsignalling=dtmf                                                                                                                                                                                                                           
cidstart=ring
dahdi_channels.conf

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

; Span 1: WCTDM/0 "Wildcard TDM2400P Board 1" (MASTER)                                                                                                                                                                                       
;;; line="1 WCTDM/0/0 FXSKS"                                                                                                                                                                                                                 
signalling=fxs_ks                                                                                                                                                                                                                            
callerid=asreceived                                                                                                                                                                                                                          
group=0                                                                                                                                                                                                                                      
context=from-pstn                                                                                                                                                                                                                            
channel => 1                                                                                                                                                                                                                                 
callerid=                                                                                                                                                                                                                                    
group=                                                                                                                                                                                                                                       
context=default
Подскажите в какую сторону копать...

Re: Получение CallerID

Добавлено: 27 янв 2012, 16:03
Vlad1983
поиграть c cidsignalling точно не dtmf

Re: Получение CallerID

Добавлено: 27 янв 2012, 16:20
nicolas
Пробовал разные варианты (bell, v23). Все равно не получаю

Re: Получение CallerID

Добавлено: 27 янв 2012, 20:10
Vlad1983
вообщеработает в такой конфигурации
[channels]
language=ru
echocancel=yes
echocancelwhenbridged=yes
echotraining=400
busydetect=yes
busycount=7
relaxdtmf=yes
callwaiting=no
group=1
usecallerid=yes
callgroup=1
pickupgroup=1

...
signalling=fxs_ks
echocancel=yes
echotraining=400
context=from-zap
relaxdtmf=yes
group=9
busydetect=yes
busycount=7
pulsedial=no
usecallerid=yes

channel => 6
...
попробовать убрать всё лишнее

Re: Получение CallerID

Добавлено: 31 янв 2012, 12:29
nicolas
Спасибо. Сравнил конфиги. Сделал на основе Вашего, но так и не получил callerid:(
Дозвонился до тел. станции, чтобы уточнить стандарт callerid. Они отдают нам callerid в FSK.
В chan_dahdi.conf прописал:

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

cidsignalling=fsk                                                                                                                                                                                                                            
cidstart=ring
Не заработало...
Так же не получаю callerid при закомменченных вышенаписанных строках.
Здесь вычитал http://ru.wikipedia.org/wiki/Caller_ID, что:
FSK стандарт: Поток данных (1200 бод, стартовый бит, 8 битов информации, 1 стоповый бит) передаётся частотной модуляцией с центральной частотой 1700Гц перед первым или перед вторым звонком на линии.
Попробовал параметр sendcalleridafter выставить в 1 и в 2 - неуспех :(

Re: Получение CallerID

Добавлено: 31 янв 2012, 13:11
ded
Debug, debug & one more - debug!

Re: Получение CallerID

Добавлено: 31 янв 2012, 17:25
nicolas
Ded, я выставлял "set core debug 10". Смотрел-смотрел дебаг звонка, но так ничего и не заметил:(
Единственное, что я понял - нет переполюсовки:

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

DEBUG[3623] chan_dahdi.c: Monitor doohicky got event Ring Begin on channel 1
Вот здесь я выложиол дебаг звонка: http://narod.ru/disk/39198101001/full.html
Я старался убрать лишнее, но все равно довольно много получилось... Не могли бы Вы глянуть? Может направите в нужном направлении?

Re: Получение CallerID

Добавлено: 31 янв 2012, 18:09
ded
debug 10 будет видно в /var/log/asterisk/full а не в консоли.
Не могу взглянуть - много работы. Могу только подталкивать в нужном направлении.
Надо дебажить dahdi, у вас же карта имеет порт FXO? Значит именно он занимается обработкой CID.

Re: Получение CallerID

Добавлено: 31 янв 2012, 19:34
nicolas
Извините, невнятно написал...
Приведенная выше цитата как раз из /asterisk/full.
Да, имеет. Спасибо!