Компания Linksys утверждает, что SPA400 работает только с PBX SPA9000, но на самом деле это полная ерунда: SPA400 может работать с чем угодно, просто у него сильно урезаны настройки и подключать его можно только, как sip-транк.
Для того, чтобы заставить эту конструкцию взлететь, необходимо проделать следующее:
1. Включить питание, подключить ethernet-порт SPA400 к сети, в которой есть DHCP-сервер (сетевые настройки этой штуки, стоящие по умолчанию мне выяснить так и не удалось)
2. Зайти в веб-интерфейс (логин Admin, пароль пустой) и присвоить нормальный постоянный ip-адрес в разделе Setup->Basic Setup
3. Зайти в Setup->SPA9000 Interface и указать user id=spa400
SPA9000 Address можно оставить “Discover Automatically”
4. Оставить железку в покое (убедиться, что она доступна по сети серверу с Communigate Pro, открыты порты 5060, 10000 и те, которые указаны в настройках media-proxy в CGP.
Теперь займемся сервером:
1. Предположим, что работать со шлюзом будет пользователь pbx. Ему необходимо сделать алиас spa400 (или что уж вы там выбрали в п. 1.3)
Настроить шлюз в settings->sip->gateways
Даже если вы будете совершать исхоящие звонки через приложение, коммунигейт должен регистрироваться на шлюзе:
GatewayName: spa400 (или любое другое, имя шлюза используется только в роутинге CGP)
Domain: IP-адрес spa400
Via: оставьте пустым, он потребуется если только шлюз находится за NAT
Username: spa400 (или то, что указано в 1.3)
Authenticate: Disabled
Proxy: None (если шлюз доступен по сети всем вашим локальным клиентам, в противном случае включайте media)
Substitute: From
Contact: spa400@ip сервера
Register Every: 5 min
Settings->Router
; sip.mydomain.ru – это тот домен, клиенты которого будут работать со шлюзом
R:S:<*@(ip-адрес шлюза)>=pbx@sip. mydomain.ru
;я не помню хзачем я вписал эту строку в роутер
R:S:<spa400@(ip-адрес сервера)>=pbx@sip. mydomain.ru
входящие соединения от шлюза будут приходить именно на этот адрес
N:S:<(7d)@sip. mydomain.ru>=8495*@spa400.sipgw
N:S:<8(10d)@sip. mydomain.ru>=8*@spa400.sipgw
;правильный dial-plan сами напишете, это обычный московский
A:<anonymous@localhost> = null;
А вот последняя строка в роутере требует комментария. Если шлюз не может получить от оператора caller ID (в моем случае – не смог), то входящие запросы от шлюза выглядят примерно так:
18:21:06.920 2 SIPDATA-001616 inp: req []:5060 <- udp[]:5060 INVITE(774 bytes) sip:spa400@87.242.88.133
18:21:06.920 5 SIPDATA-001616 inp: INVITE sip:spa400@ SIP/2.0
18:21:06.920 5 SIPDATA-001616 inp: From: Anonymous<sip:anonymous@localhost>;tag=222b6b4e-13c4-48946e25-5a6c7d43-69b9b21b
18:21:06.920 5 SIPDATA-001616 inp: To: <sip:FXO_Port_ID_1@>
18:21:06.920 5 SIPDATA-001616 inp: Call-ID: 1018300c-222b6b4e-13c4-48946e24-5a6c7c49-16a74915@localhost
18:21:06.920 5 SIPDATA-001616 inp: CSeq: 1 INVITE
18:21:06.920 5 SIPDATA-001616 inp: Via: SIP/2.0/UDP:5060;branch=z9hG4bK-48946e25-5a6c7dc5-34373fb8
18:21:06.920 5 SIPDATA-001616 inp: Max-Forwards: 70
18:21:06.920 5 SIPDATA-001616 inp: Supported: replaces,timer,100rel
18:21:06.920 5 SIPDATA-001616 inp: Contact: <sip:FXO_Port_ID_1@:5060;transport=UDP>
18:21:06.920 5 SIPDATA-001616 inp: Content-Type: application/SDP
Я убрал все ip-адреса логов, но это не должно мешать восприятию. Важно вот что: при неопределившемся номере, во from будет именно anonymous@localhost , а CGP будет пытаться разрешить этот адрес (а потом еще и просить шлюз авторизоваться), из-за чего входящие не будут работать. Роутинг этого адреса в /dev/nul успешно решает проблему.
При определении номеров, видимо будет что-то типа 84951234567@localhost, но проверить эту версию я не могу.
FXO_Port_ID_N в поле from позволяет определить, на какой именно порт шлюза пришел звонок, но работать с этой информацией, очевидно, можно только через приложение.
Проверял я все это на CGP 5.2.5 и прошивке SPA400 1.0.0.12
Написано все это не без помощи http://forum.voxilla.com/voip-wiki/using-linksys-spa400-communigate-pro-24188.html (там же рядом лежит инструкция по прикрутке SPA400 к Asterisk)

http://oppao.net/n-ona/
http://oppao.net/navi/
http://oppao.net/new-d2/
http://oppao.net/fd3/
http://oppao.net/soap2/
http://oppao.net/bg2/
http://oppao.net/host2/
http://oppao.net/lesson2/
http://oppao.net/op2/
http://oppao.net/fl3/
http://oppao.net/bb2/
http://oppao.net/s-este/
http://oppao.net/rd2/
http://oppao.net/kawa/
http://oppao.net/n-club2/
http://s-auc.net/
Posted by: オテモヤン | January 26, 2010 at 03:40 AM