Как подружить Linksys SPA3000 CallerID МГТС (FSK) и Asterisk 1.8
Господа,
помогите разобраться с CallerID на SPA3000
Имею связку МГТС (495 услуга CallerID подключена) -> SPA3000 -> Asterisk
При прямом подключении телефона к линии, входящий номер определяется.
При связке SPA3000 -> Asterisk номер вызываемого абонента не передается. Хотя на закладке "Info" SPA3000 номер определен.
Настройки SPA3000:
---Вкладка Regional---
Caller ID Method: ETSI FSK
Caller ID FSK Standard: V.23
---Вкладка PSTN Line---
Смотрите прикрепленные фотографии
Настройки Asterisk
---user.conf-----
Настройки Линии МГТС
[mgts](lan)
username=mgts
secret=************ ;Пароль
callerid="MGTS"
;cid_number=500
context=incoming ;диал-план
qualify=yes ;постоянно держим связь с клиентом
nat=no ;предполагаем, что клиент может быть за NAT
call-limit=1 ;ограничиваем кол-во одновременных звонков
busylevel=1 ;сообщаем, когда отбивать с сигналом “занято”
rtpkeepalive=5 ;интервал в секундах для пинга клиента.
callgroup=3
pickupgroup=3
insecure=invite
----extension.conf----
[incoming];МГТС
exten => 74959******,1,Log(NOTICE, Incoming call from ${CALLERID(all)})
exten => 74959******,n,Dial(SIP/300&SIP/301&SIP/305,40,t)
exten => 74959******,n,Hangup()
--------------------------
Вычитал на западных форумах, что помогает установка "*" в поле PSTN Caller ID Pattern на вкладке PSTN line SPA3000.
Но в этом случае, при входящем звонке с городской линии МГТС, Asterisk выдает ошибку в консоли CLI.
Вот так выглядит дебаг, если PSTN CID For VoIP CID выключен:
Входящий звонок МГТС без определителя номера
SIP/2.0 100 Trying
Via: SIP/2.0/UDP 192.168.1.12:5060;branch=z9hG4bK-9840e033;received=192.168.1.12
From: MGTS ;tag=93536318942c169fo1
To:
Call-ID: 954e434c-ce4993fb@192.168.1.12
CSeq: 102 INVITE
Server: Ivanovy
Allow: INVITE, ACK, CANCEL, OPTIONS, BYE, REFER, SUBSCRIBE, NOTIFY, INFO, PUBLISH, MESSAGE
Supported: replaces, timer
Contact:
Content-Length: 0
-- Executing [74957777777@incoming:1] Log("SIP/mgts-00000009", "NOTICE, Incoming call from "MGTS" ") in new stack
[Mar 3 17:31:00] NOTICE[6552]: Ext. 74957777777:1 @ incoming: Incoming call from "MGTS"
-- Executing [74957777777@incoming:2] Dial("SIP/mgts-00000009", "SIP/300&SIP/301&SIP/305,40,t") in new stack
== Using SIP RTP TOS bits 184
== Using SIP RTP CoS mark 5
Audio is at 13180
Adding codec 0x8 (alaw) to SDP
Adding codec 0x100 (g729) to SDP
Adding codec 0x4 (ulaw) to SDP
Adding non-codec 0x1 (telephone-event) to SDP
Reliably Transmitting (no NAT) to 192.168.1.12:5060:
INVITE sip:300@192.168.1.12:5060 SIP/2.0
Via: SIP/2.0/UDP 192.168.1.10:5060;branch=z9hG4bK328f3e6d
Max-Forwards: 70
From: "MGTS" ;tag=as4f18ac96
To:
Contact:
Call-ID: 0a8fcd4e05e26d47492133da16a2f1c6@192.168.1.10:5060
А так, если включена передача CallerID:
При передаче CID
--- (16 headers 20 lines) ---
Sending to 192.168.1.12:5060 (no NAT)
Using INVITE request as basis request - 327d1ffc-1f81fbeb@192.168.1.12
Found peer '300' for '89037292222' from 192.168.1.12:5060
[Mar 3 17:43:09] WARNING[5770]: chan_sip.c:14952 check_auth: username mismatch, have , digest has
[Mar 3 17:43:09] NOTICE[5770]: chan_sip.c:23521 handle_request_invite: Failed to authenticate device MGTS ;tag=2e7db8c82277598fo1
SIP/2.0 403 Forbidden
Via: SIP/2.0/UDP 192.168.1.12:5060;branch=z9hG4bK-93640423;received=192.168.1.12
From: MGTS ;tag=2e7db8c82277598fo1
To: ;tag=as7e222fbe
Call-ID: 327d1ffc-1f81fbeb@192.168.1.12
CSeq: 102 INVITE
Server: Razbegaevy
Allow: INVITE, ACK, CANCEL, OPTIONS, BYE, REFER, SUBSCRIBE, NOTIFY, INFO, PUBLISH, MESSAGE
Supported: replaces, timer
Content-Length: 0
Scheduling destruction of SIP dialog '327d1ffc-1f81fbeb@192.168.1.12' in 6400 ms (Method: INVITE)
ACK sip:74957777777@192.168.1.10 SIP/2.0
Via: SIP/2.0/UDP 192.168.1.12:5060;branch=z9hG4bK-93640423
From: MGTS ;tag=2e7db8c82277598fo1
To: ;tag=as7e222fbe
Call-ID: 327d1ffc-1f81fbeb@192.168.1.12
CSeq: 102 ACK
Max-Forwards: 70
Authorization: Digest username="mgts",realm="asterisk",nonce="50eff7ba",uri="sip:74957777777@192.168.1.10",algorithm=MD5,response="473a3677063e7f5f03810656f47e1357"
Contact: MGTS
User-Agent: Linksys/SPA3000-3.1.20(GW)
Content-Length: 0
----------------------------------------------------------------------------------------------------------------------------------------------
Как видно, без передачи CallerID вызов идет от имени User ID PSTN линии "MGTS ", если включить опции передачи CallerID вызов идет с определившегося номера "MGTS ". При этом Asterisk ругается:
Found peer '300' for '89037292222' from 192.168.1.12:5060
В консоли вылезает ошибка:
[Mar 3 17:43:09] WARNING[5770]: chan_sip.c:14952 check_auth: username mismatch, have , digest has
[Mar 3 17:43:09] NOTICE[5770]: chan_sip.c:23521 handle_request_invite: Failed to authenticate device MGTS
И вызов никуда не идет
Примечание:
300 пир - это пользователь висящий на FXS порту (аналоговый телефон).
74957777777 - номер городской линии, указывается для экштейна Астериска.
Может у кого есть опыт настройки CallerID МГТС на SPA3000?[/spoiler]
в самом низу - ETSI FSK и bell202
_________________
платный суппорт по мере возможностей
Решил через присвоение PSTN Caller ID Pattern: *
Но загвоздка в том что при смене CID, Asterisk обращается к пользователю Line 1 (Порт 301), и выдает ошибку авторизации. Я так понимаю, это связано с тем, что пользователи PSTN line и Line 1 висят на одном ip. Частично решил это редактированием users.conf. Пользователь PSTN line идет выше в файле, и с именем, который в случае сортировки будет раньше по алфавиту чем пользователь Line 1.
Пользователю PSTN line:
type=friend
insecure=invite
Пользователь Line1:
type=peer
В этом случае, звонки проходят нормально. Но, через время Asterisk опять начинает опрашивать сначала пользователя Line 1 и выдавать ошибку с авторизацией. Может гуру посоветую как разобраться?
_________________
платный суппорт по мере возможностей