marți, 25 decembrie 2012

Asterisk si configurarea automata a telefoanelor SIP Cisco

 Tema pe care am studiat-o de curand a fost sa configurez sistemul Asterisk astfel incat telefoanele sa isi ia configuratia in mod automat de la acesta. Ingredientele sunt: Asterisk 1.8 instalat pe Debian 6, conectat in Internet, sa presupunem ca are adresa 200.100.50.1. Telefoanele IP sunt conectate intr-un LAN privat, in care se gaseste un server DHCP (ruleaza pe un alt Debian 6); un telefon este Cisco SPA303 si altul Cisco SPA525G.



Telefoanele obtin adresa IP de la un server DHCP; tot pe acesta l-am configurat sa trimita telefoanelor si serverul de unde isi pot lua fisierele de configurare. Configuratia din dhcpd.conf este mai jos:
subnet 192.168.1.0 netmask 255.255.255.0 {
        range 192.168.1.100 192.168.1.107;
        option subnet-mask 255.255.255.0;
        option routers 192.168.1.1;
        option broadcast-address 192.168.1.255;
        option tftp-server-name  "tftp://
200.100.50.1/srv/tftp/spa$PSN.cfg";
}

spa$PSN.cfg se traduce prin "spa303.cfg" pentru telefonul Cisco SPA303 si respectiv "spa525G.cfg" pentru telefonul Cisco 525G. Nu uitati sa scrieti calea absoluta spre aceste fisiere, ca mai sus, mie mi-a luat ceva timp si nervi pana mi-am dat seama.

Pe serverul pe care ruleaza Asterisk avem instalat si un server TFTP care are calea absoluta "/srv/tftp" si in care am pus doua fisiere, cate unul pentru fiecare model de telefon. Continutul lor este acelasi si anume:


<flat-profile>
 <Resync_On_Reset>Yes</Resync_On_Reset>
 <Resync_Periodic>900</Resync_Periodic>
 <Profile_Rule>tftp://
200.100.50.1/srv/tftp/spa$MA.xml</Profile_Rule>
</flat-profile>



Practic, la fiecare 15 minute (900 secunde) telefonul isi va lua fisierul propriu de configurare, in format XML, de la serverul TFTP 200.100.50.1. In concluzie, daca aveti n telefoane model SPA303, va este necesar un singur fisier cu extensia "cfg".
spa$MAC.xml se traduce prin spa5475d02aadc6.xml daca adresa MAC a telefonului este 5475D02AADC6. Atentie, numele fisierului XML are litere mici in loc de literele mari din adresa MAC. Aici am mai pierdut ceva timp si nervi pana mi-am dat seama.
Dupa ce telefonul ia prin TFTP fisierul cu extensia "cfg" (de mai sus), dupa 15 minute incearca sa isi obtina fisierul propriu de configurare. In concluzie, daca aveti m telefoane este necesar sa aveti m fisiere cu extensia XML.
Eu am configurat o singura extensie (mai jos cel cu extensia 300 cu parola de autenficare 0003) pe fiecare telefon (desi pe fiecare se pot configura mai multe extensii) si astfel am obtinut fisierul XML de forma:
<flat-profile>
<Time_Zone group="Regional/Time">GMT+02:00</Time_Zone>
<Extension_1_ group="Phone/Line_Key_1">1</Extension_1_>
<Short_Name_1_ group="Phone/Line_Key_1">$USER</Short_Name_1_>
<Share_Call_Appearance_1_ group="Phone/Line_Key_1">private</Share_Call_Appearance_1_>
<Extended_Function_1_ group="Phone/Line_Key_1"/>
<Extension_2_ group="Phone/Line_Key_2">Disabled</Extension_2_>
<Short_Name_2_ group="Phone/Line_Key_2">$USER</Short_Name_2_>
<Share_Call_Appearance_2_ group="Phone/Line_Key_2">private</Share_Call_Appearance_2_>
<Extended_Function_2_ group="Phone/Line_Key_2"/>
<Extension_3_ group="Phone/Line_Key_3">Disabled</Extension_3_>
<Short_Name_3_ group="Phone/Line_Key_3">$USER</Short_Name_3_>
<Share_Call_Appearance_3_ group="Phone/Line_Key_3">private</Share_Call_Appearance_3_>
<Extended_Function_3_ group="Phone/Line_Key_3"/>
<Extension_4_ group="Phone/Line_Key_4">Disabled</Extension_4_>
<Short_Name_4_ group="Phone/Line_Key_4">$USER</Short_Name_4_>
<Share_Call_Appearance_4_ group="Phone/Line_Key_4">private</Share_Call_Appearance_4_>
<Extended_Function_4_ group="Phone/Line_Key_4"/>
<Extension_5_ group="Phone/Line_Key_5">Disabled</Extension_5_>
<Short_Name_5_ group="Phone/Line_Key_5">$USER</Short_Name_5_>
<Share_Call_Appearance_5_ group="Phone/Line_Key_5">private</Share_Call_Appearance_5_>
<Extended_Function_5_ group="Phone/Line_Key_5"/>
<Proxy_1_ group="Ext_1/Proxy_and_Registration">
200.100.50.1</Proxy_1_>
<User_ID_1_ group="Ext_1/Subscriber_Information">
300</User_ID_1_>
<Password_1_ group="Ext_1/Subscriber_Information">
0003</Password_1_>
<Preferred_Codec_1_ group="Ext_1/Audio_Configuration">G711a</Preferred_Codec_1_>
<Second_Preferred_Codec_1_ group="Ext_1/Audio_Configuration">G711u</Second_Preferred_Codec_1_>
<Dial_Plan_1_ group="Ext_1/Dial_Plan">(112S0|xxx.)</Dial_Plan_1_>
<Time_Format group="User/Supplementary_Services">24hr</Time_Format>
<Date_Format group="User/Supplementary_Services">day/month</Date_Format>
</flat-profile>



In fisierul "/etc/asterisk/sip.conf" avem urmatoarea configuratie pentru aceasta extensie



[netdesign](!)
context=netdesign
disallow=all
allow=alaw
type=friend
host=dynamic
nat=yes
qualify=2000
qualifyfreq=300
canreinvite=no
sendrpid=pai

[
300](netdesign)
secret=
0003
callerid=sales <300>

Modificand continutul fisierului cu extensia XML se pot configura telefoanele fara sa accesati pagina lor web de administrare.
Dupa cum spuneam si alta data, Linux ne ofera posibilitati de dezvoltare profesionala mult peste alte sisteme de operare. Va indemn sa va incepeti sa lucrati in acest sistem de operare, orice distributie va este accesibila/comoda.
Craciun fericit si mult spor la invatat!

5 comentarii:

  1. Bravo domnule, la obiect ca de obicei :)
    Craciun Fericit !


    'Scopul si durata vizitei'

    RăspundețiȘtergere
  2. Se poate folosi si telefoanele Cisco 3905 cu Asterix?

    RăspundețiȘtergere
    Răspunsuri
    1. Eu nu am incercat (pt ca nu am avut un proiect), dar am gasit un link in care altii pare ca au reusit.

      http://krasfs.ru/info/blogs/asterisk-ip-cisco-cp-3905.html

      Ștergere
  3. Acest comentariu a fost eliminat de autor.

    RăspundețiȘtergere
  4. Salut, am 2 telefoane cisco 7945 si un server de asterisknow 6.12(asterisk 13), problema este ca nu reusesc sa inregistrez telefoanele, am pus pe ele firmware SIP de la cisco, am testat extensiile (100 si 200 cu tel si pc....sunt ok)....ma poti ajuta cu fisierele de cnf? eu am incercat cu astea...http://www.minded.ca/2009-12-16/configure-cisco-ip-phones-with-asterisk/ astept raspuns daca ma poti ajuta. Ms.

    RăspundețiȘtergere