MikoPBX
Модули
MikoPBX
Модули
Autoprovisioning Plug & Play (PnP), эту технологию поддерживают многие производители — Yealink, Snom. Телефоны этих производителей могут быть настроен текущей версией модуля.
Основные достоинства автоматической настройки телефонов:
Подробнее о принципах работы можно почитать в статье Как работает Autoprovisioning Plug & Play
В скачанном логе следует обратить внимание на строки вида:
LIBD[528]: HTTP<5+notice> URL : http://172.16.32.105:56080/y000000000000.cfg LIBD[528]: HTTP<3+error > Connect Error AUTP[528]: AUTP<3+error > http to file failed, code = -3, msg = Connect Failed, cout = 0
Видно, что телефон попытался скачать конфигурационный файл с 172.16.32.105:56080. В моем случае это был сервер со старой Askozia 4.
Корректный ответ должен выглядеть следующим образом:
Oct 17 11:26:58 LIBD[548]: HTTP<5+notice> URL : http://172.16.32.225:80/pbxcore/api/modules/ModuleAutoprovision/... Oct 17 11:26:58 LIBD[548]: DCMN<6+info > Connecting 172.16.32.225:80 Oct 17 11:26:58 LIBD[548]: DCMN<6+info > Connecting IP = 172.16.32.225, Port = 80 Oct 17 11:26:58 LIBD[548]: HTTP<6+info > Request Line: GET /pbxcore/api/modules/ModuleAutoprovision/... Oct 17 11:26:58 LIBD[548]: HTTP<6+info > Host: 172.16.32.225 Oct 17 11:26:58 LIBD[548]: HTTP<6+info > User-Agent: Yealink SIP-T28P 2.72.14.2 00:15:65:18:72:eb Oct 17 11:26:58 LIBD[548]: HTTP<6+info > process response Oct 17 11:26:58 LIBD[548]: HTTP<5+notice> response code: 200 Oct 17 11:26:58 LIBD[548]: HTTP<6+info > Content-Length: 961 Oct 17 11:26:58 LIBD[548]: HTTP<5+notice> response process finish! Oct 17 11:26:58 LIBD[548]: HTTP<5+notice> recv : 961 bytes Oct 17 11:26:58 AUTP[548]: AUTP<6+info > download file success!!
В поле «Дополнительные параметры» допускается описать произвольные настройки для конфигурационных файлов телефонов.
Сервер по умолчанию генерирует следующий конфигурационный файл:
#!version:1.0.0.1 account.1.enable = 1 account.1.label = Askozia (204) account.1.display_name = 204 account.1.auth_name = 204 account.1.user_name = 204 account.1.password = 1c9709222690713dd account.1.sip_server_host = 172.16.156.223 account.1.sip_server_port = 5060 account.1.transport = 0 account.1.codec.1.enable = 1 account.1.codec.1.payload_type = PCMU account.1.codec.1.priority = 1 account.1.codec.1.rtpmap = 0 account.1.cid_source = 4 voice_mail.number.1 = *001 phone_setting.lcd_logo.mode=0 auto_provision.dhcp_option.enable = 0 features.intercom.allow = 1 features.intercom.mute = 0 features.intercom.tone = 1 features.intercom.barge = 1 features.dtmf.transfer = ## features.dtmf.replace_tran = 1 features.headset_prior = 1 features.intercom.allow = 1
К нему можно добавить в конец произвольный набор параметров. Для этого необходимо в поле «Дополнительные параметры» описать секцию «[yealink]». Пример:
[yealink] features.headset_prior = 1 features.intercom.allow = 1
Каждый новый параметр выделяется отдельной строкой.
Ссылка на сайт поддержки Yealink
Пример файла конфигурации:
<?xml version="1.0" encoding="utf-8"?> <settings> <time_24_format perm="R">off</time_24_format> <phone-settings> <user_pname idx="1" perm="RW">203</user_pname> <user_name idx="1" perm="RW">203</user_name> <user_realname idx="1" perm="RW">Smirnova Irina Aleksandrovna</user_realname> <user_pass idx="1" perm="RW">3256157a99f176eb959ef9c1fdd947f0</user_pass> <user_host idx="1" perm="RW">172.16.32.225</user_host> <user_srtp idx="1" perm="RW">off</user_srtp> <user_mailbox idx="1" perm="RW">*001</user_mailbox> <user_dp_str idx="1" perm="RW">!([^#]%2b)#!sip:\1@\d!d</user_dp_str> <contact_source_sip_priority idx="INDEX" perm="PERMISSIONFLAG">PAI RPID FROM</contact_source_sip_priority> <answer_after_policy perm="RW">idle</answer_after_policy> </phone-settings> </settings>
Файл имеет более сложную структуру, чем у Yealink.
Для добавления данных в узел «<settings>» следует описать секцию «[snom]»:
[snom] <tbook> <item context="line1" type="none" index="0"> <name>Adrian</name> <number>42965</number> </item> <item context="active" type="colleagues" index="1"> <name>Roland</name> <number>16424</number> </item> </tbook> <dialplan> <template match="0" timeout="4" scheme="sip" user="phone" rewrite="" /> <template match="00" timeout="0" scheme="sip" user="phone" rewrite="" /> <template match="011............" timeout="4" scheme="sip" user="phone" rewrite="" /> <template match="*79" timeout="0" scheme="sip" user="phone" rewrite="" /> <template match="*234" timeout="0" scheme="sip" user="phone" rewrite="" /> </dialplan>
Для добавления данных в узел «<phone-settings>» следует описать секцию «[snom-phone-settings]»:
[snom-phone-settings] <firmware_status perm="R">http://domain/snom/snom3x0-firmware.htm</<firmware_status> <update_policy perm="R">auto_update</update_policy> <firmware_interval perm="R">2880 </firmware_interval>
Документация доступна на сайте wiki.snom.com
Пример файла конфигурации:
<<VOIP CONFIG FILE>>Version:2.0002 PNP Enable :0 <SIP CONFIG MODULE> --SIP Line List-- : SIP1 Enable Reg :1 SIP1 Phone Number :203 SIP1 Display Name :Smirnova Irina Aleksandrovna SIP1 Sip Name :203 SIP1 Register Addr :172.16.156.223 SIP1 Register Port :5060 SIP1 Register User :203 SIP1 Register Pswd :3256157a99f176eb959ef9c1fdd947f0 SIP1 MWI Num :*001 SIP1 Proxy User : SIP1 Proxy Pswd : SIP1 Proxy Addr : <TELE CONFIG MODULE> SIP1 Caller Id Type:4 P1 Enable Intercom :1 P1 Intercom Mute :0 P1 Intercom Tone :1 P1 Intercom Barge :1 <AUTOUPDATE CONFIG MODULE> PNP Enable :1 PNP IP :224.0.1.75 PNP Port :5060 PNP Transport :0 PNP Interval :1 <<END OF FILE>>
Принцип кастомизации схож. В поле «Дополнительные параметры» есть возможность описать следующие секции: