Пожалуйста, войдите здесь. Часто задаваемые вопросы О нас
Задайте Ваш вопрос

Не передается в asterisk (trixbox) CallerID с DVG-7022s

0

Не передается в asterisk (trixbox) CallerID с DVG-7022s и упорно отдает номер екстеншенна под которым зарегистрирован порт.

Ситуация такая: делаю входящий звонок на линию. Мониторю DVG-7022s программой slmon и вижу, что железка CallerID определяет:

Fxo Get Dtmf Callerid [”номер с которого звоню”], Len=9

CallerID=”номер с которого звоню”

Дальше железка в соответствии с прописанным Hot Line No. перезванивает на внутренний номер и звонок проходит нормально. Но не в полных логах asterisk, не в статистике CDR callerid не передается не в каком виде. Вместо него везде номер порта.

Пробовал по очереди менять настройки на железке. Добивался лишь того, того что CallerID переставал определяться вообще. Возвращал в рабочее состояние и игрался с настройками asterisk: создавал отдельный контекст для номера порта, назначал уже существующее from-pstn и from-internal.

Ничего не помогает, такое чувство, что железка просто не отдает его, хотя определяет правильно.

Пробовал на разных рабочих железках: DVG-7022s - номер прошивки 1.02.38.28 DVG-6008s - номер прошивки 1.02.38.43

Добавлю что при контексте:

[from-dvg]
exten => _X.,1,Set(name=${CALLERID(name)})
exten => _x.,n,Set(CALLERID(name)=${CALLERID(num)})
exten => _x.,n,Set(CALLERID(num)=${name})
exten => _x.,n,Goto(from-trunk,${EXTEN},1)

в логах астера:

name=device
CALLERID(name)=63030
CALLERID(num)=device

При контексте:

[from-dvg]
exten => _X.,1,NoOp(CALLERID=${CALLERID(all)})
exten => _x.,n,NoOp(EXTEN=${EXTEN})
exten => _x.,n,goto(from-pstn,1144,1)
CALLERID="device"

в логах астера:

CALLERID="device" <63030>

Оба контекста рабочих. Звонки проходят нормально. Но в логи не попадает CALLERID.

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

спросил 2011-08-17 17:43:12 +0400

daniilart Gravatar daniilart
11 1 3

обновил 2011-08-18 12:03:45 +0400

5 Ответов

1

Корректно настроить не удалось. Вопрос решил вырезанием номера из SIP-заголовка и ручным присваиванием вырезанного значения:

[from-dvg]
exten => _X!,1,Set(TESTAT=${CUT(CUT(SIP_HEADER(From),\:,2),@,1)})
exten => _x!,n,Set(CALLERID(name)=${TESTAT})
exten => _x!,n,Set(CALLERID(num)=${TESTAT}) 
exten => _x!,n,Goto(from-pstn,${EXTEN},1)
ссылка удалить спам редактировать

ответил 2011-08-18 17:40:29 +0400

daniilart Gravatar daniilart
11 1 3
0

" упорно отдает номер екстеншенна под которым зарегистрирован порт..." а вы чего хотели, когда регистрировали шлюз, как обычный телефон. Делайте нормальный транк с авторизацией по адресу, и все будет проходить сквозняком..

ссылка удалить спам редактировать

ответил 2011-08-18 16:22:23 +0400

svoy Gravatar svoy
1603 1 4 20
http://svoy.in.ua/

Comments

Нужно было звонить на определенные порты, когда настраивал как транк, делать этого не мог. По этому и экстеншеном каждый порт. daniilart ( 2011-08-18 17:38:59 +0400 )редактировать
1

попробуй выцепить CallerID из SIP заголовка, как то так

exten => s,1,NoOp(================ Incoming call from ${SIP_HEADER(FROM)} to: ${SIP_HEADER(TO}:5:6 )
ссылка удалить спам редактировать

ответил 2011-08-18 13:08:38 +0400

brost Gravatar brost flag of Russian Federation
100 12 3 12
http://asterisk-system.ru...

обновил 2011-08-18 13:09:47 +0400

Comments

Натолкнуло на мысль. Спасибо! daniilart ( 2011-08-18 17:45:27 +0400 )редактировать
0

Решил пропониторить ngrep:

U IP-сервер:5060 -> IP-железки:5060
  SIP/2.0 200 OK..Via: SIP/2.0/UDP IP-железки:5060;branch=z9hG4bK628d9ea112a44f25;received=IP-железки..From: <sip:63
  030@IP-сервер>;tag=31443aaa-685998..To: <sip:63030@IP-сервер>;tag=as58f00ec9..Call-ID: D1B9-11F9-46685998F1344C5
  BB2CE-006@SipHost..CSeq: 13 REGISTER..User-Agent: Asterisk PBX 1.6.0.22-samy-r60..Allow: INVITE, ACK, CANCEL, OPTIONS, B
  YE, REFER, SUBSCRIBE, NOTIFY, INFO..Supported: replaces, timer..Expires: 600..Contact: <sip:63030@IP-железки:5060>;ex
  pires=600..Date: Thu, 18 Aug 2011 07:42:10 GMT..Content-Length: 0....
#
U IP-железки:5060 -> IP-сервер:5060
  INVITE sip:1144@IP-сервер:5060 SIP/2.0..Allow:INVITE,ACK,OPTIONS,BYE,CANCEL,INFO,PRACK,REFER,SUBSCRIBE,NOTIFY,UPDATE
  ..Via:SIP/2.0/UDP IP-железки:5060;branch=z9hG4bKb5f11457f38b0a7f..From: <sip:Номер с которого звоню@IP-сервер;user=phone>;tag=8
  765eafe-686004..To: <sip:1144@IP-сервер:5060>..Call-ID:D1B9-11F9-466860046154EE8EA1AA-007@SipHost..CSeq:14 INVITE..C
  ontact:<sip:63030@IP-железки:5060>..Expires:30..Max-Forwards:70..Supported:replaces..User-Agent:dlink 12-38-28928749-
  0.9.5.1.1140-IAD20..Content-Type:application/sdp..Content-Length:282....v=0..o=63030 1793199480 1793199480 IN IP4 IP-железки..s=Session SDP..c=IN IP4 IP-железки..t=0 0..m=audio 10004 RTP/AVP 18 4 2 0 8..a=rtpmap:18 G729/8000/1..a=fmtp
  :18 annexb=no..a=rtpmap:4 G723/8000/1..a=rtpmap:2 G726-32/8000/1..a=rtpmap:0 PCMU/8000/1..a=rtpmap:8 PCMA/8000/1..

Железка отдает правильно все. В поле from. Плохо знаю астер. Теперь прийдеться разбираться почему нет записи в логах asterisk и в статистике CDR

ссылка удалить спам редактировать

ответил 2011-08-18 12:49:02 +0400

daniilart Gravatar daniilart
11 1 3

обновил 2011-08-18 12:52:26 +0400

0

Параметр Telephony settings --> Ring count before FXO pick up чему равен? Он должен быть больше нуля.

ссылка удалить спам редактировать

ответил 2011-08-17 23:58:07 +0400

zlat Gravatar zlat
471 3 12

обновил 2011-08-17 23:59:49 +0400

Comments

"Ring count before FXO pick up" больше нуля. Железка определяет CALLERID. - daniilart (0 минут назад) daniilart ( 2011-08-18 11:36:25 +0400 )редактировать

Ваш ответ

Please start posting your answer anonymously - your answer will be saved within the current session and published after you log in or create a new account. Please try to give a substantial answer, for discussions, please use comments and please do remember to vote (after you log in)!
[скрыть предварительный просмотр]

Закладки и информация

Добавить закладку

подписаться на rss ленту новостей

Статистика

Задан: 2011-08-17 17:43:12 +0400

Просмотрен: 1,701 раз

Обновлен: Aug 18 '11

Проект компании "АТС Дизайн"
Asterisk® и Digium® являются зарегистрированными торговыми марками компании Digium, Inc., США.
IP АТС Asterisk распространяется под лицензией GNU GPL.