SoHo PBX with DD-WRT and Asterisk 1.4

Здравейте, от известно време изследвам една тема, а именно как да си направим телефонна централа за дома и малкия офис.

Първо си поиграх със Asterisk 1.4/1.6 на виртуална машина със soft phones.

Имах желание да изпробвам и с hard phones, въпроса беше коя марка и модел да избера. Тук на помощ дойде един от най – добрите сайтове, поне според мен за информация относно VoIP http://www.voip-info.org/. След продължително търсене на подходящи телефони съвместими с Asterisk, избрах Linksys SPA 941. Избрах го защото, не са ми необходими цветен екран, видеокамера, power over Ethernet, wireless и повече от 1, 2 линии.

Тук може да видите повече информация за него: http://www.voip-info.org/wiki/view/SPA-941

За да добиете представа какви алтернативи има вижте новата гама на Cisco, тук има едно прилично ревю:

http://www.asterisktutorials.com/first-look-at-the-cisco-spa500-phones/

В един момент ми попадна брошура на JAR, и какво да видя в нея SPA 921/941 на доста приятни цени. Не се сдържах и си взех два. Все още са в каталога им като цената на 941 вече е 200 лева.

С помощ на този видео tutorial ги свързах с Asterisk-a за 10 минути.

http://www.asterisktutorials.com/linksys-spa941942-sip-phones/

Впоследствие ги flash-нах до последната версия на firmware-a, която в момента е 5.1.8. Става лесно и и бързо.

http://www.cisco.com/en/US/products/ps10038/index.html

От няколко години използвам OpenWRT и DD-WRT чудесни дистрибуции побираща се на безжични рутери. И двете предлагат уникални функции които са недостъпни от stock firmware-a на който и да е безжичен рутер.

На един етап започнаха да се появяват версии включващи и Asterisk. Реших да пробвам как ще се държи ако сложа и телефонната централа на устройство. Като се има предвид ползите от такава играчка, без движещи се части,  без шум и ниска консумация на електричество.

Разбира се тук е момента да спомена че е добре да се провери за съвместимост на модела със въпросната дистрибуция.

Ето тук за DD-WRT:

http://www.dd-wrt.com/wiki/index.php/Supported_Devices

и тук за OpenWRT

http://wiki.openwrt.org/toh/start

Като се замисля последните няколко безжични рутери които са ми попадали в ръцете не са издържали повече от 5 минути със stock firmware.

Като критерии за оценка на устройство може да се вземе Flash Memory. Това е памет на която се инсталира операционната система.  Тоест ако имате 4 MB не можете да сложите такава която изисква 8 MB, примерно. Правилото на Мечо Пух “Колкото повече, Толкова Повече” тук е валидно с пълна сила. Поради факта че ползвам големите build-ове на dd-wrt изискващи поне 8 MB си харесах Asus RT-N16. Той е със 128MB RAM, 32 MB Flash Memory,  a процесор му е на 480 MHz. Освен това има 2 USB 2.0 порта на които може да включи флашка, външен диск или принтер.

Незнам защо но този модел не се предлагаше в България доста време, въпреки че е излязъл още преди една – две години. Както и да е, от преди месец – два се предлага в Мост. Цената му е около 270 лева.

Последния hardware който ми беше необходим е един USB Flash Drive, или както ги наричаме флаш-ки. На него сложих Optware, за повече информация : http://en.wikipedia.org/wiki/Optware

Не можах да си намеря PQI Cool Drive U338 Pro която има доста прилични скорости и се задоволих с една PQI Cool Drive U339H, Titanium 4 GB за около 25 лева. Забелязвате ли как вече не пишат скоростите на read/write на флашките?

И така да видим разходите до тук:

Asus RT-N16 – 270 лв.

Linksys SPA 941 x2 – 350 лв.

PQI U339H, Titanium 4GB – 25 лв.

Общо: 645 лв.

Преди да пристъпя към инсталация и конфигурация прочетох тази тема във форума:

http://www.dd-wrt.com/phpBB2/viewtopic.php?t=43787&postdays=0&postorder=asc&start=0

GUI-то описано там не сработи и за мен, за това реших да рискувам с asterisk-gui, вместо него.

Да преминем към инсталацията:

Свалих последната налична версия от www.dd-wrt.com: dd-wrt.v24-14471_NEWD-2_K2.6_big.bin, вече има по – нови.

След това следвах този guide за да инсталирам и Optware:

http://www.dd-wrt.com/wiki/index.php/Optware%2C_the_Right_Way

и вече имам и този пакет

asterisk14 – 1.4.22.1-1 – Asterisk is an Open Source PBX and telephony toolkit.

След което добавих всички пакети със звуци използвайки ipkg-opt:

asterisk14-core-sounds-en-alaw – 1.4.8-1 – asterisk-core-sounds-en-alaw

asterisk14-core-sounds-en-g729 – 1.4.8-1 – asterisk-core-sounds-en-g729

asterisk14-core-sounds-en-gsm – 1.4.8-1 – asterisk-core-sounds-en-gsm

asterisk14-core-sounds-en-ulaw – 1.4.8-1 – asterisk-core-sounds-en-ulaw

asterisk14-extra-sounds-en-alaw – 1.4.7-1 – asterisk-extra-sounds-en-alaw

asterisk14-extra-sounds-en-g729 – 1.4.7-1 – asterisk-extra-sounds-en-g729

asterisk14-extra-sounds-en-gsm – 1.4.7-1 – asterisk-extra-sounds-en-gsm

asterisk14-extra-sounds-en-ulaw – 1.4.7-1 – asterisk-extra-sounds-en-ulaw

asterisk14-moh-freeplay-alaw – 0.0.0-1 – asterisk-moh-freeplay-alaw

asterisk14-moh-freeplay-g729 – 0.0.0-1 – asterisk-moh-freeplay-g729

asterisk14-moh-freeplay-gsm – 0.0.0-1 – asterisk-moh-freeplay-gsm

asterisk14-moh-freeplay-ulaw – 0.0.0-1 – asterisk-moh-freeplay-ulaw

и накрая добавих и GUI-то:

asterisk-gui – 2.0svn-r4045-1 – Asterisk-GUI is a framework for the creation of graphical interfaces for configuring

За да конфигурирам GUI-то използвах това упътване:

http://www.asteriskguru.com/tutorials/asterisk_gui.html

След като настроих Asterisk-a по мой вкус, вече имам няколко soft phone-a и двата SPA 941 свързани и работещи.

Това което ми липсваше на този момент е връзка със останалия свят.

Много добра тема по въпроса може да намерите тук:

http://www.kaldata.com/forums/index.php?showtopic=6681&st=0

ето и няколко упътвания:

http://akrozia.org/?tag=asterisk

http://ygeorgiev.net/archives/56

http://forum.spectrumnet.bg/showthread.php?t=2573

Накрая се насочих към BGOpen.

Регистрирах се, захраних сметката си с известна сума. И вече имам телефонен номер ала +3592490ХХХХ.

Прегледах няколко интересни статии по въпроса:

http://ygeorgiev.net/archives/56

http://forum.spectrumnet.bg/showthread.php?t=2573

Сега е необходимо да научим Asterisk-a за този номер, и как да го ползва.

Първо отиваме в Trunks, VOIP Trunks и избираме + New SIP/IAX Trunk

Избираме тип-а – SIP

Така и не успях да го подкарам с IAX, ако някой го е подкарал и има впечатления нека ги сподели.

За Hostname: sip.bgopen.net

Username / Password – каквито сте избрали при регистрация в bgopen.

Codecs: според FAQ-a на BGOpen

Можем да ползваме G.729, G.723.1, GSM, iLBC (поне един от изброените)

За CallerID и Enable Remote MWI не съм сигурен, за това ги оставих празни.

След това отидох в Outgoing Calling Rule, и създадох нов като Pattern: _9. – тоест всички номера които имат 9 от пред се насочват към създадения преди малко Trunk.

Избрах името което съм дал на Trunk-a в полето Use Trunk

Strip – 1 тоест да маха 9-тката при набиране на вън.

Редактирах DialPlan-a си да включва и Outgoing Calling Rule-a

Сега вече мога да набирам не само слушалките директно свързани към Asterisk, но и каквито ми хрумне навън. Единствено трябва да сложа една 9-ка пред номера.

Дойде време да могат и мен да ме търсят по новия ми номер +3592490ХХХХ.

За целта отидох в Incoming Calling Rules, създадох ново, като избрах

Trunk – който създадох по – горе

Time Interval – None

Pattern: _X. – да препраща всички номера към

Destination: Тук мога да избера номер или voice mail на някоя от слушалките. За тестове избрах един номер, но аз не искам това, а Voice Menus за да си създам IVR.

Вече имате входящи и изходящи обаждания и гласова поща.

Да нагласим Voice Menus

Създадох ново, избрах му name и extension

Тук трябва да се добавят Actions, действия които ще се извършват едно след друго.

Ето и моите:

Answer the call – все пак трябва да вдигнем на човека

Set(TIMEOUT(digit)=5) – колко време чакаме преди да спрем да чакаме за бутон

Set(TIMEOUT(response)=20) – колко време да чакаме за натискане на бутон

Play record/X & Listen for KeyPress events – пускаме на човека записано съобщение с инструкции коя цифра с кого ще го свърже, ако бъде натисната

Play record/Silance & Listen for KeyPress events – наложи се да направя втори запис, със тишина, за да дам време на обаждащия се да натисне някоя цифра, иначе веднага след приключването на предишния запис затваряше линията.

Hangup call – затваряме линията ако не е натисната цифра.

Тук имах див проблем с extension-a. В option има секция Extensions preferences в която за Voice Menus са заделени номера от 7000 до 7500. Проблема ми беше че ако избера в този диапазон не можех да набера номера, а ако се опитам да избера извън него не ми позволява. За това се наложи да го разширя до 8000 и сработи.

След това в Incoming Calling Rule само Destination полето се насочва към Voice Menu-то Extension-a който създадох.

Вече ако някой се обади на номера ми +3592490ХХХХ ще го посрещне записано съобщение което ще го информира кой номер да натисне за да се свърже с мен. Ако ме няма ще бъде насочен към гласовата ми поща, за да остави съобщение.

Какво следва

Когато намеря време и пари за това ми се иска да свържа и POTS към Asterisk-a. Тоест и

стария ми домашен телефонен номер от БТК да влезе в играта.

За целта ще ми е необходимо някакво устройство което да направи връзката.

Това устройство много ми харесва: CISCO SPA3102 2-Port Router with 1 FXO + 1 FXS

http://www.voip-info.org/wiki/view/Linksys-Cisco+3102

То може да свърши тази работа за мен.

Ето малко локална информация за него:

http://hardwarebg.com/forum/showthread.php?p=1780708

http://www.comelsoft.com/product.php?mf=cisco&lang=bul

Създаване на Phone Book, тоест входящите обаждания да се идентифицират по Caller ID, и да се изписва Име и номер на търсещия, не само номера му.

Последното нещо което трябва да пробва е да получавам факсове, по принцип услугата е активиране по подразбиране от bgopen, но никога да сега не съм я ползвал и незнам точно как работи. Както и ми е интересно какви възможности за изпращане на факсове имам.

Надявам се темата да ви е била полезна.


Comments (3)

  1. 12:37 am, 27/07/2010Leonardo Lounder  / Reply

    I really like what you write on here. We try and come back to it every day so keep up the good posts!

  2. 12:24 pm, 12/09/2010kalo  / Reply

    Razgleidai i Yealink SIP telefonite. Mnogo sa dobri i sa dosta po-evtini ot Linksys.

  3. 12:27 pm, 12/09/2010kalo  / Reply

    Hvarli edin pogled i tuka. Az imam edin takav device i raboti OK za sega.

    http://www.switchvoice.com/

Leave a Reply

Allowed Tags - You may use these HTML tags and attributes in your comment.

<a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code> <del datetime=""> <em> <i> <q cite=""> <s> <strike> <strong>

Pingbacks (0)

› No pingbacks yet.