LiteCoding

Заметки о программировании

Настройка Mera SIPRise

without comments

В целом, ничего сложного в настройке этого программного комплекса нет, однако есть пара нюансов, о которых нечасто упоминается на открытых форумах, а в документации вообще почти ничего не сказано. С этой проблемой я столкнулся в феврале 2008 года, когда настраивал комплекс для работы с SipNET.


1. нода gateways-gateway-registrars-registrarInfo, атрибут userName
userName необходимо указывать вместе с @sipnet.ru, пакеты из-за этого внешне уродуются, но CommuniGate c той стороны отлично их съедает. Единственное найденное мной упоминание об этой особенности в контексте настроек решений от Mera можно встретить тут: http://forum.dlink.ru/viewtopic.php?t=29433

2. нода gateways-gateway-options
Самая плохо задокументированная нода, в поставляемой документации есть описание только параметра NatMode, что важно, но недостаточно для корректной настройки гейта.
Все параметры записываются в виде <option name=»option_name» value=»option_value» />

limitTime — ограничение по максимальной продолжительности звонка в секундах
noAnsTime — ограничение по времени на продолжительность попытки дозвона в секундах

А дальше идут самые важные параметры:
login — SIPID + @sipnet.ru
password — пароль

Без указания этих параметров будут возможны только звонки на внутренние номера sipnet (т.е. по SIPID). И, что самое интересное, что в случае неуказания этих параметров код ошибки на запрос REGISTER все равно будет 200. Точнее, такая последовательность: REGISTER — 401 — REGISTER (+digest) — 200. А вот на последующий INVITE на внешний номер будет такой обмен пакетами: INVITE — 100 + 401 — ACK и тишина. В принципе, после последнего ACK должен следовать INVITE (+digest), но этого не происходит. Лечится указанием login и password.

Пример конфигурации

<gateways>
<gateway id="gw1" type="sip" address="212.53.40.40:5060">

<sourceRule><![CDATA[]]></sourceRule>

<destinationRule><![CDATA[]]></destinationRule>
<destinationPattern><![CDATA[]]></destinationPattern>
<destinationReplace><![CDATA[]]></destinationReplace>

<registrars>
<useRegistrar>True</useRegistrar>
<isNecessaryUsingRegistrar>True</isNecessaryUsingRegistrar>
<registrarInfo id="rg1" userName="NUMERIC_SIPID@sipnet.ru" password="PASSWORD" serverName="sipnet.ru" keepAliveTimeout="120"/>
<registrarOptions securityType="plain" reattemptOnUnregister="2" reattemptOnReject="2" reattemptOnTimeout="2"/>
<addresses>
<address>212.53.40.40:5060</address>
</addresses>
</registrars>
<capabilities>
<codec name="PCMU" framesPerPacket="20" />
<codec name="PCMA" framesPerPacket="20" />
<codec name="G.711" framesPerPacket="1" />
</capabilities>
<options>
<option name="limitTime" value="20" />
<!-- direct, nat, detect -->
<option name="NatMode" value="detect"/>
<option name="noAnsTime" value="20"/>
<option name="password" value="PASSWORD" />
<option name="login" value="NUMERIC_SIPID@sipnet.ru" />
</options>
</gateway>
</gateways>
Share and Enjoy:
  • Print
  • Digg
  • Sphinn
  • del.icio.us
  • Facebook
  • Mixx
  • Google Bookmarks
  • LinkedIn
  • Tumblr

Written by Дмитрий Воробьев

Понедельник, Февраль 22nd, 2010 at 13:42

Leave a Reply

You must be logged in to post a comment.