понеделник, 29 октомври 2007 г.

Asterisk

   Днес успешно подкарах Asterisk централа. От доста време се каня, но тия дни Wops отново повдигна въпроса и се запалих. Като погледнах документацията малко ме домързя (pdf файл 376 страници), но след два дни настройване психически реших да ги подхвана. След малко четене по диагоналната система, ровене из форума на Asterisk и Google постигнах всичко, което исках. Имах малко трудности докато свикна че канал (channel) викат на "абонат" на централата, че контекст (context) всъщност е съвкупността от правила, който могат да се присвояват на даден канал и т.н.
   В крайна сметка всичко работи. Имам си разговори във вътрешната мрежа, разговори към всякакви мрежи (стационарни, GSM и т.н.) по света, и то, разрешени само за определена част от абонатите на Asterisk централата. Видях и как могат да се ограничават отделните абонати, кой от какъв адрес може да ползва централата, като забраната или разрешението могат да стават както по IP адрес, така и по маска. Падна голямо търсене докато открия как да закача Asterisk-a към моя VoIP акаунт. Както винаги се оказа, че не е някаква философия. Понеже никъде не намерих цялата информация по въпроса на едно място ще я напиша тук.

Използвам VoIP услугата на VoiceLink, за това в примера ще използвам тях, Предполагам, че за всички които предлагат тази услуга ще е аналогично.

в sip.conf

[voicelink]
type=friend
username=USERNAME
realm=voicelink
canreinvite=yes
md5secret=7a92b9ac81361f47c336aeb854727034
insecure=very
host=sip.voicelink.biz
disallow=all
allow=ilbc
allow=ulaw
allow=alaw
qualify=yes
outbound=proxy=sip.voicelink.biz


   В примера USERNAME се замества с потребителското име, което се използва, за VoIP услугата на доставчика.
md5secret се генерира от realm, USERNAME и secert (паролата за достъпо до услугата). Аз го правя през конзола с команда. В случая командата ще изглежда така

echo -n "USERNAME:voicelink:secret" | md5sum

Получената md5sum се пише на реда след md5secret=

   В extensions.conf имам следния ред, който казва по какъв начин да се използва канала voicelink.

exten => _0.,1,Dial(SIP/voicelink/${EXTEN})

Което означава, че всички набрани номера, започващи с 0 ще "излизат" през него.

Няма коментари:

Публикуване на коментар