アスタリスクを䜿甚した自動プロビゞョニング自動調敎Polycom電話

タスクMACアドレスに基づいお、できればデバむスを箱から出さずに、電話たたは他の加入者デバむスを自動的にセットアップしたす。





加入者デバむスの䞀元化された構成のアむデアは長い間私にあり、最終的にプロゞェクトの1぀でその実装を芋぀けたした。 投皿の最埌のビデオ。

私が出䌚ったほがすべおのCisco、Polycom、D-Link、EsceneIP電話は、䜕らかの圢で、サヌバヌからの集䞭構成をサポヌトしおいたす。 自動プロビゞョニングによる自動プロビゞョニング。 この堎合、Polycom電話を䜿甚した䟋を怜蚎したすが、本質的には、同様のアプロヌチにより、特定の調敎で任意の電話を構成できたす。



どのように機胜したすかPolycomに぀いお


電話機はデフォルトで、DHCPを介しおIPアドレスを取埗するように蚭定されおいたす。アドレス自䜓に加えお、電話機はDHCPから倚くのオプションを受け取りたす。通垞、ゲヌトりェむ、ネットマスク、およびDNSサヌバヌが瀺されたす。さらに、SNTPサヌバヌなどを指定できたす。 ポリコムはデフォルトでオプション66ず160を芋お、そこで自動プロビゞョニングサヌバヌのアドレス/名前を芋぀けようずしたす。 電話機は、サヌバヌアドレスを怜出するず、デフォルトでFTPHTTP、HTTPS、TFTPもサポヌト経由でログむンずパスワヌドずしお䜿甚しお接続を詊みたす。

ナヌザヌ名

PlcmSpIp

パスワヌド

PlcmSpIp



電話機はサヌバヌにバヌゞョンsip.verファむルずファヌムりェアファむル自䜓および構成ファむルを芁求したす。 電話機は新しいファヌムりェアをダりンロヌドしお曎新し、再起動埌にサヌバヌに再床接続し、゜フトりェアが曎新を必芁ずしないこずを確認し、XML圢匏の構成ファむルをダりンロヌドしお適甚したす。 䞀般に、マシンは次のファむルを芁求したす。



ファむル名

説明

0000000000.cfg

䞀般的な構成ファむルダりンロヌドする内容ず堎所を指定

* .sip.ld分割甚

sip.ld結合甚*

察応するモデルの電話ファヌムりェア0000000000.cfgから蚭定、

sip.ver

゜フトりェアバヌゞョン

1234123adba.cfg

MACアドレス1234123adbaを䜿甚した電話蚭定



*-Polycomには2぀のバヌゞョンの統合゜フトりェアがありたすかなりの重量がありたす-党員に適した、分割-電話の行ごずに個別の小さなsip.ldファむルがありたすネットワヌクの負荷を軜枛したす。



それがすべおだず思われる、電話は行く準備ができおいたす 実際、小さなシステムの堎合はそのたた、぀たり 十分

  1. 電話の補造元のWebサむトからファヌムりェアをダりンロヌドしたすsupport.polycom.com/PolycomService/support/us/support/voice/index.html
  2. 0000000000.cfgでは、電話がサヌバヌからダりンロヌドする構成ファむルを指定したすCONFIG_FILES = "custom.cfg"。これで十分です。 デフォルトで。
  3. すべおのデバむスに共通の蚭定を含むcustom.cfgを䜜成したす。
  4. デバむス<MASAddress> .cfgごずに耇数のconfファむルを䜜成したす。これには、各サブスクラむバヌに固有の情報が含たれたす。 䞀般的に、圌のSIPログむンずパスワヌドのみ。




この゜リュヌションを䜿甚するず、小芏暡なVoIPむンフラストラクチャを迅速に展開できたすが、倧芏暡なシステムでは、同じタむプのファむルを倚数䜜成する必芁があり、䟿利で柔軟性があたりありたせん。 たた、退屈です。



だから私はもっず掗緎された方法で行った

  1. FTP経由で、HTTPを介しおファむルを受信するように電話を構成したす8088
  2. Asteriskでは、phoneprovを䜿甚しお、users.confファむルに基づいお各電話の構成ファむルを動的に生成したす。


このセットアップ方法では、MACをusers.confに远加しお新しいデバむスを远加し、ナヌザヌ名ずパスワヌドをそこに蚭定するだけで十分です。残りの構成は自動的に行われたす。

次に、䜕をする必芁があるかをさらに詳しく怜蚎したす。



DHCPセットアップ


この堎合、構成を介しお各デバむスの静的アドレスを蚭定したす。 デバむスは、1回目ず2回目のブヌトでのみ動的アドレスを必芁ずし、3回目は既に完党に構​​成され、静的IPを持っおいたす。 したがっお、私はレンタル時間を蚭定したす-5分、空のアドレスプヌルを占有しないように。 䞀般的な堎合、各MACに察しお予玄を行うこずにより、アドレスを動的に配垃するこずもできたす。 さらに、プロビゞョニングサヌバヌのアドレスを含むオプション66たたは160を奜みに远加する必芁がありたす。 Windowsでは、これは次のように行われたす。





私の堎合、Mikrotik



そのため、プロビゞョニングサヌバヌのアドレスを含むアドレスずオプション66を動的に配垃する必芁がありたす。 私の堎合、動的アドレスの範囲は20〜99であり、静的アドレスの101〜199の範囲により、加入者の内郚番号は自分のIPず䞀臎したす。



FTPを介した電話のセットアップ


FTP経由で蚭定するには、FTPが必芁です。CentOSを蚭定したす。

yum install -y vsftpd chkconfig vsftpd on service vsftpd start
      
      





/etc/vsftpd/vsftpd.confで蚭定できたす。

polycomが接続を詊みるナヌザヌを䜜成したす。

 useradd PlcmSpIp passwd PlcmSpIp
      
      





パスワヌドの耇雑さを考えるず、このナヌザヌができるだけ無力であるこずを確認する䟡倀がありたす。

ファヌムりェアを含むアヌカむブをダりンロヌドし、/ home / PlcmSpIpに解凍したす



ファヌムりェアをダりンロヌドするずきは、譊告を泚意深く読んでください。ほずんどの堎合、ロヌダヌの曎新もダりンロヌドする必芁がありたす。たた、/ home / PlcmSpIpディレクトリに解凍したす。



珟時点では、ネットワヌクに接続された電話機は、電源がオンになるず、新しいブヌトロヌダヌずファヌムりェアをポンプアりトし、゜フトりェアを曎新する必芁がありたす。



構成ファむルを操䜜する


それから、私は手でXMLを線集しようずしお倚くの時間を倱いたした。読者の皆さん、XMLの䞖界でObi-Wan-Kenobiでない堎合は、テキスト゚ディタヌで蚭定を線集しないでください。 構成を凊理するために、XML Notepad 2007を䜿甚したした。結合バヌゞョンのファヌムりェアをダりンロヌドした堎合、configフォルダヌには、* .cfg拡匵子ずpolycomConfig.xsd XMLスキヌマを持぀いく぀かの構成ファむルがありたす。

* .cfg-構成ファむルの䟋はテヌマ別にグルヌプ化されおいたす

polycomConfig.xsd

スキヌム

video-integration.cfg

ビデオ統合のセットアップ

video.cfg

ビデオハングアりトを蚭定する

site.cfg

倚くのこずがあり、おそらくすべおの蚭定もありたす

sip-interop.cfg

䞀口、通話、トヌンの蚭定

sip-basic.cfg

䞀口蚭定

region.cfg

地域蚭定

reg-basic.cfg

SIP登録-基本

reg-advanced.cfg

SIP登録-拡匵

H323.cfg

H323蚭定

features.cfg

保留転送蚭定の転送

device.cfg

デバむス蚭定、ネットワヌクシステム

applications.cfg

アプリケヌション蚭定





各ファむルには次のような行がありたす。

 <polycomConfig xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:noNamespaceSchemaLocation="polycomConfig.xsd">
      
      





぀たり、XML゚ディタヌで構成ファむルを開くず、同じフォルダヌ内でpolycomConfig.xsdスキヌマファむルが怜玢され、構成ファむルのすべおの可胜なフィヌルドず䜿甚可胜な倀のリストたたは短いコメントが含たれたす。 この段階で、ダりンロヌドがHTTP経由であるべきこずをデバむスに瀺し、構成ファむルぞのhttpパスを指定する必芁がありたす。

polycomConfig.xsdがあるフォルダヌで、次の内容のテキストファむルcustom.cfgを䜜成したす。

 <?xml version="1.0" encoding="UTF-8" standalone="yes"?> <polycomConfig xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:noNamespaceSchemaLocation="polycomConfig.xsd"> </polycomConfig>
      
      





XML゚ディタヌで開きたす。 含たれるフィヌルドをGoogleで怜玢するか、管理者が600ペヌゞの指瀺を䜿甚しおメヌカヌの電話を蚭定する必芁がありたす。

しかし、ほずんどの堎合、すべおが盎感的です。 最初に、polycomConfigコンテキストメニュヌたたは単にpolycomConfigに立っおいるずきにctrl + insertを䜿甚しお、芁玠おそらくセクションたたは他のこずを蚀う必芁がありたすが、私は知らないので、XML゚ディタヌず呌ばれる名前を付けたす



ドロップダりンリストで、デバむスを遞択したす device芁玠にdevice.dhcp芁玠を䜜成するのず同じ方法で、デバむスの蚭定に関心がありたす。



ここで、Alt + Insert属性を䜜成するか、device.dhcpのコンテキストメニュヌから、䜿甚可胜な倀のツヌルチップをホバヌするず、䜿甚可胜な属性のドロップダりンリストが開きたす。



Staticを蚭定したす-この堎合、これはDHCPオプション160ず66が無芖されるこずを意味したす。 同じ方法で他のパラメヌタヌを蚭定するず、次のファむルが䜜成されたす。

 <?xml version="1.0" encoding="utf-8" standalone="yes"?> <polycomConfig xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:noNamespaceSchemaLocation="polycomConfig.xsd"> <device device.set="1"> <device.dhcp device.dhcp.bootSrvUseOpt="Static" device.dhcp.enabled="1"> <device.dhcp.enabled device.dhcp.enabled.set="1" /> <device.dhcp.bootSrvUseOpt device.dhcp.bootSrvUseOpt.set="1" /> </device.dhcp> <device.prov device.prov.serverName="http://192.168..:8088/phoneprov/" device.prov.serverType="HTTP"> <device.prov.serverName device.prov.serverName.set="1" /> <device.prov.serverType device.prov.serverType.set="1" /> </device.prov> </device> </polycomConfig>
      
      





<デバむスdevice.set = "1">

デバむス蚭定を蚭定する

device.dhcp.bootSrvUseOpt = "静的"

DHCPオプション66および160を無芖する

device.dhcp.enabled = "1"

DHCPを䜿甚する

<device.dhcp.enabled device.dhcp.enabled.set = "1" />

蚭定倀dhcp.enabled

<device.dhcp.bootSrvUseOpt device.dhcp.bootSrvUseOpt.set = "1" />

bootSrvUseOpt倀を蚭定したす

device.prov.serverName = "http//192.168.xxx.xxx8088 / phoneprov /"

ファむルパス

device.prov.serverType = "HTTP"

プロビゞョニングサヌバヌタむプ

<device.prov.serverName device.prov.serverName.set = "1" />

serverNameを蚭定したす

<device.prov.serverType device.prov.serverType.set = "1" />

serverTypeを蚭定したす





倪字の属性には特に泚意を払う必芁がありたす。これはスむッチのようなものです。 パラメヌタの倀を入力するだけでは十分ではありたせん。具䜓的に「はい」ず蚀う必芁もありたす。このパラメヌタを適甚する必芁がありたす。 <Device device.set = "1">は特に重芁です。 このパラメヌタヌが0の堎合、デバむス芁玠のすべおの蚭定は無芖されたす。



アスタリスク蚭定


これで、起動時に192.168.xxx.xxxからファむルを芁求するようになりたした8088 / phoneprov /。 それらを無から昇華させる必芁がありたす。 この倀に察しお、アスタリスクには特別なモゞュヌルがあり、テンプレヌトに基づいおファむルを自動的に生成し、アスタリスクの組み蟌みHTTPサヌバヌを介しおそれらをアップロヌドできたす。 詳现に぀いおはこちらをご芧ください 。特に次のように蚘茉されおいたす。

/etc/asterisk/manager.confに以䞋が含たれおいるこずを確認しおください。

[䞀般]

enabled = yes; -おそらく必芁ですが、理由はわかりたせんが

webenabled = yes; -おそらく必芁ですが、理由はわかりたせんが



/etc/asterisk/http.confに以䞋が含たれおいるこずを確認しおください。

[䞀般]

enabled = yes; 組み蟌みHTTPサヌバヌを含む

bindaddr = 192.168.xxx.xxx; IP-サヌバヌが利甚可胜になる

bindport = 8088; -なぜなら ポヌト80はApacheによっお占有され、8088を䜿甚したす



httpサヌバヌからファむルを芁求する堎合、phoneprovはファむルテンプレヌトを取埗し、users.confから取埗した倉数を眮き換えたす。これは特に䟿利で、ダむダルプランのテキスト機胜を䜿甚できたす。 たずえば、構成ファむルが小文字でナヌザヌのMACアドレスに圢成されるず、テンプレヌト内の$ {TOLOWER$ {MAC}}が眮き換えられたす。

次の倉数をテンプレヌトで䜿甚できたす。

 fullname = User Two ; ${DISPLAY_NAME} secret = test ; ${SECRET} username = 6001 ; ${USERNAME} macaddress = deadbeef4dad ; ${MAC} label = 6001 ; ${LABEL} cid_number = 6001 ; ${CALLERID}    : ${SERVER} –   phoneprov.conf    ,    bindaddr  http.conf ${SERVER_PORT} -   bindport  sip.conf,    ,  5060
      
      





res_phoneprov自䜓の構成ファむルは/etc/asterisk/phoneprov.confです。このファむルでは、パス/ var / lib /アスタリスク/ phoneprov /に関連する静的ファむルのディレクトリ、静的ファむルのリスト、動的に生成されるファむルのテンプレヌトおよび名前テンプレヌトのリストを指定する必芁がありたす。 以䞋に䟋を瀺したす。

 [general] serveraddr=192.168.. ;   ${SERVER}. serverport=5060 ;   ${SERVER_PORT}. default_profile=polycom ;        users.conf [polycom] staticdir => configs/ ;    , ,  ,    ..,   /var/lib/asterisk/phoneprov/ mime_type => text/xml static_file => 2345-12345-001.bootrom.ld static_file => 2345-12360-001.bootrom.ld static_file => 2345-12365-001.bootrom.ld static_file => 2345-12365-002.bootrom.ld static_file => 2345-12375-001.bootrom.ld static_file => 2345-12375-002.bootrom.ld static_file => 2345-12450-001.bootrom.ld static_file => 2345-12450-002.bootrom.ld static_file => 2345-12500-001.bootrom.ld static_file => 2345-12560-001.bootrom.ld static_file => 2345-12600-001.bootrom.ld static_file => 2345-12600-002.bootrom.ld static_file => 2345-12670-001.bootrom.ld static_file => 2345-12670-002.bootrom.ld static_file => 3111-15600-001.bootrom.ld static_file => 3111-30900-001.bootrom.ld static_file => 3111-40000-001.bootrom.ld static_file => bootrom.ld static_file => sip.ver static_file => sip.ld static_file => 000000000000-directory.xml ;-    static_file => languages/Website_dictionary_language_ru-ru.xml static_file => SoundPointIPLocalization/Russian_Russia/SoundPointIP-dictionary.xml ;------------ ${TOLOWER(${MAC})}.cfg => 000000000000.cfg ; ,    http://192.168..:8088/phoneprov/111111111111.cfg      000000000000.cfg   111111111111.cfg,         users.conf      macaddress=111111111111 ${TOLOWER(${MAC})}-custom.cfg => 000000000000-phone.cfg ;   http://192.168..:8088/phoneprov/111111111111-custom.cfg    111111111111-custom.cfg         users.conf      macaddress=111111111111
      
      





静的ファむルを䜿甚するず、すべおが簡単になりたす。ファむルがphoneprov.confに登録され、適切なアドレスに配眮されおいる堎合、Webサヌバヌから䜿甚できたす。

ダむナミックでは、もう少し耇雑に芋えたすが、すべおが明確になりたす。 サンプルテンプレヌトを次に瀺したす。

000000000000.cfg

 <?xml version="1.0" encoding="utf-8" standalone="yes"?> <APPLICATION APP_FILE_PATH="sip.ld" CONFIG_FILES="${TOLOWER(${MAC})}-custom.cfg" MISC_FILES="" LOG_FILE_DIRECTORY="" OVERRIDES_DIRECTORY="" CONTACTS_DIRECTORY="" LICENSE_DIRECTORY="" USER_PROFILES_DIRECTORY="" CALL_LISTS_DIRECTORY=""> </APPLICATION>
      
      





デフォルトでは、すべおの電話は1234123adba.cfgファむルを芁求したす。1234123adbaは電話のMACアドレスです。 電話はリク゚ストhttp//192.168.xxxx.xxx8088 / phoneprov / 1234123adba.cfgを送信したす。 このテンプレヌトには倉数が1぀しかなく、CONFIG_FILES = "$ {TOLOWER$ {MAC}}-custom.cfg"ディレクティブはCONFIG_FILES = "1234123adba-custom.cfg"になり、蚭定ファむル1234123adbaをダりンロヌドする必芁があるこずを電話機に䌝えたす。 -custom.cfg。 電話機は、 http//192.168.xxx.xxx8088 / phoneprov / 1234123adba.cfg-custom.cfgずいうリク゚ストを送信したす。サヌバヌは、2番目のテンプレヌト000000000000-phone.cfgに基づいお別の動的ファむルを生成したす。

000000000000-phone.cfg

 <?xml version="1.0" encoding="utf-8" standalone="yes"?> <polycomConfig xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:noNamespaceSchemaLocation="polycomConfig.xsd"> <call call.callsPerLineKey="2"></call> <reg reg.1.address="${USERNAME}" reg.1.auth.password="${SECRET}" reg.1.auth.userId="${USERNAME}" reg.1.label="${USERNAME}" reg.1.outboundProxy.address="${SERVER}" reg.1.lineKeys="2" reg.1.auth.domain="${SERVER}" reg.1.displayName="${USERNAME}" reg.1.server.1.address="${SERVER}" reg.1.server.1.register="1"></reg> <device device.set="1"> <device.dhcp device.dhcp.bootSrvUseOpt="Static" device.dhcp.enabled="0"> <device.dhcp.enabled device.dhcp.enabled.set="1" /> <device.dhcp.bootSrvUseOpt device.dhcp.bootSrvUseOpt.set="1" /> </device.dhcp> <device.dns device.dns.serverAddress="192.168.xxx.1" device.dns.altSrvAddress="8.8.8.8"> <device.dns.serverAddress device.dns.serverAddress.set="1" /> </device.dns> <device.prov device.prov.serverName="http://192.168.xxx.xxx:8088/phoneprov/" device.prov.serverType="HTTP"> <device.prov.serverName device.prov.serverName.set="1" /> <device.prov.serverType device.prov.serverType.set="1" /> </device.prov> <device.net device.net.ipAddress="192.168.XXX.${USERNAME}" device.net.subnetMask="255.255.255.0" device.net.IPgateway="192.168.xxx.1"> <device.net.ipAddress device.net.ipAddress.set="1" /> <device.net.subnetMask device.net.subnetMask.set="1" /> <device.net.IPgateway device.net.IPgateway.set="1" /> </device.net> <device.sntp device.sntp.gmtOffset="14400" device.sntp.serverName="pool.ntp.org"> <device.sntp.gmtOffset device.sntp.gmtOffset.set="1" /> <device.sntp.serverName device.sntp.serverName.set="1" /> </device.sntp> </device> <dialplan dialplan.1.digitmap="" dialplan.1.digitmap.timeOut="" dialplan.1.impossibleMatchHandling="2" /> <lcl> <lcl.ml lcl.ml.lang="Russian_Russia" /> </lcl> <tcpIpApp> <tcpIpApp.sntp.daylightSavings tcpIpApp.sntp.daylightSavings.enable="0" /> </tcpIpApp.sntp> </tcpIpApp> </polycomConfig>
      
      





ここではいく぀かの倉数が䜿甚されたす

$ {SECRET}は、users.confのポピヌ1234123adbaを䜿甚しお、ナヌザヌの説明の秘密の倀を眮き換えたす

$ {USERNAME}は、ナヌザヌの説明のナヌザヌ名の倀を、users.confのポピヌ1234123adbaに眮き換えたす。

$ {SERVER}は、phoneprov.confの倀を眮き換えたす

泚意しおください phoneprov.confを倉曎した埌、蚭定を厳しくするためにリロヌドが必芁です。

すべおの準備が敎ったら、コン゜ヌルで確認したす。

phoneprovショヌルヌト



静的ルヌトを衚瀺する必芁がありたす。動的ルヌトは、users.confにautoprov = yesのナヌザヌずmasアドレスがある堎合にのみ衚瀺されたす



users.confの構成


/etc/asterisk/users.confを䜜成するためのほずんどすべおが残っおいたす。 ここでも、最適化の機䌚がありたした。 Android向けのzxingアプリケヌションを䜿甚しお、電話機のすべおのMACアドレスをボックスから盎接スキャンし、同じアプリケヌションからメヌルに送信したした。 小芏暡の堎合、各ポピヌに䜕らかのアカりントを関連付けるこずが䟝然ずしお圓おはたりたす。 各macaddress = .......のために曞く手、どういうわけか私はしたくありたせんでした。 衚圢匏のデヌタに基づいおアスタリスク構成を自動的に生成するためのファむルを䜜成したした。これにはパスワヌドゞェネレヌタもありたす。



列をコピヌしおusers.confに貌り付けるだけです。 このプロゞェクトの携垯電話はすべお同じです。党員のテンプレヌトを䜜成し、ナヌザヌの説明にMACずパスワヌドのみを远加するのが理にかなっおいるからです。

/etc/asterisk/users.conf

 ... [def](!) ;-   type=friend fromuser="CPZ" host=dynamic nat=no disallow=all allow=ulaw allow=alaw hasvoicemail = no hassip = yes hasiax = no hash323 = no hasmanager = no qualify=yes autoprov = yes ;-      context=full [101](def) secret=XAHNGNCCXGR macaddress=0004f24ab859 [102](def) secret=OSANPHVZIEX macaddress=0004f24abdd6 [103](def) secret=AHUDYLSXFGT macaddress=0004f24ab766 


      
      





すべおの準備が敎ったら、コン゜ヌルで確認しおくださいphoneprov show routes

静的ルヌトず動的ルヌトの䞡方が衚瀺されるはずです。 ブラりザ192.168.xxxx.xxxをチェックするために残りたす8088 / phoneprov / 1234123adba.cfgたずえば、電話をオンにするず、すべおが自動的に行われたす。







セキュリティを忘れないでください。むンフラストラクチャを展開した埌、蚭定たたは゜フトりェアを曎新する必芁があるたで、ftpサヌバヌを無効にし、アスタリスクで組み蟌みWebサヌバヌを無効にするこずをお勧めしたす。 突然構成を頻繁に倉曎する必芁がある堎合は、HTTPSを䜿甚しおください。



All Articles