Quantcast
Channel: IP АТС Asterisk
Viewing all 1052 articles
Browse latest View live

FreePBX

$
0
0

FreePBX

Настройка Asterisk FreePBX. Подробное описание модулей. Скриншоты.

Настройка FreePBX

FreePBX это полнофункциональный веб-интерфейс для конфигурации Asterisk PBX. Если Вы знакомы с Asterisk, то знаете, настройка ATC осуществляется при помощи конфигурационных файлов. FreePBX предлагает простой, интуитивно понятный интерфейс для настройки и управления Asterisk PBX. FreePBX также поставляется со многими дистрибьютивами: AsteriskNOW, FreePBX Distro, Trixbox, Elastix.

Общая документация.

Admin modules

Документация по административным модулям FreePBX

Applications

Документация по модулям приложений FreePBX

Connectivity

Документация по модулям входящих исходящих соединений FreePBX.

Settings Modules

Документация по модулям глобальных настроек каналов и приложений FreePBX

UCP

Примеры

Уязвимости

Устаревшее


Настройка res_pjsip для работы через NAT

$
0
0



Настройка res_pjsip для работы через NAT

В данной статье приведены примеры рабочей конфигурации драйвера канала PjSIP, когда Asterisk находится за NAT (Network Address Translation). Asterisk подключается через NAT к провайдеру IP телефонии (ITCP).
Этот пример подходит для большинства простых сценариев NAT при следующих условиях: Asterisk и телефоны находятся в частной сети. Маршрутизатор имеет локальный и публичный интерфейсы. Маршрутизатор реализует функции Трансляции Сетевых Адресов (NAT) и файерволла. На маршрутизаторе настроен проброс SIP и RTP портов на локальный IP адрес сервера Asterisk. В данном примере проброшены порты 5060 TCP/UDP и UDP 10000-10100 на LAN 10.10.2.10.

Устройства используемые в примере:

УстройствоIP адрес в примере
VOIP телефон(7777)10.10.2.77
PC/Asterisk10.10.2.10
МаршрутизаторLAN: 10.10.2.1
WAN: 123.123.123.123
ITSP SIP шлюз203.0.113.1(gw1.example.com)
203.0.113.2(gw2.example.com)

Для наглядности, в примере использованы фальшивые детали:

ITSP номер аккаунта : 123456789 и DID номер входящий от провайдера IP телефонии (ITSP): 3216111

pjsip.conf конфигурация

Подразумевается, что вы ознакомились со статьей о конфигурации Asterisk pjsip.confи имеете основные представления о работе Asterisk. Для этого примера, важно отметить опции - local_net, external_media_addressи external_signaling_addressв transportсекции и direct_mediaв endpointсекции. Остальные параметры могут зависеть от конкретной конфигурации, модели телефона, сетевых настроек, специфики провайдера IP телефонии и т.д.

local_net

Диапазон адресов локальной сети.

external_media_address

Внешний IP адрес используемый для обработки RTP трафика. Когда запрос или ответ на запрос отправляется из Asterisk и IP адрес назначение находится за пределами сетей указанных в параметре 'local_net', а медиа адрес в SDP сообщении из локальной сети, тогда медиа адрес из SDP сообщения перезаписывается значением назначенным в параметре 'external_media_address'.

external_signaling_address

Это тоже самое что и 'external_media_address', только для SIP сигнализации, вместо RTP медиа трафика. Этим двум опциям внешних адресов, должен быть назначен один и тот же IP адрес, если вы, конечно, не хотите разделить сигнальный и медиа трафик и направить на разные IP адреса или сервера.

direct_media

Управляет медиа потоком, направляя RTP трафик непосредственно между конечными точками, или через Asterisk. (вспомните canreinvite из sip.conf) Вместе, использование этих опций, обеспечивает правильное прохождение SIP и RTP пакетами сетевых узлов, а 'direct_media=no' указывает, что именно Asterisk должен обрабатывать медиа трафик. Это важно, т.к. наша система Asterisk имеет локальный IP адрес и провайдер IP телефонии (ITCP) не может маршрутизировать трафик напрямую к нему, поэтому мыдолжны убедится что SIP и RTP трафик возвращается на WAN публичный интернет адрес нашего роутера. В секциях имена которых начинаются с «sip_provider_*», настраиваются входящие и исходящие подключения SIP транка, а в секциях [7777] VoIP телефон.

[transport-udp-nat]
type=transport
protocol=udp
bind=0.0.0.0
local_net=10.10.2.0/24
local_net=127.0.0.1/32
external_media_address=123.123.123.123
external_signaling_address=123.123.123.123

[sip_provider_reg]
type=registration
transport=transport-udp-nat
outbound_auth=sip_provider_auth
server_uri=sip:gw1.example.com
client_uri=sip:123456789@gw1.example.com
contact_user=3216111
retry_interval=60

[sip_provider_auth]
type=auth
auth_type=userpass
password=************
username=123456789
realm=gw1.example.com

[sip_provider_endpoint]
type=endpoint
transport=transport-udp-nat
section=from-trunk
disallow=all
allow=ulaw
outbound_auth=sip_provider_auth
aors=sip_provider_aor
direct_media=no
from_domain=gw1.example.com

[sip_provider_aor]
type=aor
contact=sip:gw1.example.com
contact=sip:gw2.example.com

[sip_provider_identify]
type=identify
endpoint=sip_provider_endpoint
match=203.0.113.1
match=203.0.113.2
[7777]
type=endpoint
section=from-internal
disallow=all
allow=ulaw
transport=transport-udp-nat
auth=7777
aors=7777
direct_media=no
 
[7777]
type=auth
auth_type=userpass
password=*********
username=7777

[7777]
type=aor
max_contacts=2

Удаленные телефоны за NAT

Выше приведенный пример подразумевает, что телефон находится в локальной сети, так же как и сервер Asterisk.
Но может так статься, что Asterisk расположен на внешнем IP адресе, а удаленные телефоны находятся за NAT, или же и Asterisk, и телефоны расположены за NAT, т.е. имеет место двойной NAT? В этих случаях пригодятся следующие настройки оконечных точек (ENDPOINTS)

media_address

IP адрес используемый SDP для обработки медиа трафика.

В момент создания SDP сообщения, IP адрес назначенный здесь(media_address=1.2.3.4), используется как медиа адрес для потока SDP. At the time of SDP creation, the IP address defined here will be used as the media address for individual streams in the SDP. Помните также , что опция 'external_media_address', заданная в секции transport , установит окончательный адрес для возврата медиа трафика.

rtp_symmetric

Обязательный симметричный RTP. Отправлять RTP назад на тот же адрес/порт с которого он был получен.

force_rport

Поведение обязательно совместимое с RFC 3581, т.е., если rport не указан, отправлять SIP ответы на тот же порт с которого были получены запросы.

direct_media

Управляет медиа потоком, направляя RTP трафик, непосредственно, между конечными точками, или через Asterisk.

Поддержка ICE,STUN,TURN

NAT, SIP и Asterisk

$
0
0

NAT, SIP и Asterisk

Трансляция сетевых адресов (NAT) является обычной практикой в сети и нередко мешает прохождению голосовых пакетов (нет звука) и инициализации соединений (нет соединения). Решение этой проблемы требует понимания принципов работы NAT и VoIP. В этой статье рассматривается протокол SIP и Asterisk, но проблемы и решения применимы и к большинству других приложений и протоколов.

NAT используется, чтобы скрыть многочисленные локальные адреса, за каким-то внешним узлом, обеспечивая безопасность и структуризацию сети.
Когда пакет проходит шлюз (gateway), IP-адрес локального источника заменяется на внешний IP-адрес. При ответе шлюз направляет пакет на исходный локальный адрес. Также шлюз блокирует внешние запросы не имеющие явных внутренних источников, но возможно пробросить пакеты пришедшие на определенные порты, на заранее заданные IP адреса внутри сети.

Если у вас нет звука, нет звука в одну сторону, нет слышимости, прочтите внимательно эту инструкцию.

Reinvite

Первый абонент запрашивает соединение у второго , сообщая свой IP адрес. Второй отвечает, сообщая свой IP. Голосовые пакеты направляются напрямую абонентам, минуя SIP сервер. Передача голосовых пакетов напрямую абонентам, минуя Asterisk, называется RE-INVITE или Native Bridge.

NAT может вызвать проблемы в нескольких местах.

  • Если одна из АТС находится за NAT, другая АТС не сможет связаться с ней, без проброса портов.
  • Если телефон находится за NAT, голосовые пакеты могут быть направлены на немаршрутизируемый адрес в сети, что приведет к потере звука.

Клиент за NAT

В простейшей ситуации SIP клиент находясь за NAT, обращается к внешнему интерфейсу Asterisk. SIP клиент при регистрации на сервере создает запись в таблице трансляций, которая сохраняется, пока проходит хотя бы один пакет в минуту. В файле sip.conf требуется определить параметры сети и свойства удаленного пира.


[general]
localnet=192.168.0.0/255.255.255.0 ; локальная сеть
externip=x.x.x.x                   ; внешний ip адрес

[sip_phone]             
nat=yes
qualify=300                    ; проверять соединение каждые 300 мс.

Начиная с версии Asterisk 11: 'nat=yes' устарело, используйте 'nat=force_rport,comedia'
nat=force_rport,comedia

nat=force_rport,comedia
directmedia=nonat

При такой конфигурации Asterisk использует внешний IP адрес externipдля вызовов клиентов с параметром nat=yes . Дополнительно параметр qualify=yesподдерживает соединение, не позволяя удалять запись из таблицы трансляций.

SIP клиенты и Asterisk за NAT

Все усложняется если и Asterisk, и клиенты, находятся за NAT. Клиенты с внешней стороны не смогут получать SIP сообщения и принимать звонки. Или в SIP сообщении будет указан локальный IP адрес телефона, что приведет к потере звука.

Чтобы избежать потери звука запретите re-inviteв файле sip.conf

[general]
canreinvite => no

Опция canreinvite устарела. Используйте 'directmedia'.

  • directmedia=yes
  • directmedia=nonat
  • directmedia=update
  • directmedia=outgoing

Но клиенты находящиеся за NAT, все равно не смогут инициировать соединение с Asterisk и направить голосовые пакеты RTP на требуемый екстеншен. Для того чтобы это работало, надо пробросить требуемые порты через брандмауер на Asterisk. Диапазон RTP портов используемых Asterisk, назначается в файле rtp.conf.

[general]
rtpstart=10000 
rtpend=10100                  

По умолчанию задан диапазон от 10000 до 20000. Измените диапазон в соответсвии с вашими потребностями (3 порта на каждый конкурирующий вызов).

Для нормальной работы за NAT, потребуется пробросить диапазон RTP портов в соответсвии с настройками в файле rtp.conf и порт SIP(обычно 5060). В iptablesэто будет выглядеть так:

iptables -t nat -A PREROUTING -i eth0 -p udp \
-m udp --dport 10000:10100 -j DNAT \
--to-destination 192.168.1.10
iptables -t nat -A PREROUTING -i eth0 -p udp \
-m udp --dport 5060 -j DNAT \
--to-destination 192.168.1.10

Где eth0 - внешний интерфейс, а 192.168.1.10 - IP адрес Asterisk.

Основные параметры конфигурации NAT для Asterisk

sip.conf

Поддержка NAT в Asterisk 12

localnet

параметр 'localnet' список сетевых адресов, которые считаются «внутренними».

 localnet=192.168.0.0/255.255.0.0 - RFC 1918 адреса
 localnet=10.0.0.0/255.0.0.0      - Также RFC1918
 localnet=172.16.0.0/12           - Другое RFC1918 с CIDR обозначением
 localnet=169.254.0.0/255.255.0.0 - Zeroconf локальная сеть
externaddr

Внешний адрес щлюза (маршрутизатора) во внешнюю сеть. «externaddr = hostname[:port]» указывает статический адрес[:port] который будет использован в SIP и SDP сообщениях. Имя хоста (hostname) поднимается каждый раз, когда [пере]загружается sip.conf. Если порт не назначен, используется значение указанное в параметре «udpbindaddr». примеры:

 externaddr = 123.34.56.78:         - использовать этот адрес.
 externaddr = 123.34.56.78:9900     - использовать этот адрес и порт.
 externtcpport = 9900    - отображаемый наружу tcp порт
 externtlsport = 12600   - отображаемый наружу tcp порт;  'externtlsport' по рекомендации RFC назначенный порт 5061.	
externhost

«externhost = hostname[:port]» то же что и «externaddr» только это 'hostname' обновляемое через «externrefresh» секунд (по умолчанию 10сек.).

 externhost=foo.dyndns.net       - обновлять периодически
 externrefresh=180               - задать интервал обновления

В дополнение к вышесказанному Asterisk имеет дополнительный параметр «NAT» для разрешения вопросов, связанных со входящими SIP или медиа сессиями. В частности, в зависимости от настроек 'NAT =' как описано ниже, Asterisk может переопределить адрес / порт информацию, указанную в SIP / SDP сообщениях.

 nat = no                - без NAT RFC3581
 nat = force_rport       - использовать rport, даже если его нет 
 nat = comedia           - отправить медиа поток на порт ASterisk, независимо от указаний SDP.
 nat = auto_force_rport  - установить 'force_rport' параметр если  Asterisk обнаружил NAT (по умолчанию)
 nat = auto_comedia      - установить  'comedia' параметр если Asterisk обнаружил NAT

настройки могут совмещаться:

nat=force_rport,comedia

RFC 3581 определяет что 'rport' позволяет клиенту запросить, чтобы Asterisk отправлял SIP ответы на него через исходный IP и порт, с которого был направлен запрос, вместо адреса / порта из самого верхнего Via заголовка.

Установка force_rport принуждает Asterisk всегда передавать ответы обратно на адрес / порт, с которых он получил запросы, даже если другая сторона не поддерживает добавления параметра 'rport'.

media_address

IP адрес используемый для медиа (аудио, видео и текста) в SDP может быть переназначен параметром 'media_address'. Данный параметр может быть использован только в секции [general].

 media_address = 172.16.42.1
icesupport

ICE/STUN/TURN использование может быть включено глобально или для конкретного пира с помощью 'icesupport' опции.

 icesupport = yes
directmedia

Для отключения прямых RTP потоков (peer-to-peer) используйте опцию:

 directmedia=nonat

устаревшие настройки sip.conf

port= Порт используемый SIP протоколом для сигнализации (default=5060)

bindaddr= IP адрес Asterisk, если указано 0.0.0.0, то любой адрес.

externip= Этот параметр задается в секции [general] файла sip.confи указывает внешний IP адрес, или имя хоста на вашем устройстве NAT.

externip=123.123.123.123

Этот адрес будет использован для общения с устройствами с установленным параметром nat=force_rport.

localnet= Этот параметр задается в секции [general] файла sip.confи указывает на локальную сеть и используется для обращения к устройствам с параметром nat=no.

localnet=192.168.0.0/255.255.255.0
NAT

Возможные значения:

NAT= yes, no, never, route

NAT=route

Начиная с версии Asterisk 11: nat=yes is deprecated, use nat=force_rport,comedia instead

  • nat = no - без NAT RFC3581
  • nat = force_rport - использовать rport, даже если его нет
  • nat = comedia - отправить медиа поток на порт Asterisk, независимо от указаний SDP.
  • nat = auto_force_rport - установить 'force_rport' параметр если Asterisk обнаружил NAT (по умолчанию)
  • nat = auto_comedia - установить 'comedia' параметр если Asterisk обнаружил NAT

Asterisk будет отправлять голосовые пакеты на порт и IP адрес с которого их получает а не указанные в SIP и SDP сообщениях.

Это будет работать только, если телефоны за NAT будут использовать для одинаковый порт для голосовых пакетов RTP и одинаковый (но отличный от голосового) для сигнализации RTCP.

directmedia
  • directmedia=yes
  • directmedia=nonat
  • directmedia=update
  • directmedia=outgoing

qualify= Эта опция имеет два назначения.Первое - поддерживать запись в таблице трансляций NAT и контролировать регистрацию телефона.

Возможные значения:

qualify=yes 

Этот параметр задает проверку по умолчанию каждые 2 секунды.

qualify=no

Это выключает проверку.

qualify=300

Включает проверку через заданное время в 300 ms.

rtp.conf

 rtpstart=10000

Задает первый порт диапазона для приема и оправки голосовых пакетов RTP.

 rtpend=10100

Задает последний порт диапазона для приема и оправки голосовых пакетов RTP.

 stunaddr=sip.stun.tld

В Asterisk начиная с версии 11 появилась поддержка stun. icesupportдолжно быть включено.



Настройка res_pjsip для работы через NAT

В данной статье приведены примеры рабочей конфигурации драйвера канала PjSIP, когда Asterisk находится за NAT (Network Address Translation). Asterisk подключается через NAT к провайдеру IP телефонии (ITCP).
Этот пример подходит для большинства простых сценариев NAT при следующих условиях: Asterisk и телефоны находятся в частной сети. Маршрутизатор имеет локальный и публичный интерфейсы. Маршрутизатор реализует функции Трансляции Сетевых Адресов (NAT) и файерволла. На маршрутизаторе настроен проброс SIP и RTP портов на локальный IP адрес сервера Asterisk. В данном примере проброшены порты 5060 TCP/UDP и UDP 10000-10100 на LAN 10.10.2.10.

Устройства используемые в примере:

УстройствоIP адрес в примере
VOIP телефон(7777)10.10.2.77
PC/Asterisk10.10.2.10
МаршрутизаторLAN: 10.10.2.1
WAN: 123.123.123.123
ITSP SIP шлюз203.0.113.1(gw1.example.com)
203.0.113.2(gw2.example.com)

Для наглядности, в примере использованы фальшивые детали:

ITSP номер аккаунта : 123456789 и DID номер входящий от провайдера IP телефонии (ITSP): 3216111

Читать дальше...

2016/11/26

FreePBX за NAT

$
0
0

FreePBX за NAT

Установите модуль Asterisk SIP Settings

Предполагается что с вашего сервера/роутера проброшены порты:
5060 UDP - для инициации SIP соединения.
10000 - 20000 UDP - для голосовых пакетов. (диапазон можно уменьшить в файле /etc/asterisk/rtp.conf)

Установите следующие значения

NAT - yes

IP configuration - Static IP

Extern IP - 123.123.123.123 -внешний IP адрес

Local Networks - 192.168.0.0/255.255.255.0 -локальная сеть

Reinvite Behavior - No

FreePBX Asterisk SIP Settings

Модуль Asterisk SIP Settings устанавливает параметры SIP, аналогично секции [general] файла sip.conf.

Глобальные настройки могут быть переопределены для конкретных FreePBX 13 Extensionsили транков в модуле FreePBX 13 SIP Trunk.

В FreePBX 12 включена поддержка драйвера канала SIP - pjsip.
В связи с этим Модуль Asterisk SIP Settings разделен на несколько частей:

Изменить использование драйвера можно в модуле <fs large><fc #4682b4>Settings > Asterisk Settings - Dialplan and Operational - SIP Channel Driver</fc></fs>

sip channel driver both

General SIP Settings

General SIP Settings

В разделе General SIP Settingsуказывается externipсервера, localnet, диапазон RTP портов и используемые кодеки.
А также разрешаются или запрещаются анонимные вызовы.

Chan SIP

NAT

Настройки NAT в Астериск:

  • yes = Всегда игнорировать пакет info и предполагать NAT.
  • no = Использовать режим NAT в соостветствии с RFC3581.
  • never = Никогда не пытаться использовать NAT или RFC3581.
  • route = предполагая NAT не указывать rport.
IP Configuration
  • Public IP - У сервера один публичный ethernet интерфейс.
  • Static IP - Сервер стоит за NAT, или имеет два ethernet интерфейса - локальный и публичный.
  • Dynamic IP - У сервера публичный динамический IP адрес.
External IP

IP адрес через который осуществляются внешние регистрации. (Внешний IP роутера или IP внешнего интерфейса данной машины)
Например:

  • 123.123.123.123
Local Networks

Внутренние подсети из которых возможны регистрации.
Например:

  • 192.168.0.0/255.255.0.0
  • 10.10.10.0/255.255.255.0

Audio Codecs

Список Аудио кодеков используемых в системе.

Non-Standard g726

Нестандартный g726 для некоторых типов оборудования. yes/no

T38 Pass-Through

Поддержка T38 в транзитном режиме. Например если канал или устройство используют Т38,
Asterisk обеспечит транзит без обработки медиа потока(без конвертации кодеков). yes/no


Video Codecs

Video Support

Enable/Disable - Если включить появится список поддерживаемых кодеков:

  • h264
  • h263p
  • h263
  • h261
Max Bit Rate

Максимальная полоса пропускания для видео:
по умолчанию 384 kb/s


MEDIA & RTP Settings

Reinvite Behavior

Поведение ReInvite - см. подробнее > reinvite

  • yes: стандартный reinvite;
  • no: никогда не использовать reinvite;
  • nonat: дополнительная опция, разрешающая перенаправить медиа поток (reinvite), но только если пир установлен не за NATом (RTP может определить это на основе ИП адресов абонентов)
  • update: используется специальный SIP пакет UPDATE для принятия решения о перенаправлении вместо пакета INVITE. (Значение yes соответствует = update + nonat)
RTP Timers

rtptimeout. Завершает звонок если в установленное в секундах значение rtptimeout не обнаруживается активности RTP или RTCP в аудио канале и если абонент не поставлен на Hold (ожидание). Это позволяет завершить звонок в случае внезапного исчезновения телефона из сети, например при потере питания или повреждении кабеля Ethernet.

rtpholdtimeout. Завершает звонок если в установленное в секундах значение rtpholdtimeout не обнаруживается активности RTP или RTCP в аудио канале при состоянии on Hold (в ожидании). Значение должно быть > чем rtptimeout.

rtpkeepalive. Посылает пакеты rtpkeepalive в RTP поток для поддержки открытых динамических трансляций NAT в то время, когда RTP поток может например стоять на удержании.

  • 30 (rtptimeout)
  • 300 (rtpholdtimeout)
  • 0 (rtpkeepalive)
RTP Port Ranges

Диапазон Real Time Protocolпортов используемых Asterisk

  • 10000 (rtpstart)
  • 20000 (rtpend)

Notification & MWI

Уведомления и Индикатор ожидающих сообщений(MWI)

MWI Polling Freq

Частота запросов в секундах для обновления информации о пирах.

Notify Ringing

Контролирует внутренний номер о состоянии абонента INUSE получением пакета RINGING если уже принят один звонок. Удобно при использовании BLF - Busy Lamp Functionality. yes/no

Notify Hold

Контролирует внутренний номер о состоянии абонента INUSE получением пакета ONHOLD если звонок поставлен на ожидание Удобно при использовании BLF - Busy Lamp Functionality. yes/no


Registration Settings

Registrations

registertimeout. Повторяет попытки регистрации каждые N секунд, указанные в registertimeout до успешной регистрации, или при достижении указанного ограничения в registrationattempts.

registrationattempts. Количество попыток регистрации. Значение 0 соответствует бесконечному числу попыток. Обычное значение указывается 0 для того, чтобы Астериск продолжал попытки зарегистрироваться при пропадании локальной сети или маршрута в публичных сетях.

  • 20 (registertimeout)
  • 0 (registerattempts)
Registration Times

minexpiry. Минимальное значение действия регистрации/подписки.

maxepiry. Максимально возможное время действия для входящих регистраций.

defaultexpiry. Дефолтное значение действия входящих и исходящих регистраций.

  • 60 (minexpiry)
  • 3600 (maxexpiry)
  • 120 (defaultexpiry)

Jitter Buffer Settings

Jitter Buffer

Enabled/Disabled

Force Jitter Buffer

Yes/No

Implementation

Fixed/Adaptive

Jitter Buffer Logging

Enable/Disable

Jitter Buffer Size
  • 200(jbmaxsize)
  • 1000(jbresyncthreshold)

Advanced General Settings

Language

Язык звуковых сообщений в канале SIP.

Default Context

Контекст по умолчанию для входящих вызовов. Если не указано, то from-sip-external.

Bind Address

IP адрес на котором 'слушаются' входящие вызовы. Если указано 0.0.0.0, то будут «прослушиваться» все доступные IP адреса. Рекомендуется оставить это поле ПУСТЫМ.

Bind Port

Входящий порт на котором Asterisk будет слушать SIP сообщения. Стандартный порт 5060. Например, если вы назначите порт 5666, входящие SIP сообщения на другие порты будут просто игнорироваться. Рекомендуется отставить это поле пустым.

Allow SIP Guests

Разрешить неавторизованные SIP вызовы. Звучит опасно, но на самом деле позволяет вызывать абонента Asterisk незарегистрированному абоненту по SIP URI: user@asterisk_domain. Yes/No

Allow Anonymous Inbound SIP Calls

В данном случае рассматриваются анонимные SIP запросы, не имеющие определенного адресата. Если включить они попадут в контекст from-sip-exteral (если не задано другое в Default Context) Yes/No

SRV Lookup

Enabled/Disabled

Call Events

Генерировать события AMI на основании действий UA во время вызова (например HOLD).
Yes/No

Other SIP Settings

Добавьте кастомные установки, которые вам требуются.

Например:

  • alwaysauthreject = yes всегда отвечать на SIP запрос - SIP «401 Unauthorized»
  • prematuremedia = no
  • progressinband = yes

транслировать КПВ или сообщение из канала (например, по умолчанию, при вызове на занятый или отключенный мобильный телефон, Астериск сообщит что все канала заняты, что вводит пользователей в замешательство. Включенная установка progressinbandпозволит транслировать в канал сообщение о занятости или недоступности абонента от провайдера.

Advanced general Settings FreePBX sip

Chan_PJSIP

General Chan PjSIP Settings

Подробнее о настройке драйвера pjsip

В данном модуле настраивается транспортный уровень драйвера pjsip.

chan pjsip general FreePBX settings

FreePBX Asterisk SIP Settings

FreePBX Asterisk SIP Settings

$
0
0

FreePBX Asterisk SIP Settings

Модуль Asterisk SIP Settings устанавливает параметры SIP, аналогично секции [general] файла sip.conf.

Глобальные настройки могут быть переопределены для конкретных FreePBX 13 Extensionsили транков в модуле FreePBX 13 SIP Trunk.

В FreePBX 12 включена поддержка драйвера канала SIP - pjsip.
В связи с этим Модуль Asterisk SIP Settings разделен на несколько частей:

Изменить использование драйвера можно в модуле <fs large><fc #4682b4>Settings > Asterisk Settings - Dialplan and Operational - SIP Channel Driver</fc></fs>

sip channel driver both

General SIP Settings

General SIP Settings

В разделе General SIP Settingsуказывается externipсервера, localnet, диапазон RTP портов и используемые кодеки.
А также разрешаются или запрещаются анонимные вызовы.

Chan SIP

NAT

Настройки NAT в Астериск:

  • yes = Всегда игнорировать пакет info и предполагать NAT.
  • no = Использовать режим NAT в соостветствии с RFC3581.
  • never = Никогда не пытаться использовать NAT или RFC3581.
  • route = предполагая NAT не указывать rport.

IP Configuration

  • Public IP - У сервера один публичный ethernet интерфейс.
  • Static IP - Сервер стоит за NAT, или имеет два ethernet интерфейса - локальный и публичный.
  • Dynamic IP - У сервера публичный динамический IP адрес.

External IP

IP адрес через который осуществляются внешние регистрации. (Внешний IP роутера или IP внешнего интерфейса данной машины)
Например:

  • 123.123.123.123

Local Networks

Внутренние подсети из которых возможны регистрации.
Например:

  • 192.168.0.0/255.255.0.0
  • 10.10.10.0/255.255.255.0

Audio Codecs

Список Аудио кодеков используемых в системе.

Non-Standard g726

Нестандартный g726 для некоторых типов оборудования. yes/no

T38 Pass-Through

Поддержка T38 в транзитном режиме. Например если канал или устройство используют Т38,
Asterisk обеспечит транзит без обработки медиа потока(без конвертации кодеков). yes/no


Video Codecs

Video Support

Enable/Disable - Если включить появится список поддерживаемых кодеков:

  • h264
  • h263p
  • h263
  • h261

Max Bit Rate

Максимальная полоса пропускания для видео:
по умолчанию 384 kb/s


MEDIA & RTP Settings

Reinvite Behavior

Поведение ReInvite - см. подробнее > reinvite

  • yes: стандартный reinvite;
  • no: никогда не использовать reinvite;
  • nonat: дополнительная опция, разрешающая перенаправить медиа поток (reinvite), но только если пир установлен не за NATом (RTP может определить это на основе ИП адресов абонентов)
  • update: используется специальный SIP пакет UPDATE для принятия решения о перенаправлении вместо пакета INVITE. (Значение yes соответствует = update + nonat)

RTP Timers

rtptimeout. Завершает звонок если в установленное в секундах значение rtptimeout не обнаруживается активности RTP или RTCP в аудио канале и если абонент не поставлен на Hold (ожидание). Это позволяет завершить звонок в случае внезапного исчезновения телефона из сети, например при потере питания или повреждении кабеля Ethernet.

rtpholdtimeout. Завершает звонок если в установленное в секундах значение rtpholdtimeout не обнаруживается активности RTP или RTCP в аудио канале при состоянии on Hold (в ожидании). Значение должно быть > чем rtptimeout.

rtpkeepalive. Посылает пакеты rtpkeepalive в RTP поток для поддержки открытых динамических трансляций NAT в то время, когда RTP поток может например стоять на удержании.

  • 30 (rtptimeout)
  • 300 (rtpholdtimeout)
  • 0 (rtpkeepalive)

RTP Port Ranges

Диапазон Real Time Protocolпортов используемых Asterisk

  • 10000 (rtpstart)
  • 20000 (rtpend)

Notification & MWI

Уведомления и Индикатор ожидающих сообщений(MWI)

MWI Polling Freq

Частота запросов в секундах для обновления информации о пирах.

Notify Ringing

Контролирует внутренний номер о состоянии абонента INUSE получением пакета RINGING если уже принят один звонок. Удобно при использовании BLF - Busy Lamp Functionality. yes/no

Notify Hold

Контролирует внутренний номер о состоянии абонента INUSE получением пакета ONHOLD если звонок поставлен на ожидание Удобно при использовании BLF - Busy Lamp Functionality. yes/no


Registration Settings

Registrations

registertimeout. Повторяет попытки регистрации каждые N секунд, указанные в registertimeout до успешной регистрации, или при достижении указанного ограничения в registrationattempts.

registrationattempts. Количество попыток регистрации. Значение 0 соответствует бесконечному числу попыток. Обычное значение указывается 0 для того, чтобы Астериск продолжал попытки зарегистрироваться при пропадании локальной сети или маршрута в публичных сетях.

  • 20 (registertimeout)
  • 0 (registerattempts)
Registration Times

minexpiry. Минимальное значение действия регистрации/подписки.

maxepiry. Максимально возможное время действия для входящих регистраций.

defaultexpiry. Дефолтное значение действия входящих и исходящих регистраций.

  • 60 (minexpiry)
  • 3600 (maxexpiry)
  • 120 (defaultexpiry)

Jitter Buffer Settings

Jitter Buffer

Enabled/Disabled

Force Jitter Buffer

Yes/No

Implementation

Fixed/Adaptive

Jitter Buffer Logging

Enable/Disable

Jitter Buffer Size

  • 200(jbmaxsize)
  • 1000(jbresyncthreshold)

Advanced General Settings

Language

Язык звуковых сообщений в канале SIP.

Default Context

Контекст по умолчанию для входящих вызовов. Если не указано, то from-sip-external.

Bind Address

IP адрес на котором 'слушаются' входящие вызовы. Если указано 0.0.0.0, то будут «прослушиваться» все доступные IP адреса. Рекомендуется оставить это поле ПУСТЫМ.

Bind Port

Входящий порт на котором Asterisk будет слушать SIP сообщения. Стандартный порт 5060. Например, если вы назначите порт 5666, входящие SIP сообщения на другие порты будут просто игнорироваться. Рекомендуется отставить это поле пустым.

Allow SIP Guests

Разрешить неавторизованные SIP вызовы. Звучит опасно, но на самом деле позволяет вызывать абонента Asterisk незарегистрированному абоненту по SIP URI: user@asterisk_domain. Yes/No

Allow Anonymous Inbound SIP Calls

В данном случае рассматриваются анонимные SIP запросы, не имеющие определенного адресата. Если включить они попадут в контекст from-sip-exteral (если не задано другое в Default Context) Yes/No

SRV Lookup

Enabled/Disabled

Call Events

Генерировать события AMI на основании действий UA во время вызова (например HOLD).
Yes/No

Other SIP Settings

Добавьте кастомные установки, которые вам требуются.

Например:

  • alwaysauthreject = yes всегда отвечать на SIP запрос - SIP «401 Unauthorized»
  • prematuremedia = no
  • progressinband = yes

транслировать КПВ или сообщение из канала (например, по умолчанию, при вызове на занятый или отключенный мобильный телефон, Астериск сообщит что все канала заняты, что вводит пользователей в замешательство. Включенная установка progressinbandпозволит транслировать в канал сообщение о занятости или недоступности абонента от провайдера.

Advanced general Settings FreePBX sip

Chan_PJSIP

General Chan PjSIP Settings

Подробнее о настройке драйвера pjsip

В данном модуле настраивается транспортный уровень драйвера pjsip.

chan pjsip general FreePBX settings

FreePBX Asterisk SIP Settings

Asterisk func_odbc

$
0
0

Asterisk func_odbc

SQL операции func_odbc.conf,
как функции диалплана Asterisk.
Подробное руководство. Примеры.

Основы func_odbc

Имена функций (контекстов) рекомендуется задавать в верхнем регистре, но, тем не менее, имена чувствительны к регистру.

 [TEST]

Каждый созданный контекст становиться отдельной функцией, которая и вызывается в диалплане.
Т.е., если в этом файле определен контекст [TEST], то выполнив перезагрузку модуля
module reload func_odbc.soмы увидим созданную функцию: core show function ODBC <Tab>

CLI> core show function ODBC
ODBC        ODBC_FETCH  ODBC_TEST

Для соединения с хранилищем определяется категория DSN из конфига Asterisk: res_odbc.conf

 dsn=mysql1

Переменные аргументов ${ARGn}

Вызывая функцию в диалплане, оператору SQL передаются аргументы, перечисленные через запятую:

ODBC_FUNCTION_NAME(<arg1>, <arg2> … <argN>)

Которые затем получаются оператором SQL в переменных ${ARG1},${ARG2},…${ARGn}:

 exten => _555,1,Dial(Local/${ODBC_FUNCTION_NAME(${EXTEN})}@from-internal/n,30,tr)
 readsql => SELECT src FROM cdr WHERE dst='${ARG1}' ORDER BY calldate DESC LIMIT 1;

Переменные значений ${VARn}

ODBC_FUNCTION_NAME(<arg1>, <arg2> … <argN>)=<val1>,<val2>…<valN>

Дополнительно возможно получить значения для записи в переменных ${VAR1},${VAR2},…${VARn} :

exten => h,1,Set(ODBC_FUNCTION_NAME(${UNIQUEID})=/record/${UNIQUEID}.mp3)

где, VAR1=/record/${UNIQUEID}.mp3, а ARG1=${UNIQUEID}:

writesql=UPDATE cdr SET userfield='${VAL1}' WHERE uniqueid='${ARG1}'

Полная строка ${VALUE}

И наконец, чтобы получить полную строку из диалплана, без разбора, используется переменная ${VALUE}:

 exten => _2666,1,set(ODBC_COS1()=${SQL_ESC(INSERT INTO cos1 (master,slave) VALUE (2666,3999))})
[COS1]
dsn=mysql2
writesql=${VALUE}

Чтобы экранировать данные, в которых могут использоваться одинарные кавычки « ' »
(иначе используются для выделения данных в SQL запросе),
используется функция диалплана SQL_ESC().

Функция ODBC_FETCHобрабатывает много-строчные SQL запросы и зависит от параметра mode=multirow:

Set(_i=${ODBC_FETCH(${ODBC_FOO(${foo})})})

general func_odbc.conf

single_db_connection

Asterisk использует отдельные соединения для каждой операции с базой данных.
Если 'single_db_connection' включена, то func_odbc будет использовать общее
подключение к базе данных по одному DSN.
Эта означает, что второй вызов func_odbc работает по тому же соединению.
Обратите внимание, что потребуются дополнительные действия в диалплане, чтобы это работало.
Вместо этого можно использовать хранимые процедуры (набор SQL-инструкций) на сервере SQL.
Эта опция по умолчанию отключена.

 [general]
 single_db_connection=no

Параметры функций func_odbc.conf

readhandle

Разделенный запятыми список DSN (из конфига res_odbc.conf.
Каждый DSN из списка испытывается пока не удастся успешная операция 'readsql'.
Можно указать до 5-ти DSN для каждого класса функций. По умолчанию не задано.

 readhandle=mysql1,mysql2

writehandle

Разделенный запятыми список DSN (из конфига res_odbc.conf.
Каждый DSN из списка испытывается пока не удастся успешная операция 'writesql'.
Можно указать до 5-ти DSN для каждого класса функций. Параметр 'dsn' синоним 'writehandle'.
По умолчанию не задано.

 writehandle=pgsql1,pgsql2

readsql,writesql

  • readsql - операция класса функций для чтения данных.
  • writesql - операция класса функцийй для записи данных.
  • insertsql - Данный параметр указан в оригинальном конфиге Asterisk, но судя по всему, не поддерживается (Asterisk 14)

prefix "ODBC"

По умолчанию все имена классов функций начинаются с «ODBC»
Задав префикс, можно изменить стандартное «ODBC» на ваш префикс. По умолчанию не задано.

 prefix=DIALER

escapecommas

Отключить экранирование запятых. По умолчанию экранируются.

Пример func_odbc escapecommas=no

Пример func_odbc escapecommas=no

пример: Получим значение поля 'transport' (список транcпортов sip пира)
из БД asteriskтаблицы sipиспользуемой FreePBX.
Значение по умолчанию (escapecommas=yes):
func_odbc.conf

[TEST]
dsn=asterisk
readsql=SELECT data FROM sip WHERE id = '${ARG1}' AND keyword = 'transport'
escapecommas=yes

extensions_custom.conf

exten => _4XXX,1,set(i=${ODBC_TEST(${EXTEN})})
   same =>  n,verbose(${i})
   same =>  n,hangup 

CLI>

-- Executing [4886@from-test-2:1] Set("PJSIP/fs_pjsip-00000112", "i=udp\,tcp\,tls") in new stack
-- Executing [4886@from-test-2:2] Verbose("PJSIP/fs_pjsip-00000112", "udp\,tcp\,tls") in new stack

func_odbc.conf

 escapecommas=no

extensions_custom.conf

exten => _4XXX,1,set(i=${ODBC_TEST(${EXTEN})})
   same =>  n,set(ARRAY(t1,t2,t3)=${i})
     same =>  n,verbose(${t1})
       same =>  n,verbose(${t2})
	 same =>  n,verbose(${t3})
   same =>  n,hangup 

CLI>

Set("PJSIP/fs_pjsip-00000118", "i=udp,tcp,tls") in new stack
Set("PJSIP/fs_pjsip-00000118", "ARRAY(t1,t2,t3)=udp,tcp,tls") in new stack
Verbose("PJSIP/fs_pjsip-00000118", "udp") in new stack 
Verbose("PJSIP/fs_pjsip-00000118", "tcp") in new stack
Verbose("PJSIP/fs_pjsip-00000118", "tls") in new stack

synopsis

Появится в описании функции вызываемом командой 'core show function <function name>'
в разделе synopsis:

 synopsis=def codes for spb mobile calls

mode=multirow

Этот параметр может быть установлен в 'multirow', чтобы разрешить функции возвращать множество строк.
Это меняет стандартный режим работы 'func_odbc'.
Вместо того, чтобы вернуть просто строку, он возвращает ID для функции ODBC_FETCH(),
которая, в свою очередь, возвращает уже каждую строку по отдельности.
Переменная ODBC_FETCH_STATUS возвращает значение SUCCESS или FAILURE, чтобы понять были ли получены какие-либо результаты.
По завершении должна быть выполнена команда ODBCFinish, чтобы очистить любые оставшиеся результаты.
Переменная ODBCROWS возвращает число полученных строк.

rowlimit

Задает предельное число строк, которое может быть сохранено для этого запроса.
В режиме 'multirow' функция может получить большое количество строк и переполнить память до предела.
Чтобы избежать этого задается лимит.

; ODBC_SQL - Allow an SQL statement to be built entirely in the dialplan
[SQL]
dsn=mysql1
readsql=${ARG1}

; ODBC_ANTIGF - A blacklist.
[ANTIGF]
dsn=mysql1,mysql2   ; Use mysql1 as the primary handle, but fall back to mysql2
                    ; if mysql1 is down.  Supports up to 5 comma-separated
                    ; DSNs.  "dsn" may also be specified as "readhandle" and
                    ; "writehandle", if it is important to separate reads and
                    ; writes to different databases.
readsql=SELECT COUNT(*) FROM exgirlfriends WHERE callerid='${SQL_ESC(${ARG1})}'
syntax=<callerid>
synopsis=Check if a specified callerid is contained in the ex-gf database

; ODBC_PRESENCE - Retrieve and update presence
[PRESENCE]
dsn=mysql1
readsql=SELECT location FROM presence WHERE id='${SQL_ESC(${ARG1})}'
writesql=UPDATE presence SET location='${SQL_ESC(${VAL1})}' WHERE id='${SQL_ESC(${ARG1})}'

Файлы конфигурации Asterisk

Нажмите, чтобы отобразить

Нажмите, чтобы скрыть

;
; func_odbc.conf
;
[general]
;
; Asterisk uses separate connections for every database operation.
; If single_db_connection is enabled then func_odbc will use a single
; database connection per DSN.
; This option exists for those who expect that a second func_odbc call
; works on the same connection. That allows you to do a LAST_INSERT_ID()
; in a second func_odbc call.
; Note that you'll need additional dialplan locks for this behaviour to work.
; There are better ways: using stored procedures/functions instead.
; This option is disabled by default.
;single_db_connection=no
;
;
; Each context is a separately defined function.  By convention, all
; functions are entirely uppercase, so the defined contexts should also
; be all-uppercase, but there is nothing that enforces this.  All functions
; are case-sensitive, however.
;
; For substitution, you have ${ARG1}, ${ARG2} ... ${ARGn}
; for the arguments to each SQL statement.
;
; In addition, for write statements, you have ${VAL1}, ${VAL2} ... ${VALn}
; parsed, just like arguments, for the values.  In addition, if you want the
; whole value, never mind the parsing, you can get that with ${VALUE}.
;
;
; If you have data which may potentially contain single ticks, you may wish
; to use the dialplan function SQL_ESC() to escape the data prior to its
; inclusion in the SQL statement.
;
;
; The following options are available in this configuration file:
;
; readhandle   A comma-separated list of DSNs (from res_odbc.conf) to use when
;              executing the readsql statement.  Each DSN is tried, in
;              succession, until the statement succeeds.  You may specify up to
;              5 DSNs per function class.  If not specified, it will default to
;              the value of writehandle or dsn, if specified.
; writehandle  A comma-separated list of DSNs (from res_odbc.conf) to use when
;              executing the writesql statement.  The same rules apply as to
;              readhandle.  "dsn" is a synonym for "writehandle".
; readsql      The statement to execute when reading from the function class.
; writesql     The statement to execute when writing to the function class.
; insertsql    The statement to execute when writing to the function class
;              succeeds, but initially indicates that 0 rows were affected.
; prefix       Normally, all function classes are prefixed with "ODBC" to keep
;              them uniquely named.  You may choose to change this prefix, which
;              may be useful to segregate a collection of certain function
;              classes from others.
; escapecommas This option may be used to turn off the default behavior of
;              escaping commas which occur within a field.  If commas are
;              escaped (the default behavior), then fields containing commas
;              will be treated as a single value when assigning to ARRAY() or
;              HASH().  If commas are not escaped, then values will be separated
;              at the comma within fields.  Please note that turning this option
;              off is incompatible with the functionality of HASH().
; synopsis     Appears in the synopsis field for the command
;              'core show function <function name>'
; mode         This option may be set to 'multirow' to allow the function
;              specified to return more than a single row.  However, this
;              changes the way that func_odbc normally works.  Instead of the
;              invocation of the function returning a row, it returns an opaque
;              ID, which may be passed to ODBC_FETCH() to return each row in
;              turn.  ODBC_FETCH_STATUS returns SUCCESS or FAILURE, to indicate
;              whether any results were stored, and you should call ODBC_Finish
;              on the ID to clean up any remaining results when you are done
;              with the query.  Also, the variable ODBCROWS is set initially,
;              which may be used in an iterative fashion to return each row in
;              the result.
;              Please note that multirow queries are isolated to the channel,
;              and rows may not be fetched outside of the channel where the
;              query was initially performed.  Additionally, as the results are
;              associated with a channel, mode=multirow is incompatible with
;              the global space.
; rowlimit     Rowlimit limits the total number of rows which can be stored for
;              that query.  For mode=multirow, otherwise, func_odbc will
;              attempt to store all rows in the resultset, up to the maximum
;              amount of memory.  In normal mode, rowlimit can be set to allow
;              additional rows to be fetched, rather than just the first one.
;              These additional rows can be returned by using the name of the
;              function which was called to retrieve the first row as an
;              argument to ODBC_FETCH().


; ODBC_SQL - Allow an SQL statement to be built entirely in the dialplan
[SQL]
dsn=mysql1
readsql=${ARG1}

; ODBC_ANTIGF - A blacklist.
[ANTIGF]
dsn=mysql1,mysql2   ; Use mysql1 as the primary handle, but fall back to mysql2
                    ; if mysql1 is down.  Supports up to 5 comma-separated
                    ; DSNs.  "dsn" may also be specified as "readhandle" and
                    ; "writehandle", if it is important to separate reads and
                    ; writes to different databases.
readsql=SELECT COUNT(*) FROM exgirlfriends WHERE callerid='${SQL_ESC(${ARG1})}'
syntax=<callerid>
synopsis=Check if a specified callerid is contained in the ex-gf database

; ODBC_PRESENCE - Retrieve and update presence
[PRESENCE]
dsn=mysql1
readsql=SELECT location FROM presence WHERE id='${SQL_ESC(${ARG1})}'
writesql=UPDATE presence SET location='${SQL_ESC(${VAL1})}' WHERE id='${SQL_ESC(${ARG1})}'

IPMatika Yealink - Auto Provisioning - Hot Desking

$
0
0

IPMatika Yealink - Auto Provisioning - Hot Desking

Рассмотрим простой пример организации VoIP АТС с реализацией функций:
Auto Provisionig - в нашем примере, загрузка настроек телефона с TFTP сервера.
Hot Desking - за телефонными аппаратами не закреплен конкретный номер. Сотрудник нажимает запрограммированную кнопку на телефоне, вводит логин/пароль и авторизуется на своем SIP аккаунте.

Данная инструкция ориентирована на использование линейки VoIP телефонов Yealink(IPmatika) SIP-T2/T19P/T4

Список моделей.

  • Yealink SIP-T28P
  • Yealink SIP-T26P
  • Yealink SIP-T22P
  • Yealink SIP-T21P
  • Yealink SIP-T20P
  • Yealink SIP-T19P
  • Yealink SIP-T46G
  • Yealink SIP-T42G
  • Yealink SIP-T41P

Формат имени конфигурационного файла общих настроек (common) для каждой модели.

Phone Model Common CFG File
SIP-T28P y000000000000.cfg
SIP-T26P y000000000004.cfg
SIP-T22P y000000000005.cfg
SIP-T21P y000000000034.cfg
SIP-T20P y000000000007.cfg
SIP-T19P y000000000031.cfg
SIP-T46G y000000000028.cfg
SIP-T42G y000000000029.cfg
SIP-T41P y000000000036.cfg

Формат имени конфигурационного файла для каждого уникального устройства.

MAC_Address.cfg

Пример общего конфигурационного файла модели T19(P).

Может быть использован для всех вышеперечисленных моделей.

y000000000031.cfg

y000000000031.cfg

#!version:1.0.0.1

##File header "#!version:1.0.0.1" can not be edited or deleted, and must be placed in the first line.##

#######################################################################################
##                          Network                                                  ## 
#######################################################################################

#Configure the WAN port type; 0-DHCP (default), 1-PPPoE, 2-Static IP Address;
#Require reboot;
network.internet_port.type =     

#Configure the static IP address, subnet mask, gateway and DNS server;
#Require Reboot;
network.internet_port.ip =
network.internet_port.mask = 
network.internet_port.gateway =
network.primary_dns= 
network.secondary_dns = 

#Configure the duplex mode and the speed of the WAN port.
#0-Auto negotiate (default), 1-Full duplex 10Mbps, 2-Full duplex 100Mbps, 3-Half duplex 10Mbps, 4-Half duplex 100Mbps;
network.internet_port.speed_duplex = 

#Configure the username and password for PPPOE connection.
#Require reboot;
network.pppoe.user = 
network.pppoe.password = 

#Configure the PC port type; 0-Router, 1-Bridge (default);
#Require reboot;
network.bridge_mode =     

#Configure the IP address and mask when the PC port is configured as Router.
#Require reboot;
network.pc_port.ip = 
network.pc_port.mask = 

#Configure the duplex mode and the speed of the PC port when configured as Router.
#0-Auto negotiate (default), 1-Full duplex 10Mbps, 2-Full duplex 100Mbps, 3-Half duplex 10Mbps, 4-Half duplex 100Mbps;
network.pc_port.speed_duplex = 

#Enable or disable the DHCP server when the PC port is configured as Router; 0-Disabled, 1-Enabled (default);
#Require reboot;
network.pc_port.dhcp_server = 

#Define the DHCP IP address range. The default is from 10.0.0.10 to 10.0.0.100.
network.dhcp.start_ip =
network.dhcp.end_ip =

#Enable or disable the VLAN of WAN prot; 0-Disabled (default), 1-Enabled;
#Require reboot;
network.vlan.internet_port_enable =            

#Configure the VLAN ID, it ranges from 0 to 4094, the default value is 0.
#Require reboot;
network.vlan.internet_port_vid =  

#Configure the VLAN priority, it ranges from 0 (default) to 7. 
#Require reboot;            
network.vlan.internet_port_priority =        
        
#Enable or disable the VLAN of PC port; 0-Disabled (default), 1-Enabled; 
#Require reboot;
network.vlan.pc_port_enable =  

#Configure the VLAN ID, it ranges from 0 to 4094, the default value is 1. 
#Require reboot;
network.vlan.pc_port_vid =      

#Configure the VLAN priority, it ranges from 0 (default) to 7. 
#Require reboot;
network.vlan.pc_port_priority =    

#Enable or disable the DHCP to obtain the information of the VLAN; 0-Disabled; 1-Enabled (default);
#Require reboot;
network.vlan.dhcp_enable =

#Configure the DHCP option to obtain the information of the VLAN. It ranges from 0 to 255.
#Multiple options separated by a comma. It supports up to 5 options in all.
#Require reboot;
network.vlan.dhcp_option =

#Configure the transmit package mode when the VLAN of PC port is enabled; 
#0-The package is not treated and forwarded directly from PC port to the WAN port;
#1-The package is added the tag and forwarded from PC port to the WAN port, if the package is not the tag.
#Require reboot;
network.vlan.pc_port_mode =

#Configure the access type of the web server; 0-Disabled, 1-HTTP & HTTPS(default), 2-HTTP Only, 3-HTTPS Only;
#Require reboot;
network.web_server_type = 

#Configure the HTTP port (80 by default) and the HTTPS port (443 by default) of the web server. Both range from 1 to 65535.
#Require reboot;
network.port.http = 
network.port.https = 

#Configure the maximum local RTP port. It ranges from 0 to 65535, the default value is 11800.
#Require reboot;
network.port.max_rtpport = 

#Configure the minimum local RTP port. It ranges from 0 to 65535, the default value is 11780.
#Require reboot;
network.port.min_rtpport = 

#Configure the voice QOS. It ranges from 0 to 63, the default value is 46.
#Require reboot;
network.qos.rtptos = 

#Configure the SIP QOS. It ranges from 0 to 63, the default value is 26.
#Require reboot;
network.qos.signaltos = 

#Configure the 802.1x mode; 0-Disabled (default), 1-EAP-MD5, 2-EAP-TLS, 3-PEAP-MSCHAPV2;
#Require reboot;
network.802_1x.mode = 

#Configure the username and password for 802.1x authentication.
#Require reboot;
network.802_1x.identity = 
network.802_1x.md5_password = 

#Configure the access URL of the root and client certificates.
network.802_1x.root_cert_url =
network.802_1x.client_cert_url = 

#Enable or disable the VPN feature; 0-Disabled (default), 1-Enabled;
#Require reboot;
network.vpn_enable = 

#Enable or disable the LLDP feature; 0-Disabled, 1-Enabled (default);
#Require reboot;
network.lldp.enable = 

#Configure the interval(in seconds) the phone broadcasts the LLDP request. It ranges from 1 to 3600, the default value is 60.
#Require reboot;
network.lldp.packet_interval = 

#Enable or disable the SNMP feature; 0-Disabled (default), 1-Enabled;
#Require reboot;
network.snmp.enable =

#Configure the SNMP port.
#Require reboot;
network.snmp.port = 

#Configure the IP address(es) of the trusted SNMP server,multiple IP addresses must be separated by a space.
#Require reboot;
network.snmp.trust_ip =

#Enable or disable the span from WAN port to PC port feature; 0-Disabled (default), 1-Enabled;
#Require reboot;
network.span_to_pc_port =

#Configure the phone whether to add the MAC address to the User-Agent header; 0-Do not add, 1-Add;
#Require reboot;
network.sip.tag_mac_to_ua.enable =

#######################################################################################
##                Syslog Server                                                      ##          
#######################################################################################

#Configure the IP address of the syslog server.
#Require reboot;
syslog.server = 

#Configure the syslog level. It ranges from 0 to 6, the default value is 3.
#Require reboot;
syslog.log_level = 

#######################################################################################
##                 TR069                                                             ##
#######################################################################################

#The TR069 feature is only applicable to some designated firmware version.
#All settings of TR069 require reboot.
#Enable or disable the TR069 feature; 0-Disabled (default), 1-Enabled;
managementserver.enable = 

#Configure the username and password for the phone to authenticate with the ACS.
managementserver.username = 
managementserver.password = 

#Configure the access URL of the ACS.
managementserver.url = 

#Configure the username and password for the phone to authenticate the connection requests.
managementserver.connection_request_username = 
managementserver.connection_request_password = 

#Enable or disable the phone to inform its configuration to the ACS; 0-Disabled (default), 1-Enabled;
managementserver.periodic_inform_enable = 

#Configure the interval (in seconds) the phone to inform its configuration to the ACS. The default value is 60.
managementserver.periodic_inform_interval = 

#######################################################################################
##                 Auto Provisioning                                                 ##      
#######################################################################################

#Configure the auto provision mode;
#0-Disabled (default), 1-Power on, 4-Repeatedly, 5-Weekly, 6-Power on + Repeatedly, 7-Power on + Weekly; 
auto_provision.mode = 1

#Enable or disable the Plug and Play feature; 0-Disabled, 1-Enabled (default);
auto_provision.pnp_enable =  

#Configure the domain name of the PNP server.
auto_provision.pnp_domain_name =

#Configure the value (manufacturer of the device) of the PNP subscribe message. 
auto_provision.pnp_event_vendor =

#Configure the interval (in minutes) for the phone to check new configuration files. It ranges from 1 to 43200, the default value is 1440.
#It is only applicable to "Repeatedly" and "Power on + Repeatedly" modes.
auto_provision.schedule.periodic_minute = 

#Configure the start time of the day for the phone to check new configuration files. The default value is 00:00.
#It is only applicable to "Weekly" and "Power on + Weekly" modes. 
#If the desired start time of the day is seven forty-five a.m., the value format is 07:45.
auto_provision.schedule.time_from =

#Configure the end time of the day for the phone to check new configuration files.  The default time is 00:00.
#It is only applicable to "Weekly" and "Power on + Weekly" modes.
#If the desired end time of the day is seven forty-five p.m., the value format is 19:45.
auto_provision.schedule.time_to =

#Configure the day of week for the phone to check new configuration files. The default vaule is 0123456.
#0-Sunday,1-Monday,2-Tuesday,3-Wednesday,4-Thursday,5-Friday,6-Saturday;
#It is only applicable to "Weekly" and "Power on + Weekly" modes.
#If the desired week is Monday, Tuesday and Wednesday, the value format is 012.
auto_provision.schedule.dayofweek =

#Configure the URL of the auto provisioning server.
auto_provision.server.url = 10.10.10.1

#Configure the username and password for downloading.
auto_provision.server.username = 
auto_provision.server.password = 

#Configure the name of the common file.
#T28P: y000000000000.cfg, T26P: y000000000004.cfg, T22P: y000000000005.cfg, T20P: y000000000007.cfg;
auto_provision.common_file_name = 

#Enable or disable DHCP option mode; 0-Disabled, 1-Enabled (default);
auto_provision.dhcp_option.enable =

#Configure the value (manufacturer of the device) of DHCP option 60. 
auto_provision.dhcp_option.option60_value = 

#Configure the custom DHCP option number. It ranges from 128 to 254. 
auto_provision.dhcp_option.list_user_options = 

#Configure AES key (16 characters) for decrypting the common CFG file. 
auto_provision.aes_key_16.com = 

#Configure AES key (16 characters) for decrypting the MAC-Oriented CFG file.
auto_provision.aes_key_16.mac = 

#Configure the mode of downloading configuration files for the phone. The value is 0(default) or 1.
auto_provision.update_file_mode = 0

#######################################################################################
##	               Auto Provisioning Code                                            ##
#######################################################################################

#This feature allows user to trigger the auto provisioning by pressing a predefined string on the phone.
#Require reboot;
#"X" ranges from 1 to 50

#Configure the auto provisioning name.
#The valid value is a string, the maximum length is 100.
#autoprovision.X.name =                  

#Configure the auto provisioning code;
#The valid value is a string, the maximum length is 100.
#autoprovision.X.code =                   

#Configure the URL of the auto provisioning server.
#The valid value is a string, the maximum length is 256.
#autoprovision.X.url =                

#Configure the username and password for downloading.
#The valid value is a string, the maximum length is 100.
#autoprovision.X.user =                   
#autoprovision.X.password =            

#Configure AES key (16 characters) for decrypting the common CFG file and MAC-Oriented CFG file.
#autoprovision.X.com_aes =               
#autoprovision.X.mac_aes =               

autoprovision.1.name =        
autoprovision.1.code =        
autoprovision.1.url =         
autoprovision.1.user =        
autoprovision.1.password =    
autoprovision.1.com_aes =     
autoprovision.1.mac_aes =     

autoprovision.2.name =        
autoprovision.2.code =        
autoprovision.2.url =         
autoprovision.2.user =        
autoprovision.2.password =    
autoprovision.2.com_aes =     
autoprovision.2.mac_aes = 

#######################################################################################
##	                Phone Features                                                   ##
#######################################################################################

#Enable or disable the phone to escape the pound key as percent sign followed by 23 when dialing out; 0-Disabled, 1-Enabled (default); 
sip.use_23_as_pound = 

#Enable or disable the RFC2543 Hold feature; 0-Disabled (default), 1-Enabled;
sip.rfc2543_hold = 

#Enable or disable the phone to keep sending the SIP messages to the outbound server; 0-Disabled, 1-Enabled (default);
sip.use_out_bound_in_dialog = 

#Configure the registration random time (in seconds). It ranges from 0 (default) to 60. 
sip.reg_surge_prevention = 

#Enable or disable the WatchDog feature; 0-Disabled, 1-Enabled (default);
watch_dog.enable = 

#Enable or disable the transferee to display the missed call prompt when receiving a semi_attended transfer call;
#0-Disabled, 1-Enabled (default);
transfer.semi_attend_tran_enable =

#Enable or disable the phone to complete the blind or attended transfer through on-hook;
#0-Disabled,1-Enabled(default);
transfer.blind_tran_on_hook_enable =    
transfer.on_hook_trans_enable = 

#Define the way of DSS key when configuring as a transfer key; 0-Display Number, 1-Attended Transfer, 2-Blind Transfer (default);
transfer.dsskey_deal_type =

#Enable or disable the phone to enter the transfer to interface during two calls when pressing the transfer soft key or TRAN key; 0-Disable, 1-Enabled (default);
transfer.multi_call_trans_enable =

#Enable or disable the conference initiator to transfer the call when hanging up. 
#0-Disabled(default),1-Enabled;
transfer.tran_others_after_conf_enable =  


#######################################################################################
##         	                   Call Forward                                          ##               
#######################################################################################

#Configure the call forward key mode; 0-Phone mode (default), 1-Custom mode.
features.fwd_mode =

#Enable or disable the always forward feature; 0-Disabled (default), 1-Enabled;
forward.always.enable = 

#Configure the target number that the phone will forward the call to.
forward.always.target = 

#Configure the always forward on code and off code.
forward.always.on_code = 
forward.always.off_code = 

#Enable or disable the busy forward feature; 0-Disabled (default), 1-Enabled;
forward.busy.enable = 
forward.busy.target = 
forward.busy.on_code = 
forward.busy.off_code = 

#Enable or disable the no answer forward feature; 0-Disabled (default), 1-Enabled; 
#Configure the waiting ring times before forwarding. It ranges from 0 to 20, the default value is 2.
forward.no_answer.enable = 
forward.no_answer.target = 
forward.no_answer.timeout = 
forward.no_answer.on_code = 
forward.no_answer.off_code = 

#Enable or disable the phone to forward the call to the international number (the prefix is 00); 0-Disabled (default), 1-Enabled;
forward.international.enable = 

#######################################################################################
##         	                   DND                                                   ##               
#######################################################################################

#Configure the DND key mode; 0-Phone mode (default), 1-Custom mode.
features.dnd_mode = 

#Configure the DND on code and off code.
features.dnd.on_code = 
features.dnd.off_code =

#######################################################################################
##                                Voice                                              ##
#######################################################################################

#Enable or disable the voice activity detection feature; 0-Disbaled (default), 1-Enabled;
voice.vad = 

#Enable or disable the comfortable noise generator; 0-Disabled, 1-Enabled (default);
voice.cng = 

#Enable or disable the echo canceller; 0-Disabled, 1-Enabled (default);
voice.echo_cancellation =

#Configure the volume of the side tone. It ranges from -48 to 0, the default value is -3.
voice.side_tone= 

#Configure the sending volume of Speaker, Handset and Headset. It ranges from 1 to 53, the default values are 25, 35, 29.
#Require reboot;
voice.handfree_send =
voice.handset_send = 
voice.headset_send = 

#Configure the type of jitter buffer; 0-Fixed, 1-Adaptive (default); 
voice.jib.adaptive = 

#Configure the minimum delay, maximum delay and normal delay. The default values are 0, 300, 120.
voice.jib.min =
voice.jib.max = 
voice.jib.normal = 

#Define the voice tone, the valid values can be Custom (default) or voice tone of different countries. For example, United States, France, Germany and so on.
#voice.tone.country = Custom 
voice.tone.country =

#Customize the tone when the "voice.tone.country" is configured as Custom.  
#The value format: Frequency/Duration.
#Frequency ranges from 200 to 7000. When 0 is used to define the frequency, it means a pause between tones.
#A tone can be composited at most four different frequencies (the value format is: F1+F2+F3+F4).
#Duration is the time duration (in milliseconds) of ringing the tone. It ranges from 0 to 30000ms.
#At most eight tones can be configured for dial, ring, busy and so on, each tone is separated by a comma. 
#For example, voice.tone.dial = 100/200,200/150,300+400+500+1200/1000,0/1200,500+900/800,5000+2000+3000/6000,0/1500,3600/1800
voice.tone.dial = 
voice.tone.ring = 
voice.tone.busy = 
voice.tone.congestion = 
voice.tone.callwaiting = 
voice.tone.dialrecall = 
voice.tone.record= 
voice.tone.info = 
voice.tone.stutter = 
voice.tone.message = 
voice.tone.autoanswer = 

#Configure the receiving volume of Speaker, Handset and Headset. It ranges from 0 to 15, the default value is 8.
voice.handfree.spk_vol = 
voice.handset.spk_vol = 
voice.headset.spk_vol = 

#Configure the dial tone volume of Speaker, Handset and Headset. It ranges from 0 to 15, the default value is 8.
voice.handfree.tone_vol = 
voice.handset.tone_vol = 
voice.headset.tone_vol = 

#configure the preview call mode; 1-Ignore:the mixed of tone and RTP (default), 2-Force: discard the RTP and play the tone, 3-Skip: skip the tone to play the RTP;
voice.call_preview_mode=

#######################################################################################
##         	                   Security Settings                                     ##                   
#######################################################################################

#Enable or disable the phone to only accept the certificates in the Trusted Certificates list;
#0-Disabled, 1-Enabled (default);
security.trust_certificates = 

#Define the login username and password of the user, var and administrator.
#If you change the username of the administrator from "admin" to "admin1", your new administrator's username should be configured as: security.user_name.admin = admin1.
#If you change the password of the administrator from "admin" to "admin1pwd", your new administrator's password should be configured as: security.user_password = admin1:admin1pwd.

#The following examples change the user's username to "user23" and the user's password to "user23pwd".
#security.user_name.user = user23
#security.user_password = user23:user23pwd
#The following examples change the var's username to "var55" and the var's password to "var55pwd".
#security.user_name.var = var55
#security.user_password = var55:var55pwd

security.user_name.user = 
security.user_name.admin = 
security.user_name.var = 
security.user_password = 

#Enable or disable the 3-level permissions (open var); 0-Disabled (default), 1-Enabled;
#Require reboot;
security.var_enable = 

#######################################################################################
##                   Customize the softkey                                           ##                                 
#######################################################################################
#Customize the softkeys presented on the phone LCD screen when Callfailed, Callin, Connecting, Dialing, Ringback and Talking. 
#Before using these parameters, you should store the desired XML files to the provisioning server.
custom_softkey_call_failed.url = 
custom_softkey_call_in.url = 
custom_softkey_connecting.url = 
custom_softkey_dialing.url = 
custom_softkey_ring_back.url = 
custom_softkey_talking.url = 

#######################################################################################
##         	                  Memory Key (For T26P and T28P)                         ##              
#######################################################################################
#X ranges from 1 to 10;
#memorykey.x.line--Configure the desired line to apply the key feature. T26P line value ranges from 0 to 3. T28P line value ranges from 0 to 6.
#The value 0 of the "memorykey.x.line" stands for Auto, it means the first available line. 
#But, when the DSS key is configured as BLF, BLF List, Shared Line, Call Park, Pick Up, ACD or Voice Mail feature, the value 0 stands for line 1.
#memorykey.x.value--Enter the value of some features. E.g. When configuring the DSS key to be BLF, enter the number of the monitored user.
#memorykey.x.pickup_value--Enter the pickup code, this parameter is only appilicable to BLF.
#memorykey.x.type--Assign the desired feature to the memory key.
#Valid types are:  0-N/A(default for memory key)  1-Conference 		 2-Forward    3-Transfer      4-Hold        5-DND             6-Redial                        7-Call Return     8-SMS    
#                  9-Direct Pickup                10-Call Park     11-DTMF      12-Voicemail    13-SpeedDial  14-Intercom       15-Line(default for line key)   16-BLF            17-URL    
#                  18-Group Listening             19-Public Hold   20-Private   21-Shared Line  22-XML Group  23-Group Pickup   24-Paging                       25-Record         27-XML Browser    
#                  34-Hot Desking                 35-URL Record    38-LDAP      39-BLF List     40-Prefix     41-Zero Touch     42-ACD                          45-Local Group    46-Broadsoft Group 
#memorykey.x.xml_phonebook--Specify the desired remote phonebook/local group/BSFT phonebook for the DSS key. This parameter is only appilicable to the feature XML Group/Local Group/Broadsoft Group.  

#Configure Memory Key1
memorykey.1.line = 
memorykey.1.value = 
memorykey.1.pickup_value = 
memorykey.1.type =  
memorykey.1.xml_phonebook =   

#Configure Memory Key2
memorykey.2.line = 
memorykey.2.value = 
memorykey.2.pickup_value = 
memorykey.2.type =  
memorykey.2.xml_phonebook =   

#Configure Memory Key3
memorykey.3.line = 
memorykey.3.value = 
memorykey.3.pickup_value = 
memorykey.3.type =  
memorykey.3.xml_phonebook =  


#Configure Memory Key4
memorykey.4.line = 
memorykey.4.value = 
memorykey.4.pickup_value = 
memorykey.4.type =  
memorykey.4.xml_phonebook =  

#Configure Memory Key5
memorykey.5.line = 
memorykey.5.value = 
memorykey.5.pickup_value = 
memorykey.5.type =  
memorykey.5.xml_phonebook =  

#Configure Memory Key6
memorykey.6.line = 
memorykey.6.value = 
memorykey.6.pickup_value = 
memorykey.6.type =  
memorykey.6.xml_phonebook =  

#Configure Memory Key7
memorykey.7.line = 
memorykey.7.value = 
memorykey.7.pickup_value = 
memorykey.7.type =  
memorykey.7.xml_phonebook =  

#Configure Memory Key8
memorykey.8.line = 
memorykey.8.value = 
memorykey.8.pickup_value = 
memorykey.8.type =  
memorykey.8.xml_phonebook =  

#Configure Memory Key9
memorykey.9.line = 
memorykey.9.value = 
memorykey.9.pickup_value = 
memorykey.9.type =  
memorykey.9.xml_phonebook =  

#Configure Memory Key10
memorykey.10.line = 
memorykey.10.value = 
memorykey.10.pickup_value = 
memorykey.10.type =  
memorykey.10.xml_phonebook =          
                      
#######################################################################################
##         	                   Line Key                                              ##                 
#######################################################################################

#The x of the parameter "linekey.x.line" ranges from 1 to 6.
#The default value equals to the value of x. For example, the default value of the parameter "linekey.1.line" is 1.
#linekey.x.lable--Define the label for each line key.

#Configure Line Key1 
linekey.1.line =  
linekey.1.value = 
linekey.1.pickup_value = 
linekey.1.type = 
linekey.1.xml_phonebook =
linekey.1.label = 

#Configure Line Key2                        
linekey.2.line =                         
linekey.2.value =                         
linekey.2.pickup_value =                   
linekey.2.type =                         
linekey.2.xml_phonebook =                 
linekey.2.label =                        

#Configure Line Key3                         
linekey.3.line =                         
linekey.3.value =                         
linekey.3.pickup_value =                   
linekey.3.type =                         
linekey.3.xml_phonebook =                 
linekey.3.label =                        

#Configure Line Key4 (for T28P only)                        
linekey.4.line =                         
linekey.4.value =                         
linekey.4.pickup_value =                   
linekey.4.type =                         
linekey.4.xml_phonebook =                 
linekey.4.label =                         

#Configure Line Key5  (for T28P only)                       
linekey.5.line =                         
linekey.5.value =                         
linekey.5.pickup_value =                   
linekey.5.type =                          
linekey.5.xml_phonebook =                 
linekey.5.label =                         

#Configure Line Key6  (for T28P only)                       
linekey.6.line =                         
linekey.6.value =                         
linekey.6.pickup_value =                   
linekey.6.type =                         
linekey.6.xml_phonebook =                 
linekey.6.label =                        

##########################################################################################
##         	               Programmable Key                                             ##               
##########################################################################################
#X ranges from 1 to 15.
#programablekey.x.type--Customize the programmable key type.
#The valid types are: 
#0-N/A        2-Forward       5-DND              6-Redial               7-Call Return   8-SMS              9-Direct Pickup   13-Spead Dial 
#22-XML Group 23-Group Pickup 27-XML Browser     28-History             29-Directory    30-Menu            31-Switch Account 32-New SMS 
#33-Status    40-PTT          43-Local Phonebook 44-Broadsoft Phonebook 45-Local Group  46-Broadsoft Group 47-XML Phonebook  50-Keypad Lock
#PTT-add a specified prefix number before the dialed number.
#programablekey.x.line--Configure the desired line to apply the key feature. It ranges from 0 to 6.
#The value 0 of the "proramablekey.x.line" stands for Auto, it means the first available line. 
#But, when the programmable key is configured as Pick Up, the value 0 stands for line 1.

#programablekey.x.value =
#programablekey.x.xml_phonebook--Specify the desired remote phonebook/local group/BSFT phonebook for the programmable key. This parameter is only appilicable to the feature XML Group/Local Group/Broadsoft Group.
#programablekey.x.history_type =

#programablekey.x.label--This parameter is only available to the key 1 to key 4. 

programablekey.1.type = 34
programablekey.1.line = 
programablekey.1.value =
programablekey.1.xml_phonebook =
programablekey.1.history_type =
programablekey.1.label = цдс

##########################################################################################
##         	                        Expansion Key                                       ##               
##########################################################################################
#X ranges from 1 to 16, Y ranges from 1 to 40.
#expansion_module.x.key.y.type = 37 (Switch by default)
#expansion_module.x.key.y.line = 0 
#expansion_module.x.key.y.value = 
#expansion_module.x.key.y.pickup_value = 
#expansion_module.x.key.y.label =
#expansion_module.X.key.Y.xml_phonebook =

#Each expansion module1 key1
expansion_module.1.key.1.type = 
expansion_module.1.key.1.line = 
expansion_module.1.key.1.value = 
expansion_module.1.key.1.pickup_value = 
expansion_module.1.key.1.label =
expansion_module.1.key.1.xml_phonebook =

#Each expansion module1 key2
expansion_module.1.key.2.type =
expansion_module.1.key.2.line = 
expansion_module.1.key.2.value = 
expansion_module.1.key.2.pickup_value = 
expansion_module.1.key.2.label = 
expansion_module.1.key.2.xml_phonebook =

#Each expansion module2 key1
expansion_module.2.key.1.type = 
expansion_module.2.key.1.line = 
expansion_module.2.key.1.value = 
expansion_module.2.key.1.pickup_value = 
expansion_module.2.key.1.label =
expansion_module.2.key.1.xml_phonebook =
      
#######################################################################################
##           Automatic Call Distribute                                               ##
#######################################################################################
#Enable or disable the phone to automatically change the phone status to available; 0-Disabled (default), 1-Enabled;
acd.auto_available = 

#Configure the interval (in seconds) to automatically turn the state of the ACD agent to available. It ranges from 0 to 120, the default value is 60.
acd.auto_available_timer = 

#######################################################################################
#         	                   Action URL Settings                                   ##    
#######################################################################################

#action_url.setup_completed--Inform the server that the phone has completed the startup.              
#action_url.dnd_on-- Inform the server that the DND is activated on the phone. 
#The value format is: http://IP address of server/help.xml?variable name=variable value. 
#The valid variable values are: $mac--MAC address of phone, $ip--The current IP address of phone, $model--Phone model, $firmware--Phone firmware version. 
#$active_url--The SIP URI of the current account when the phone is in the incoming state, outgoing state or during conversation. 
#$active_user--The username of the current account when the phone is in the incoming state, outgoing state or during conversation.
#$active_host--The host name of the current account when the phone is in the incoming state, the outgoing state or during conversation. 
#$local--The SIP URI of the caller when outgoing calls or the SIP URI of the callee when receiving calls. 
#$remote--The SIP URI of the callee when outgoing calls or the SIP URI of the caller when receiving calls.
#$display_local--The display name of the caller when outgoing calls or the display name of the callee when receiving calls.
#$display_remote--The display name of the callee when outgoing calls or the display name of the caller when receiving calls.
#$call_id--The caller ID when in the incoming state, the outgoing state or during conversation.
#For example, action_url.log_on = http://192.168.1.20/help.xml?mac=$mac

action_url.setup_completed = 
action_url.log_on = 
action_url.log_off = 
action_url.register_failed = 
action_url.off_hook = 
action_url.on_hook = 
action_url.incoming_call = 
action_url.outgoing_call = 
action_url.call_established = 
action_url.dnd_on = 
action_url.dnd_off = 
action_url.always_fwd_on = 
action_url.always_fwd_off = 
action_url.busy_fwd_on = 
action_url.busy_fwd_off = 
action_url.no_answer_fwd_on = 
action_url.no_answer_fwd_off = 
action_url.transfer_call = 
action_url.blind_transfer_call =
action_url.attended_transfer_call = 
action_url.hold = 
action_url.unhold = 
action_url.mute = 
action_url.unmute = 
action_url.missed_call = 
action_url.call_terminated = 
action_url.busy_to_idle = 
action_url.idle_to_busy = 
action_url.ip_change =
action_url.answer_new_incoming_call =
action_url.reject_incoming_call = 
action_url.transfer_finished = 
action_url.transfer_failed = 
action_url.forward_incoming_call =

#######################################################################################
##         	                   Language Settings                                     ##       
#######################################################################################

#Specify the web language, the valid values are: English, Chinese_S, Turkish, Portuguese, Spanish, Italian, French, Russian, Deutsch and Czech.
lang.wui = 

#Specify the LCD language, the valid values are: English (default), Chinese_S, Chinese_T, German, French, Turkish, Italian, Polish, Spanish and Portuguese.
#lang.gui = English
lang.gui = 

#######################################################################################
##         	                   Time Settings                                         ##
#######################################################################################

#Configure the time zone and time zone name. The time zone ranges from -11 to +12, the default value is +8. 
#The default time zone name is China(Beijing).  
#Refer to Yealink IP Phones User Guide for more available time zones and time zone names. 
#local_time.time_zone = +8
#local_time.time_zone_name = China(Beijing) 
local_time.time_zone = +3
local_time.time_zone_name = 

#Configure the domain name or the IP address of the NTP server. The default value is cn.pool.ntp.org.
local_time.ntp_server1 = 10.10.10.1
local_time.ntp_server2 = 

#Configure the update interval (in seconds) when using the NTP server. The default value is 1000.
local_time.interval = 

#Configure the daylight saving time feature; 0-Disabled, 1-Enabled, 2-Automatic (default); 
local_time.summer_time = 0

#Configure the DST type when the DST feature is enabled; 0-By Date (default), 1-By Week;
local_time.dst_time_type = 

#Configure the start time of DST. The default value is 1/1/0.
#If the DST type is configured as By Date, the value format is Month/Day/Hour. For example, the value 5/20/10 means the start time is at 10:00 on May 20.  
#If the DST type is configured as By Week, the value format is Month/Day of Week/Day of Week Last in Month/Hour of Day. 
#For example, the value 1/4/2/5 means the start time is at 5 o'clock on Tuesday of the 4th week in January.
local_time.start_time = 

#Configure the end time of DST. The default value is 12/31/23. The value format is the same to the start time.
local_time.end_time = 

#Configure the offset time (in seconds). It ranges from -300 to 300, the default value is 60.
local_time.offset_time = 

#Configure the time format; 0-12 Hour, 1-24 Hour (default);
local_time.time_format = 

#Configure the date format; 0-WWW MMM DD (default), 1-DD-MMM-YY, 2-YYYY-MM-DD, 3-DD/MM/YYYY, 4-MM/DD/YY, 5-DD MMM YYYY, 6-WWW DD MMM;
local_time.date_format = 

#Enable or disable the DHCP Time; 0-Disabled (default), 1-Enabled;
local_time.dhcp_time = 1

#######################################################################################
##         	        Hot Desking                                                      ##
#######################################################################################
#Enable or disable the phone to show the following items on the login wizard during startup; 0-Disabled, 1-Enabled;  
#hotdesking.startup_register_name_enable = 1 (default)
#hotdesking.startup_username_enable = 1 (default)
#hotdesking.startup_password_enable = 0 (default)
#hotdesking.startup_sip_server_enable = 0 (default)
#hotdesking.startup_outbound_enable = 0 (default)

hotdesking.startup_register_name_enable = 0
hotdesking.startup_username_enable = 1
hotdesking.startup_password_enable = 1
hotdesking.startup_sip_server_enable = 0
hotdesking.startup_outbound_enable = 0

#Enable or disable the phone to show the following items on the login wizard when pressing the Hot Desking DSS key;
#0-Disabled, 1-Enabled;
#hotdesking.dsskey_register_name_enable = 1 (default)
#hotdesking.dsskey_username_enable = 1 (default)
#hotdesking.dsskey_password_enable = 0 (default)
#hotdesking.dsskey_sip_server_enable = 0 (default)
#hotdesking.dsskey_outbound_enable = 0 (default)

hotdesking.dsskey_register_name_enable = 0
hotdesking.dsskey_username_enable = 1
hotdesking.dsskey_password_enable = 1
hotdesking.dsskey_sip_server_enable = 0 
hotdesking.dsskey_outbound_enable = 0

#######################################################################################
##         	           Distinctive Ring Tones                                        ##  
#######################################################################################

#"X" ranges from 1 to 10; 
#Configure the text to map the keywords contained in the "Alert-info" header.
#distinctive_ring_tones.alert_info.X.text = family
distinctive_ring_tones.alert_info.1.text =

#Specify the ring tone for each text. It ranges from 1 to 8. The default value 1 stands for Ring1.wav.
#1-Ring1.wav, 2-Ring2.wav, 3-Ring3.wav, 4-Ring4.wav, 5-Ring5.wav, 6-Ring6.wav, 7-Ring7.wav, 8-Ring8.wav.
#distinctive_ring_tones.alert_info.X.ringer = 1
distinctive_ring_tones.alert_info.1.ringer = 

#######################################################################################
##         	               Auto Redial                                               ##
#######################################################################################

#Enable or disable the auto redial feature; 0-Disabled (default), 1-Enabled;
auto_redial.enable = 

#Configure the interval (in seconds) to wait before redial. It ranges from 1 to 300. The default value is 10.
auto_redial.interval = 

#Configure the auto redial times. It ranges from 1 to 300. The default value is 10.
auto_redial.times = 

#######################################################################################
##         	               Zero Touch                                                ##
#######################################################################################
#Enable or disable the Zero Touch feature; 0-Disabled (default), 1-Enabled; 
zero_touch.enable = 

#Configure the waiting time (in seconds) before canceling the Zero Touch. It ranges from 0 to 100, the default value is 5.
zero_touch.wait_time = 

#######################################################################################
##         	               Push XML                                                  ##
#######################################################################################

push_xml.server =

#Enable or disable the phone to display the push XML interface when receiving an incoming call; 0-Disabled (default), 1-Enabled;
push_xml.block_in_calling =  

#Enable or disable the phone to use the push XML via SIP Notify message; 0-Disabled (default), 1-Enabled;
push_xml.sip_notify = 

#######################################################################################
##         	              Dial Plan                                                  ##
#######################################################################################

#Configure the area code;
dialplan.area_code.code = 
dialplan.area_code.min_len = 1
dialplan.area_code.max_len = 15 

#When applying the rule to multiple lines, each line ID separated by a comma. 
#e.g. dialplan.area_code.line_id = 1,2,3
dialplan.area_code.line_id = 

#Configure the block out number. X ranges from 1 to 10.
#dialplan.block_out.number.x =
dialplan.block_out.number.1 =

#When applying the rule to multiple lines, mutiple lines must be separated by a comma. E.g. 1,2,3.
#dialplan.block_out.line_id.X =
dialplan.block_out.line_id.1 =

#Configure the replace rule. X ranges from 1 to 20.
#dialplan.item.X = Enabled,Prefix,Replaced,LineID
#Enabled: Enable or disable the replace rule. 0-Disabled, 1-Enabled; Prefix: Specify the numbers that need replacing; 
#Replaced: Specify the alternate numbers;
#LineID: Specify the line ID to apply the replace rule,multiple lines ID must be separated by a comma;
dialplan.item.1 =

#Configure the dialnow rule. X ranges from 1 to 20.
#dialnow.item.X = Dial-now rule,Line ID
#Dial-now rule: Specify the numbers that need replacing;
#Line ID:Specify the line ID to apply the replace rule,multiple lines must be separated by a comma;
dialnow.item.1 =
 
#######################################################################################
##         	    BSFT Phonebook                                                       ##
#######################################################################################

#Configuration of BW phonebook. X ranges from 1 to 6.
#bw_phonebook.data.X.server = 
#bw_phonebook.data.X.port = 
#bw_phonebook.data.X.username = 
#bw_phonebook.data.X.password = 
#bw_phonebook.data.X.name = 
 
bw_phonebook.data.1.server = 
bw_phonebook.data.1.port = 
bw_phonebook.data.1.username = 
bw_phonebook.data.1.password = 
bw_phonebook.data.1.name = 

#Configure the search parameter of Broadsoft phonebook version 1.0, mutiple parameters must be separated by a "&"symbol.
bw_phonebook.search_params_v1 =

#Configure the search parameter of Broadsoft phonebook version 2.0, mutiple parameters must be separated by a "&"symbol.
bw_phonebook.search_params_v2 =

#Configure the mode of search parameters; 0-AND, 1-OR (default); The vaule only works in Broadsoft phonebook verion 2.0;
bw_phonebook.search_mode_or =

#######################################################################################
##                    BSFT Call Log                                                  ##
#######################################################################################

#Configuration of the BW call log. X ranges from 1 to 3.  
#bw_call_log.data.X.server =   
#bw_call_log.data.X.port =     
#bw_call_log.data.X.username = 
#bw_call_log.data.X.password = 
#bw_call_log.data.X.name =     
        
bw_call_log.data.1.server =        
bw_call_log.data.1.port =          
bw_call_log.data.1.username =      
bw_call_log.data.1.password =      
bw_call_log.data.1.name =         

#Enable or disable the phone to access the BSFT call log/phonebook directly when pressing the History/Directory soft keys;
#0-Disabled (default), 1-Enabled;
#Require reboot;
bw.calllog_and_dir = 

#Specify whether to display the BSFT call log on the web user interface; 0-Disabled, 1-Enabled (default);
#Require reboot;
bw.behave_calllog = 

#Specify whether to display the BSFT directory on the web user interface; 0-Disabled, 1-Enable (default);
#Require reboot;
bw.behave_bw_dir = 

#Enable or disable the feature key synchronization; 0-Disabled (default), 1-Enabled;
bw.feature_key_sync = 

#######################################################################################
##         	    Remote phonebook                                                     ##
#######################################################################################

#Configure the access URL and dispaly name of the remote phonebook. X ranges from 1 to 5.
#remote_phonebook.data.X.url =   
#remote_phonebook.data.X.name =

remote_phonebook.data.1.url =   
remote_phonebook.data.1.name = 

#######################################################################################
##         	              LDAP Settings                                              ##
#######################################################################################
#Configure the search criteria for name and number lookups.
ldap.name_filter = 
ldap.number_filter = 

ldap.host = 0.0.0.0
ldap.port = 389

ldap.base = 
ldap.user = 
ldap.password = 

#Specify the maximum of the displayed search results. It ranges from 1 to 32000, the default value is 50.
ldap.max_hits = 

ldap.name_attr = 
ldap.numb_attr = 
ldap.display_name = 

#Configure the LDAP version. The valid value is 2 or 3 (default).
ldap.version = 

#Conifugre the search delay time. It ranges from 0 (default) to 2000.
ldap.search_delay = 

#Enable or disable the phone to query the contact name from the LDAP server when receiving an incoming call; 0-Disabled (default), 1-Enabled;
ldap.call_in_lookup = 

#Enable or disable the phone to sort the search results in alphabetical order; 0-Disabled (default), 1-Enabled; 
ldap.ldap_sort =  

#Enable or disable the phone to query the LDAP server when in the pre-dialing or the dialing state; 0-Disabled (default), 1-Enabled;
ldap.dial_lookup =  

#######################################################################################
##         	              Phone Features                                             ##
#######################################################################################

#Configure the return code when activating DND; 404-No Found, 480-Temporarily not available (default), 486-Busy here;
#features.dnd_refuse_code = 480
features.dnd_refuse_code = 

#Configure the return code when refusing a call. The valid values are 404, 480, 486 (default).
features.normal_refuse_code = 

#Enable or disable the call completion feature; 0-Disabled (default), 1-Enabled;
features.call_completion_enable = 

#Configure the LED flashing mode of the BLF key (line key). The value is 0(default) or 1.
features.blf_led_mode =

#Enable or disable the call waiting feature; 0-Disabled, 1-Enabled (default);
call_waiting.enable = 

#Enable or disable the playing of call waiting tone; 0-Disabled, 1-Enabled (default);
call_waiting.tone = 

#Enable or disable the intercom feature; 0-Disabled, 1-Enabled (default);
features.intercom.allow = 

#Enable or disable the phone to mute the Speaker when answering an intercom call; 0-Disabled (default), 1-Enabled;     
features.intercom.mute = 

#Enable or disable the phone to play the intercom warning tone; 0-Disabled, 1-Enabled (default); 
features.intercom.tone = 

#Enable or disable the phone to barge in an intercom call; 0-Disabled (default), 1-Enabled;
features.intercom.barge = 

#Enables or disables the IP phone to query the contact names from the remote phonebook when receiving incoming calls; 0-Disabled (default), 1-Enabled; 
features.remote_phonebook.enable =

#Set the interval (in seconds) for the phone to update the information of the remote phonebook. The default value is 3600. 
features.remote_phonebook.flash_time = 

#Configure the hotline number and delay time (in seconds). It ranges from 0 to 180, the default value is 4.
features.hotline_number = 
features.hotline_delay = 

#Enable or disable the phone to suppress the display of DTMF digits; 0-Disabled (default), 1-Enabled;
features.dtmf.hide = 

#Enables or disables the IP phone to display the DTMF digits for a short period before displaying as asterisks; 0-Disabled (default), 1-Enabled;
features.dtmf.hide_delay =

#Configure the repetition times of DTMF end packet. The valid values are 1, 2, 3 (default).
features.dtmf.repetition = 

#Configure DTMF sequences. It can be consisted of digits, alphabets, * and #.
features.dtmf.transfer = 

#Enable or disable the phone to send DTMF sequences during a call when pressing the transfer soft key or the TRAN key; 0-Disabled (default), 1-Enabled;
features.dtmf.replace_tran = 

#Enable or disable the headset prior feature; 0-Disabled (default), 1-Enabled;
features.headset_prior =

#Enable or disable the dual headset feature; 0-Disabled (default), 1-Enabled;
features.headset_training =

#Configure the delay time (in milliseconds) before transfering a call. The default value is 0.
features.hold_trans_delay =

#Enbale or disable the phone to play a local DTMF tone; 0-Disabled, 1-Enabled (default); 
features.play_local_dtmf_tone_enable =

#Enbale or disable the server to release the BLA line automatically; 0-Disabled (default), 1-Enabled;
features.auto_release_bla_line =

#Configure the delay time (in seconds) of playing busy tone when rejecting a call. The valid values are 0 (default), 3 and 5. 
features.busy_tone_delay = 

#Configure the phone whether to send a pound key when pressing double pound keys; 0-Send one pound key (default), 1-Do not send any pound key;
features.send_pound_key = 

#Define the "#" or "*" key as the send key; 0-Disabled, 1-# key(default), 2-* key;
features.pound_key.mode = 

#Enable or disable the phone to play tone when pressing the digit key; 0-Disabled, 1-Enabled (default);
features.send_key_tone = 
features.key_tone = 

#Enable or disable the phone to play a warning tone when there is a held call; 0-Disabled, 1-Enabled (default);
features.play_hold_tone.enable = 

#Configure the interval of playing a warning tone. The default value is 30s.
features.play_hold_tone.delay =

features.redial_tone = 

#Enable or disable the phone with active accounts to play tones in the dialing interface differently from the phone with no active accounts; 0-Disabled (default), 1-Enbaled;
features.partition_tone =

#Enable or disable the phone to encrypt the digits of the dialed number. The encrypted digits are displayed as asterisks on the LCD screen; 0-Disabled (default), 1-Enabled;
features.password_dial.enable =

#Configure the prefix numbers displayed before the encrypted digits.
features.password_dial.prefix =

#Configure the length of encrypted digits.
features.password_dial.length =

#Enable or disable the phone to diaplay the Save Call Log option on the web user interface; 0-Disabled, 1-Enabled (default);
features.history_save_display = 

#Enable or disable the phone to save the call history; 0-Disabled, 1-Enabled (default);   
features.save_call_history = 

#Configure the power Indicator LED to turn on ro turn off; 0-On (default), 1-Off;
features.power_led_on =

#Specifie the address(es) or enters Ў°anyЎ± from which Action URI will be accepted.
#For discontinuous IP addresses, each IP address is separated by comma, for example: 192.168.1.20,10.2.1.30
#For continuous IP addresses, the format likes *.*.*.* and the Ў°*Ў± stands for the values 0~255. For example: 10.10.*.* stands for the IP addresses that range from 10.10.0.0~10.10.255.255.
#If left blank, the IP phone cannot receive or handle any HTTP GET request.
#If set to Ў°anyЎ±, the IP phone accepts and handles HTTP GET requests from any IP address.
features.action_uri_limit_ip =

#Configure the delay time (in seconds)of auto answer. The time ranges from 1 to 4, the default value is 1s.
features.auto_answer_delay =

#Enable or disable the transfer DSS key to perform the blind transfer; 0-Disabled, 1-Enabled (default);
features.dsskey_blind_tran = 

#Configure the overtime (in minutes) of logging web user interface. It ranges from 1 to 1000, the default value is 5.
features.relog_offtime = 
 
#Enable or disable the phone to dial the IP address directly; 0-Disabled, 1-Enabled (default);
features.direct_ip_call_enable = 

#Configure the ringtone of emergency calls;
#features.emergency_ring = Emergency.wav
features.emergency_ring = 

#Enable or disable the phone to mute the call during an active call; 0-Disabled, 1-Enabled (default);
features.allow_mute =

#Specify the ring device when the phone is in the Headset mode; 0-use Speaker (default), 1-use Headset;
features.ringer_device.is_use_headset = 

#Enable or disable the phone to pick up the call using the group pickup soft key; 0-Disabled (default), 1-Enabled;
features.pickup.group_pickup_enable = 

#Configure the group pickup code.
features.pickup.group_pickup_code = 

#Enable or disable the phone to pick up the call using the directed pickup soft key; 0-Disabled (default), 1-Enabled;
features.pickup.direct_pickup_enable = 

#Configure the directed pickup code.
features.pickup.direct_pickup_code =

#Specify the way to notify the phone of the incoming call of the monitored user by visual or audio indicator;
#0-Disabled (default), 1-Enabled;
features.pickup.blf_visual_enable =
features.pickup.blf_audio_enable = 

#Configure the input type when the phone is in the dialing state, if the parameter "ldap.dial_lookup" is Enabled; 0-2aB, 1-123 (default), 2-abc, 3-ABC;
features.ldap.input_type = 

#Enable or disable the phone to play the warning tone when receiving a vocie mail. 0-Disabled; 1-Enabled(default).
features.voice_mail_tone_enable = 

#Configure the time (in seconds) the phone automatically dials out the dialed digits. It ranges from 1 to 14, the default value is 4.
phone_setting.inter_digit_time = 

#Configure the flash hook time (in milliseconds). It ranges from 0 to 799, the default value is 1.
phone_setting.flash_hook_timer = 

#Configure the keypad lock type; 0-Disabled (default), 1-Menu Key, 2-Function Key, 3-All Keys, 4-Lock&Answer;
phone_setting.lock = 

#Configure the unlock password for the phone. The default value is 123.
phone_setting.phone_lock.unlock_pin = 

#Configures the interval (in seconds) to automatically lock the IP phone. It ranges from 0 to 3600, the default value is 0.
phone_setting.phone_lock.lock_time_out = 

#Configure the ring tone for the phone. System ring tones are: Common, Ring1.wav (default), Ring2.wavЎ­Ў­Ring8.wav.
#If you set the custom ring tone (Busy.wav) for the phone, the value is: phone_setting.ring_type = Busy.wav
#If you set the system ring tone (Ring2.wav) for the phone, the value is: phone_setting.ring_type = Ring2.wav
phone_setting.ring_type = 

#Configure the contrast of the LCD screen. It ranges from 1 to 10,the default value is 6.
phone_setting.contrast =

#Configure the logo mode of the LCD screen; 0-Disabled (default), 1-System logo, 2-Custom logo;
phone_setting.lcd_logo.mode = 

#Configure the active backlight level. It ranges from 1 to 3, the default value is 2.
#The same level for different phones may result in different backlight intensities. 
phone_setting.active_backlight_level = 

#Configure the backlight time (in seconds). The valid values are: 0-Always on, 1-Always off, 15-15s, 30-30s (default), 60-60s, 120-120s.
phone_setting.backlight_time = 

#Configure the ring tone when the transfer fails. The valid values are: Ring1.wav.... Ring8.wav.
#phone_setting.ring_for_tranfailed = Ring1.wav 
phone_setting.ring_for_tranfailed =

#Enable or disable the phone to show the logon wizard during startup; 0-Disabled (default), 1-Enabled;
phone_setting.logon_wizard = 

#Enable or disable the phone to automatically dial out the dialed digits in the pre-dial interface; 0-Disabled (default), 1-Enabled;
phone_setting.predial_autodial = 

#Enable or disable the phone to deal the 180 SIP message after the 183 SIP message; 0-Disabled, 1-Enabled (default);
phone_setting.is_deal180 = 

#Configure the delay time (in seconds) for the dialnow rule. It ranges from 1 to 14, the default value is 1.
phone_setting.dialnow_delay = 

#Enable or disable customizing the softkey layout; 0-Disabled (default), 1-Enabled;
phone_setting.custom_softkey_enable =   

#Configure the using mode of the headset key. The value is 0 or 1(default).
phone_setting.headsetkey_mode = 

#Configure the emergency number, each separated by a comma. The default value is 112,911,110.
phone_setting.emergency.number =  

#Configure the phone whether to end the call when the network is unavailable; 0-End the call, 1-Do not end the call.
phone_setting.end_call_net_disconnect.enable = 

#If leaving the field blank, the phone will display the value sent from the server when receiveing the 403 message; otherwise display the value entered in the filed.
#The default value is blank.
phone_setting.show_code403 =

#######################################################################################
##                              Multicast                                            ##                                            
#######################################################################################
#Configure the codec of multicast paging.
multicast.codec = 

#Enbale or diable the phone to handle the incoming multicast paging calls when there is a multicast paging call on the phone; 0-Disabled, 1-Enabled (default);
#If enabled, the phone will answer the incoming multicast paging call with a higher priority and ignore that with a lower priority.
multicast.receive_priority.enable = 

#Configure the priority of multicast paging calls. It ranges from 0 to 10.
multicast.receive_priority.priority = 

#Configure the listening multicast IP address and port number for the phone. X ranges from 1 to 10.
#multicast.listen_address.X.ip_address = 
multicast.listen_address.1.ip_address =

#Configure the lable displayed on the LCD screen when receiving the multicast paging. X ranges from 1 to 10.
#multicast.listen_address.X.label = 
multicast.listen_address.1.label =

#######################################################################################
##                     Configure the access URL of firmware                          ##                                 
#######################################################################################
#Before using this parameter, you should store the desired firmware (x.70.x.x.rom) to the provisioning server.
firmware.url = 

#######################################################################################
##                     Configure the access URL of the customized  ringtones         ##                                  
#######################################################################################
#Before using this parameter, you should store the desired ring tone (x.wav) to the provisioning server.
#For more information, refer to Yealink Auto Provisioning User Guide.
ringtone.url =

#ringtone.delete = http://localhost/all,delete all the customized ring tones.
ringtone.delete =

#######################################################################################
##            Configure the access  URL of language file                             ##                                       
#######################################################################################
#Before using this parameter, you should store the desired language pack to the provisioning server.
#For more information, refer to Yealink Auto Provisioning User Guide.
gui_lang.url = 

#gui_lang.delete = http://localhost/all, delete all the customized languages.
gui_lang.delete =

#######################################################################################
##            Configure the access  URL of logo file                                 ##                                       
#######################################################################################
#Before using this parameter, you should store the desired logo file (x.dob) to the provisioning server.
#For more information, refer to Yealink Auto Provisioning User Guide.
lcd_logo.url =  

#lcd_logo.delete = http://localhost/all, delete all the customized logo.
lcd_logo.delete =

#######################################################################################
##                     Certificates                                                  ##  
#######################################################################################
#Before using this parameter, you should store the desired certificate to the provisioning server.
trusted_certificates.url =

#trusted_certificates.delete = http://localhost/all,delete all the trusted certificates. 
trusted_certificates.delete = 

#Before using this parameter, you should store the desired certificate to the provisioning server.
server_certificates.url = 

#server_certificates.delete = http://localhost/all, delete the server certificate. 
server_certificates.delete = 

#######################################################################################
##  Local Contact/DST Time/Dialnow Rule/Replace Rule                                 ##                                                     
#######################################################################################

#Before using these parameters, you should store the desired resource files to the provisioning server.
#For more information, refer to Yealink SIP-T2xP IP Phone Family Administrator Guide.
local_contact.data.url =
auto_dst.url =
dialplan_dialnow.url =
dialplan_replace_rule.url =

#######################################################################################
##      Customized Factory Configurations                                            ##
#######################################################################################
#Configure the access URL for downloading the customized factory configurations.
#Before using this parameter, you should store the desired factory configuration file to the provisioning server.
custom_factory_configuration.url =

#######################################################################################
##              Customized Configurations                                            ##
#######################################################################################
#Configure the access URL for downloading the configurations.
#Before using this parameter, you should store the desired configuration file to the provisioning server.
configuration.url =

#######################################################################################
##          Call List                                                                ##                                            
#######################################################################################
#Configure the access URL for downloading the call list.
#Before using this parameter, you should store the desired call list file to the provisioning server.
#Require reboot
call_list.url = 

#######################################################################################
##            OpenVPN                                                                ##                                            
#######################################################################################
#Configure the access URL for downloading the open VPN tar.
#Before using this parameter, you should store the desired VPN file to the provisioning server.
openvpn.url =

#######################################################################################
##     Configuration files for Var                                                   ##                                            
#######################################################################################
#Configure the access URL for downloading the files for var.
#Before using this parameter, you should store the desired files to the provisioning server.
#Require reboot
web_item_level.url = 

Использован минимум настроек:

Включить Auto Provisioning:

 auto_provision.mode = 1 

Адрес сервера Auto Provisioning (tftp):

 auto_provision.server.url = 10.10.10.1

Назначим кнопку для Hot Desking (код 34). Под кнопку использована softkey 3 (кнопка под дисплеем, по умолчанию DND)

 programablekey.3.type = 34

Назначим Time Offset (Московское время)

 local_time.time_zone = +3

Укажем NTP сервер:

 local_time.ntp_server1 = 10.10.10.1

Назначим опции для авторизации Hot Desking (в нашем примере это логин и пароль SIP аккаунта)

 hotdesking.startup_username_enable = 1
 hotdesking.startup_password_enable = 1

Пример конфигурационного файла телефона, где в качестве имени файла выступает MAC адрес телефона

Может быть использован для всех вышеперечисленных моделей.

mac_address.cfg

mac_address.cfg

#!version:1.0.0.1

##File header "#!version:1.0.0.1" can not be edited or deleted, and must be placed in the first line.##

#######################################################################################
##                           Account1 Settings                                       ##                                                                          
#######################################################################################

#Enable or disable the account1, 0-Disabled (default), 1-Enabled;
account.1.enable = 

#Configure the label displayed on the LCD screen for account1.
account.1.label = 

#Enable or disable to use the alert info URL; 0-Enabled (default), 1-Disabled;
account.1.alert_info_url_enable =

#Configure the display name of account1.
account.1.display_name = 

#Configure the username and password for register authentication.
account.1.auth_name = 
account.1.password = 

#Configure the register user name.
account.1.user_name = 

#Configure the SIP server address.
account.1.sip_server_host = 10.10.10.1

#Specify the port for the SIP server. The default value is 5060.
account.1.sip_server_port = 5061

#Enable or disable to use the outbound proxy server; 0-Disabled (default), 1-Enabled; 
account.1.outbound_proxy_enable = 1

#Specify the IP address or domain name of the outbound proxy server.
account.1.outbound_host = 10.10.10.1

#Specify the server port, the default value is 5060.
account.1.outbound_port = 5061

#Configure the transport type; 0-UDP (default), 1-TCP, 2-TLS, 3-DNS SRV;
account.1.transport = 0

#Enable or disable the timer to periodically refresh the DNS-SRV query result; 0-Disabled (default), 1-Enabled;
#Require reboot;
account.1.srv_ttl_timer_enable =

#Specify the service for SIP used to DNS-SRV query; 0-muti-service mixed, 1-SIP+D2U, 2-SIP+D2T, 3-SIPS+D2T;
#Require reboot;
account.1.dns_srv_type =

#Configure the address of the backup outbound proxy server.
account.1.backup_outbound_host = 192.168.1.202

#Specify the port, the default value is 5060.
account.1.backup_outbound_port = 5061

#Configure the voice mail number of account1.
voice_mail.number.1 = *97

#Configure the proxy server to account1.
account.1.proxy_require = 

#Enable or disable the phone to only accept the message from the server; 0-Disabled (default), 1-Enabled;
account.1.sip_trust_ctrl = 

#Enable or disable the anonymous call feature; 0-Disabled (default), 1-Enabled;
account.1.anonymous_call = 

#Configure the on code and off code of the anonymous call feature.
account.1.anonymous_call_oncode = 
account.1.anonymous_call_offcode = 

#Enable or disable the reject anonymous call feature; 0-Disabled (default), 1-Enabled;
account.1.reject_anonymous_call = 

#Configure the on code and off code of the reject anonymous call feature.
account.1.anonymous_reject_oncode = 
account.1.anonymous_reject_offcode = 

#Configure the SIP port for account1, the default value is 5060. 
account.1.sip_listen_port = 

#Configure the register expiry time (in seconds), the default value is 3600.
account.1.expires = 

#Enable or disable the 100 reliable retransmission; 0-Disabled (default), 1-Enabled;
account.1.100rel_enable = 

#Enable or disable the resource reservation; 0-Disabled (default), 1-Enabled;
account.1.precondition = 

#Enable or disable the phone to subscribe the register status; 0-Disabled (default), 1-Enabled;
account.1.subscribe_register = 

#Enable or disable the phone to subscribe the message waiting indicator; 0-Disabled (default), 1-Enabled;
account.1.subscribe_mwi = 

#Configure MWI subscribe expiry time (in seconds). It ranges from 0 to 84600, the default value is 3600.
account.1.subscribe_mwi_expires = 

#Configure the type of SIP header(s) to carry the caller ID; 0-FROM (default), 1-PAI 2-PAI-FROM, 3-PRID-PAI-FROM, 4-PAI-RPID-FROM, 5-RPID-FROM;
account.1.cid_source = 

#Configure the type of SIP header(s) to display on the caller's LCD screen; 0-RPID-FROM, 1-Dialed Digits(default), 2-RFC4916
account.1.cp_source = 

#Enable or disable the session timer, 0-Disabled (default), 1-Enabled;  
account.1.session_timer.enable =      

#Configure the refresh session timer interval (in seconds). It ranges from 1 to 9999.
account.1.session_timer.expires =      

#Configure the session timer refresher; 0-Uac (default), 1-Uas;
account.1.session_timer.refresher = 

#Enable or disable the "user=phone"; 0-Disabled (default), 1-Enabled;
account.1.enable_user_equal_phone = 

#Specify whether to encrypt the SIP messages; 0-Disabled (default), 1-Forced, 2-Negotiated;
account.1.srtp_encryption = 

#Configure the RTP packet time. The valid values are 0 (Disabled), 10, 20 (default), 30, 40, 50, 60.
account.1.ptime = 

#Assign account1 as shared line; 0-Disabled (default), 1-Broadsoft SCA, 2-BLA;
account.1.shared_line = 

#Configure BLA number for account1 and the subscribe period (in seconds). It ranges from 60 to 7200, the default value is 300.
account.1.bla_number = 
account.1.bla_subscribe_period = 

#Enable or disable call pickup using dialog-info SIP header; 0-Disabled (default), 1-Enabled;
account.1.dialoginfo_callpickup = 

#Configure the directed and group pickup codes for account 1, the settings on a per-account basis take precedence over the settings on the phone.
account.1.group_pickup_code = 
account.1.direct_pickup_code = 

#Enable or disable the auto answer feature; 0-Disabled (default), 1-Enabled;
account.1.auto_answer = 

#Enable or disable the phone to record the missed call; 0-Disabled, 1-Enabled (default);
account.1.missed_calllog = 

#Enable or disable the phone to subscribe to the voicemail through the message waiting indicator; 0-Disabled (default), 1-Enabled;
account.1.subscribe_mwi_to_vm = 

#Enable or disable the phone to send the MAC address and line number in the Register message; 0-Disabled (default), 1-Enabled;    
account.1.register_mac = 
account.1.register_line = 

#Configure the interval (in seconds) the phone retries to register when account1 fails to register. It ranges from 0 to 1800, the default value is 30.
account.1.reg_fail_retry_interval = 

#Configure the conference type; 0-Local (default), 2-Network Conference;
account.1.conf_type = 

#Configure the conference URI (a SIP URI, or use part of the SIP URI). For example, "conference@domain.com" or "conference".
account.1.conf_uri = 

#Configure the BLF list URI (a SIP URI, or use part of the SIP URI). For example, "2300_blflist@domain.com" or "2300_blflist".
account.1.blf.blf_list_uri = 

#Configure the pickup code of BLF List.
account.1.blf_list_code = 

#Configure the barge-in code.
account.1.blf_list_barge_in_code = 

#Enable or disable the phone to handle unmatched notify messages; 0-Disabled (default) , 1-Enabled ;
account.1.out_dialog_blf_enable = 

#Configure the BLF subscribe period (in seconds), the default value is 1800.
account.1.blf.subscribe_period = 

#Configure the ACD subscribe period (in seconds). It ranges from 120 to 3600 (default).
account.1.subscribe_acd_expires = 

#Configure the SIP server type; 0-Default (default), 2-BroadSoft, 4-Cosmocom;
account.1.sip_server_type = 

#Enable or disable the SIP signal encode; 0-Disabled (default), 1-Enabled (RC 4);
account.1.enable_signal_encode = 

#Configure the key for encoding.
account.1.signal_encode_key = 

#Configure the URI of the Music On Hold server. 
account.1.music_server_uri =

#Configure the DTMF type; 0-INBAND, 1-RFC2833 (default), 2-SIP INFO, 3-AUTO+SIP INFO;
account.1.dtmf.type = 

#Configure the RFC2833 payload. It ranges from 96 to 255, the default value is 101.
account.1.dtmf.dtmf_payload = 

#Configure the DTMF info type when using the SIP INFO; 0-Disabled (default), 1-DTMF-Relay, 2-DTMF, 3-Telephone-Event;
account.1.dtmf.info_type = 

#Enable or disable the phone to obtain the balance for account1; 0-Disabled (default), 1-Enabled;
account.1.balance_enable = 

#Configure the access URL of the balance server for account1.
account.1.balance_link_url =

#Enable or disable the phone to send the account log-off message first and then send account register message when rebooting the phone; 0-Disabled (default), 1-Enabled;
account.1.unregister_on_reboot =

#Enbale or diable the simplified header field feature; 0-Disabled, 1-Enabled (default);
account.1.compact_header_enable =

#Configure the type of Music on Hold; 0-Send the INVITE request to Music on Hold Server then hold the call; 1-Hold the call then send the INVITE request to Music on Hold Server;
#Require reboot;
account.1.music_on_hold_type = 

#########################################################################
##                     NAT Settings                                    ##
#########################################################################

#Enable or disable the NAT traversal; 0-Disabled (default), 1-STUN;
account.1.nat.nat_traversal = 

#Configure the STUN server address.
account.1.nat.stun_server = 

#Configure the STUN server port, the default value is 3478.
account.1.nat.stun_port = 

#Enable or disable the NAT keep-alive; 0-Disabled, 1-Enabled (default);
account.1.nat.udp_update_enable = 

#Specify the keep-alive interval (in seconds), the default value is 30.
account.1.nat.udp_update_time = 

#Enable or disable the NAT Rport; 0-Disabled (default), 1-Enabled;
account.1.nat.rport = 

#Configure the session timer (in seconds), the default value of T1, T2, T3 is 0.5, 4, 5.
account.1.advanced.timer_t1 = 
account.1.advanced.timer_t2 = 
account.1.advanced.timer_t4 = 

#Configure the timeout (in seconds) for DNS query, the value ranges from 1 to 9, the default value is 8.
account.1.dns_query_timeout =

#Assign a ringtone for account1. The system ring tones are: common (default), Ring1.wav, Ring2.wav,Ў­Ў­Ring8.wav.
#If you configure the custom ring tone (Family.wav) for the account, the value format is: Family.wav
#If you configure the system ring tone (Ring2.wav) for the account, the value format is: Ring2.wav
account.1.ringtone.ring_type = 

#Audio codecs for account1 (Y ranges from 1 to 13).
#Enable or disable the specified codec; 0-Disabled, 1-Enabled;
#account.1.codec.Y.enable = 
#The type of the specified codec.
#account.1.codec.Y.payload_type = 
#The priority of the specified codec. It's available when the codec is enabled.
#account.1.codec.Y.priority = 
#The payload of the specified codec.
#account.1.codec.Y.rtpmap = 

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.codec.2.enable = 1
account.1.codec.2.payload_type = PCMA
account.1.codec.2.priority = 2 
account.1.codec.2.rtpmap = 8

account.1.codec.3.enable = 0 
account.1.codec.3.payload_type = G723_53
account.1.codec.3.priority =0
account.1.codec.3.rtpmap = 4

account.1.codec.4.enable = 0
account.1.codec.4.payload_type = G723_63
account.1.codec.4.priority = 0
account.1.codec.4.rtpmap = 4

account.1.codec.5.enable = 1
account.1.codec.5.payload_type = G729
account.1.codec.5.priority = 3
account.1.codec.5.rtpmap = 18

account.1.codec.6.enable = 1
account.1.codec.6.payload_type = G722
account.1.codec.6.priority = 4
account.1.codec.6.rtpmap = 9

account.1.codec.7.enable = 0
account.1.codec.7.payload_type = iLBC
account.1.codec.7.priority =  0
account.1.codec.7.rtpmap = 102

account.1.codec.8.enable = 0
account.1.codec.8.payload_type = G726-16
account.1.codec.8.priority = 0
account.1.codec.8.rtpmap = 112

account.1.codec.9.enable = 0
account.1.codec.9.payload_type = G726-24
account.1.codec.9.priority = 0
account.1.codec.9.rtpmap = 102

account.1.codec.10.enable = 0
account.1.codec.10.payload_type = G726-32 
account.1.codec.10.priority = 0 
account.1.codec.10.rtpmap = 99

account.1.codec.11.enable = 0
account.1.codec.11.payload_type = G726-40
account.1.codec.11.priority = 0
account.1.codec.11.rtpmap = 104

account.1.codec.12.enable = 0
account.1.codec.12.payload_type = iLBC_13_3
account.1.codec.12.priority = 0 
account.1.codec.12.rtpmap = 97

account.1.codec.13.enable = 0
account.1.codec.13.payload_type = iLBC_15_2
account.1.codec.13.priority = 0 
account.1.codec.13.rtpmap = 97 

#Configure the ACD reason code of Broadsoft.(The valus of Y must be consecutive numbers.)
#account.1.bw_acd_reason_code.Y = 500(lunch time)
account.1.bw_acd_reason_code.1 =
account.1.bw_acd_reason_code.2 =

#######################################################################################
##                        Call Forward                                               ##                                       
#######################################################################################

#Configure the call forward key mode; 0-Phone mode (default), 1-Custom mode.
features.fwd_mode =

#Enable or disable the always forward feature for account1; 0-Disabled (default), 1-Enabled;
account.1.always_fwd.enable = 

#Configure the destination number of the always forward for account1.
account.1.always_fwd.target = 

#Configure the always forward on code and off code for account1.
account.1.always_fwd.on_code = 
account.1.always_fwd.off_code =

#Enable or disable the busy forward feature for account1; 0-Disabled (default), 1-Enabled;
account.1.busy_fwd.enable = 
account.1.busy_fwd.target = 
account.1.busy_fwd.on_code = 
account.1.busy_fwd.off_code =

#Enable or disable the no answer forward feature for account1; 0-Disabled (default), 1-Enabled; 
#Configure the waiting ring times before forwarding. It ranges from 0 to 20, the default value is 2.
account.1.timeout_fwd.enable = 
account.1.timeout_fwd.target =
account.1.timeout_fwd.timeout = 
account.1.timeout_fwd.on_code =
account.1.timeout_fwd.off_code =

#Enable or disable the phone to record the last call forward type for account1; 0-Disabled (default), 1-Enabled;
account.1.last_type =

#######################################################################################
##                          DND                                                      ##                                       
#######################################################################################

#Configure the DND key mode; 0-Phone mode (default), 1-Custom mode.
features.dnd_mode = 

#Enable or disable the DND feautre for account1; 0-Disabled (default), 1-Enabled;
account.1.dnd.enable = 

#Configure the DND on code and off code for account1.
account.1.dnd.on_code = 
account.1.dnd.off_code =

#######################################################################################
##                        Account2 Settings                                          ##                                       
#######################################################################################

#Enable or disable the account2, 0-Disabled (default), 1-Enabled;
account.2.enable = 

#Configure the label displayed on the LCD screen for account2.
account.2.label = 

#Enable or disable to use the alert info URL; 0-Enabled (default), 1-Disabled;
account.2.alert_info_url_enable =

#Configure the display name of account2.
account.2.display_name =

#Configure the username and password for register authentication.
account.2.auth_name = 
account.2.password = 

#Configure the register user name.
account.2.user_name =  

#Configure the SIP server address.
account.2.sip_server_host = 
#Specify the port for the SIP server. The default value is 5060.
account.2.sip_server_port = 

#Enable or disable to use the outbound proxy server; 0-Disabled (default), 1-Enabled; 
account.2.outbound_proxy_enable = 

#Specify the IP address or domain name of the outbound proxy server.
account.2.outbound_host = 

#Specify the server port, the default value is 5060.
account.2.outbound_port =

#Configure the transport type; 0-UDP (default), 1-TCP, 2-TLS, 3-DNS SRV;
account.2.transport = 

#Enable or disable the timer to periodically refresh the DNS-SRV query result; 0-Disabled (default), 1-Enabled;
#Require reboot;
account.2.srv_ttl_timer_enable =

#Specify the service for SIP used to DNS-SRV query; 0-muti-service mixed, 1-SIP+D2U, 2-SIP+D2T, 3-SIPS+D2T;
#Require reboot;
account.2.dns_srv_type =

#Configure the address of the backup outbound proxy server.
account.2.backup_outbound_host = 

#Specify the port, the default value is 5060.
account.2.backup_outbound_port = 

#Configure the voice mail number of account2.
voice_mail.number.2 = 

#Configure the proxy server to account2.
account.2.proxy_require = 

#Enable or disable the phone to only accept the message from the server; 0-Disabled (default), 1-Enabled;
account.2.sip_trust_ctrl =  

#Enable or disable the anonymous call feature; 0-Disabled (default), 1-Enabled;
account.2.anonymous_call = 

#Configure the on code and off code of the anonymous call feature.
account.2.anonymous_call_oncode = 
account.2.anonymous_call_offcode = 

#Enable or disable the reject anonymous call feature; 0-Disabled (default), 1-Enabled;
account.2.reject_anonymous_call = 

#Configure the on code and off code of the reject anonymous call feature.
account.2.anonymous_reject_oncode = 
account.2.anonymous_reject_offcode = 

#Configure the SIP port for account2, the default value is 5060. 
account.2.sip_listen_port = 

#Configure the register expiry time (in seconds), the default value is 3600.
account.2.expires = 

#Enable or disable the 100 reliable retransmission; 0-Disabled (default), 1-Enabled;
account.2.100rel_enable = 

#Enable or disable the resource reservation; 0-Disabled (default), 1-Enabled;
account.2.precondition = 

#Enable or disable the phone to subscribe the register status; 0-Disabled (default), 1-Enabled;
account.2.subscribe_register = 

#Enable or disable the phone to subscribe the message waiting indicator; 0-Disabled (default), 1-Enabled;
account.2.subscribe_mwi = 

#Configure MWI subscribe expiry time (in seconds). It ranges from 0 to 84600, the default value is 3600.
account.2.subscribe_mwi_expires = 

#Configure the type of SIP header(s) to carry the caller ID; 0-FROM (default), 1-PAI 2-PAI-FROM, 3-PRID-PAI-FROM, 4-PAI-RPID-FROM, 5-RPID-FROM;
account.2.cid_source = 

#Configure the type of SIP header(s) to display on the caller's LCD screen; 0-RPID-FROM, 1-Dialed Digits (default), 2-RFC4916
account.2.cp_source = 

#Enable or disable the session timer, 0-Disabled (default), 1-Enabled;  
account.2.session_timer.enable =      

#Configure the refresh session timer interval (in seconds). It ranges from 1 to 9999.
account.2.session_timer.expires =      

#Configure the session timer refresher; 0-Uac (default), 1-Uas;
account.2.session_timer.refresher = 

#Enable or disable the "user=phone"; 0-Disabled (default), 1-Enabled;
account.2.enable_user_equal_phone = 

#Specify whether to encrypt the SIP messages; 0-Disabled (default), 1-Forced, 2-Negotiated;
account.2.srtp_encryption = 

#Configure the RTP packet time. The valid values are 0 (Disabled), 10, 20 (default), 30, 40, 50, 60.
account.2.ptime = 

#Assign account2 as shared line; 0-Disabled (default), 1-Broadsoft SCA, 2-BLA;
account.2.shared_line = 

#Configure BLA number for account2 and the subscribe period (in seconds). It ranges from 60 to 7200, the default value is 300.
account.2.bla_number = 
account.2.bla_subscribe_period = 

#Enable or disable call pickup using dialog-info SIP header; 0-Disabled (default), 1-Enabled;
account.2.dialoginfo_callpickup = 

#Configure the directed and group pickup codes for account 1, the settings on a per-account basis take precedence over the settings on the phone.
account.2.group_pickup_code = 
account.2.direct_pickup_code = 

#Enable or disable the auto answer feature; 0-Disabled (default), 1-Enabled;
account.2.auto_answer = 

#Enable or disable the phone to record the missed call; 0-Disabled, 1-Enabled (default);
account.2.missed_calllog = 

#Enable or disable the phone to subscribe to the voicemail through the message waiting indicator; 0-Disabled (default), 1-Enabled;
account.2.subscribe_mwi_to_vm = 

#Enable or disable the phone to send the MAC address and line number in the Register message; 0-Disabled (default), 1-Enabled;    
account.2.register_mac = 
account.2.register_line = 

#Configure the interval (in seconds) the phone retries to register when account2 fails to register. It ranges from 0 to 1800, the default value is 30.
account.2.reg_fail_retry_interval = 

#Configure the conference type; 0-Local (default), 2-Network Conference;
account.2.conf_type = 

#Configure the conference URI (a SIP URI, or use part of the SIP URI). For example, "conference@domain.com" or "conference".
account.2.conf_uri = 

#Configure the BLF list URI (a SIP URI, or use part of the SIP URI). For example, "2300_blflist@domain.com" or "2300_blflist".
account.2.blf.blf_list_uri = 

#Configure the pickup code of BLF List.
account.2.blf_list_code = 

#Configure the barge-in code.
account.2.blf_list_barge_in_code = 

#Enable or disable the phone to handle unmatched notify messages; 0-Disabled , 1-Enabled (default);
account.2.out_dialog_blf_enable = 

#Configure the BLF subscribe period (in seconds), the default value is 1800.
account.2.blf.subscribe_period = 

#Configure the ACD subscribe period (in seconds). It ranges from 120 to 3600 (default).
account.2.subscribe_acd_expires = 

#Configure the SIP server type; 0-Default (default), 2-BroadSoft, 4-Cosmocom;
account.2.sip_server_type = 

#Enable or disable the SIP signal encode; 0-Disabled (default), 1-Enabled (RC 4);
account.2.enable_signal_encode = 

#Configure the key for encoding.
account.2.signal_encode_key = 

#Configure the URI of the Music On Hold server. 
account.2.music_server_uri =

#Configure the DTMF type; 0-INBAND, 1-RFC2833 (default), 2-SIP INFO, 3-AUTO+SIP INFO;
account.2.dtmf.type = 

#Configure the RFC2833 payload. It ranges from 96 to 255, the default value is 101.
account.2.dtmf.dtmf_payload = 

#Configure the DTMF info type when using the SIP INFO; 0-Disabled (default), 1-DTMF-Relay, 2-DTMF, 3-Telephone-Event;
account.2.dtmf.info_type = 

#Enable or disable the phone to obtain the balance for account2; 0-Disabled (default), 1-Enabled;
account.2.balance_enable = 

#Configure the access URL of the balance server for account2.
account.2.balance_link_url =

#Enable or disable the phone to send the account log-off message first and then send account register message when rebooting the phone; 0-Disabled (default), 1-Enabled;
account.2.unregister_on_reboot =

#Enbale or diable the simplified header field feature; 0-Disabled, 1-Enabled (default);
account.2.compact_header_enable =

#Configure the type of Music on Hold; 0-Send the INVITE request to Music on Hold Server then hold the call; 1-Hold the call then send the INVITE request to Music on Hold Server;
#Require reboot;
account.2.music_on_hold_type = 

#########################################################################
##                     NAT Settings                                    ##
#########################################################################

#Enable or disable the NAT traversal; 0-Disabled (default), 1-STUN;
account.2.nat.nat_traversal = 

#Configure the STUN server address.
account.2.nat.stun_server = 

#Configure the STUN server port, the default value is 3478.
account.2.nat.stun_port = 

#Enable or disable the NAT keep-alive; 0-Disabled, 1-Enabled (default);
account.2.nat.udp_update_enable = 

#Specify the keep-alive interval (in seconds), the default value is 30.
account.2.nat.udp_update_time = 

#Enable or disable the NAT Rport; 0-Disabled (default), 1-Enabled;
account.2.nat.rport = 

#Configure the session timer (in seconds), the default value of T1, T2, T3 is 0.5, 4, 5.
account.2.advanced.timer_t1 = 
account.2.advanced.timer_t2 = 
account.2.advanced.timer_t4 = 

#Configure the timeout (in seconds) for DNS query, the value ranges from 1 to 9, the default value is 8.
account.2.dns_query_timeout =

#Assign a ringtone for account2. The system ring tones are: common (default), Ring1.wav, Ring2.wav,Ў­Ў­Ring8.wav.
#If you configure the custom ring tone (Family.wav) for the account, the value format is: Family.wav
#If you configure the system ring tone (Ring2.wav) for the account, the value format is: Ring2.wav
account.2.ringtone.ring_type =  

#Audio codecs for account2 (Y ranges from 1 to 13).
#Enable or disable the specified codec; 0-Disabled, 1-Enabled;
#account.2.codec.Y.enable = 
#The type of the specified codec.
#account.2.codec.Y.payload_type = 
#The priority of the specified codec. It's available when the codec is enabled.
#account.2.codec.Y.priority = 
#The payload of the specified codec.
#account.2.codec.Y.rtpmap = 

account.2.codec.1.enable = 1
account.2.codec.1.payload_type = PCMU
account.2.codec.1.priority = 1
account.2.codec.1.rtpmap = 0

account.2.codec.2.enable = 1
account.2.codec.2.payload_type = PCMA
account.2.codec.2.priority = 2 
account.2.codec.2.rtpmap = 8

account.2.codec.3.enable = 0 
account.2.codec.3.payload_type = G723_53
account.2.codec.3.priority =0
account.2.codec.3.rtpmap = 4

account.2.codec.4.enable = 0
account.2.codec.4.payload_type = G723_63
account.2.codec.4.priority = 0
account.2.codec.4.rtpmap = 4

account.2.codec.5.enable = 1
account.2.codec.5.payload_type = G729
account.2.codec.5.priority = 3
account.2.codec.5.rtpmap = 18

account.2.codec.6.enable = 1
account.2.codec.6.payload_type = G722
account.2.codec.6.priority = 4
account.2.codec.6.rtpmap = 9

account.2.codec.7.enable = 0
account.2.codec.7.payload_type = iBLC
account.2.codec.7.priority = 0 
account.2.codec.7.rtpmap = 102

account.2.codec.8.enable = 0
account.2.codec.8.payload_type = G726-16
account.2.codec.8.priority = 0
account.2.codec.8.rtpmap = 112

account.2.codec.9.enable = 0
account.2.codec.9.payload_type = G726-24
account.2.codec.9.priority = 0
account.2.codec.9.rtpmap = 102

account.2.codec.10.enable = 0
account.2.codec.10.payload_type = G726-32 
account.2.codec.10.priority = 0 
account.2.codec.10.rtpmap = 99

account.2.codec.11.enable = 0
account.2.codec.11.payload_type = G726-40
account.2.codec.11.priority = 0
account.2.codec.11.rtpmap = 104

account.2.codec.12.enable = 0
account.2.codec.12.payload_type = iLBC_13_3
account.2.codec.12.priority = 0 
account.2.codec.12.rtpmap = 97

account.2.codec.13.enable = 0
account.2.codec.13.payload_type = iLBC_15_2
account.2.codec.13.priority = 0 
account.2.codec.13.rtpmap = 97

#Configure the ACD reason code of Broadsoft.(The valus of Y must be consecutive numbers.)
#account.2.bw_acd_reason_code.Y = 500(lunch time)
account.2.bw_acd_reason_code.1 =
account.2.bw_acd_reason_code.2 =

#######################################################################################
##                        Call Forward                                               ##                                       
#######################################################################################

#Enable or disable the always forward feature for account2; 0-Disabled (default), 1-Enabled;
account.2.always_fwd.enable = 

#Configure the destination number of the always forward for account2.
account.2.always_fwd.target = 

#Configure the always forward on code and off code for account2.
account.2.always_fwd.on_code = 
account.2.always_fwd.off_code =

#Enable or disable the busy forward feature for account2; 0-Disabled (default), 1-Enabled;
account.2.busy_fwd.enable = 
account.2.busy_fwd.target = 
account.2.busy_fwd.on_code = 
account.2.busy_fwd.off_code =

#Enable or disable the no answer forward feature for account2; 0-Disabled (default), 1-Enabled; 
#Configure the waiting ring times before forwarding. It ranges from 0 to 20, the default value is 2.
account.2.timeout_fwd.enable = 
account.2.timeout_fwd.target =
account.2.timeout_fwd.timeout = 
account.2.timeout_fwd.on_code =
account.2.timeout_fwd.off_code =

#Enable or disable the phone to record the last call forward type for account2; 0-Disabled (default), 1-Enabled;
account.2.last_type =

#######################################################################################
##                          DND                                                      ##                                       
#######################################################################################

#Enable or disable the DND feature for account2; 0-Disabled (default), 1-Enabled;
account.2.dnd.enable = 

#Configure the DND on code and off code for account2.
account.2.dnd.on_code = 
account.2.dnd.off_code =

#######################################################################################
##                 Account3 Settings                                                 ##                                       
#######################################################################################

#Enable or disable the account3, 0-Disabled (default), 1-Enabled;
account.3.enable = 

#Configure the label displayed on the LCD screen for account3.
account.3.label =

#Enable or disable to use the alert info URL; 0-Enabled (default), 1-Disabled;
account.3.alert_info_url_enable =

#Configure the display name of account3.
account.3.display_name =

#Configure the username and password for register authentication.
account.3.auth_name = 
account.3.password =   

#Configure the register user name.
account.3.user_name =  

#Configure the SIP server address.
account.3.sip_server_host = 
#Specify the port for the SIP server. The default value is 5060.
account.3.sip_server_port = 

#Enable or disable to use the outbound proxy server; 0-Disabled (default), 1-Enabled; 
account.3.outbound_proxy_enable = 

#Specify the IP address or domain name of the outbound proxy server.
account.3.outbound_host = 

#Specify the server port, the default value is 5060.
account.3.outbound_port =

#Configure the transport type; 0-UDP (default), 1-TCP, 2-TLS, 3-DNS SRV;
account.3.transport = 

#Enable or disable the timer to periodically refresh the DNS-SRV query result; 0-Disabled (default), 1-Enabled;
#Require reboot;
account.3.srv_ttl_timer_enable =

#Specify the service for SIP used to DNS-SRV query; 0-muti-service mixed, 1-SIP+D2U, 2-SIP+D2T, 3-SIPS+D2T;
#Require reboot;
account.3.dns_srv_type =

#Configure the address of the backup outbound proxy server.
account.3.backup_outbound_host = 

#Specify the port, the default value is 5060.
account.3.backup_outbound_port = 

#Configure the voice mail number of account3.
voice_mail.number.3 = 

#Configure the proxy server to account3.
account.3.proxy_require = 

#Enable or disable the phone to only accept the message from the server; 0-Disabled (default), 1-Enabled;
account.3.sip_trust_ctrl =

#Enable or disable the anonymous call feature; 0-Disabled (default), 1-Enabled;
account.3.anonymous_call = 

#Configure the on code and off code of the anonymous call feature.
account.3.anonymous_call_oncode = 
account.3.anonymous_call_offcode = 

#Enable or disable the reject anonymous call feature; 0-Disabled (default), 1-Enabled;
account.3.reject_anonymous_call = 

#Configure the on code and off code of the reject anonymous call feature.
account.3.anonymous_reject_oncode = 
account.3.anonymous_reject_offcode = 

#Configure the SIP port for account3, the default value is 5060. 
account.3.sip_listen_port = 

#Configure the register expiry time (in seconds), the default value is 3600.
account.3.expires = 

#Enable or disable the 100 reliable retransmission; 0-Disabled (default), 1-Enabled;
account.3.100rel_enable = 

#Enable or disable the resource reservation; 0-Disabled (default), 1-Enabled;
account.3.precondition = 

#Enable or disable the phone to subscribe the register status; 0-Disabled (default), 1-Enabled;
account.3.subscribe_register = 

#Enable or disable the phone to subscribe the message waiting indicator; 0-Disabled (default), 1-Enabled;
account.3.subscribe_mwi = 

#Configure MWI subscribe expiry time (in seconds). It ranges from 0 to 84600, the default value is 3600.
account.3.subscribe_mwi_expires = 

#Configure the type of SIP header(s) to carry the caller ID; 0-FROM (default), 1-PAI 2-PAI-FROM, 3-PRID-PAI-FROM, 4-PAI-RPID-FROM, 5-RPID-FROM;
account.3.cid_source = 

#Configure the type of SIP header(s) to display on the caller's LCD screen; 0-RPID-FROM, 1-Dialed Digits (default), 2-RFC4916
account.3.cp_source = 

#Enable or disable the session timer, 0-Disabled (default), 1-Enabled;  
account.3.session_timer.enable =      

#Configure the refresh session timer interval (in seconds). It ranges from 1 to 9999.
account.3.session_timer.expires =      

#Configure the session timer refresher; 0-Uac (default), 1-Uas;
account.3.session_timer.refresher = 

#Enable or disable the "user=phone"; 0-Disabled (default), 1-Enabled;
account.3.enable_user_equal_phone = 

#Specify whether to encrypt the SIP messages; 0-Disabled (default), 1-Forced, 2-Negotiated;
account.3.srtp_encryption = 

#Configure the RTP packet time. The valid values are 0 (Disabled), 10, 20 (default), 30, 40, 50, 60.
account.3.ptime = 

#Assign account3 as shared line; 0-Disabled (default), 1-Broadsoft SCA, 2-BLA;
account.3.shared_line = 

#Configure BLA number for account3 and the subscribe period (in seconds). It ranges from 60 to 7200, the default value is 300.
account.3.bla_number = 
account.3.bla_subscribe_period = 

#Enable or disable call pickup using dialog-info SIP header; 0-Disabled (default), 1-Enabled;
account.3.dialoginfo_callpickup = 

#Configure the directed and group pickup codes for account 1, the settings on a per-account basis take precedence over the settings on the phone.
account.3.group_pickup_code = 
account.3.direct_pickup_code = 

#Enable or disable the auto answer feature; 0-Disabled (default), 1-Enabled;
account.3.auto_answer = 

#Enable or disable the phone to record the missed call; 0-Disabled, 1-Enabled (default);
account.3.missed_calllog = 

#Enable or disable the phone to subscribe to the voicemail through the message waiting indicator; 0-Disabled (default), 1-Enabled;
account.3.subscribe_mwi_to_vm = 

#Enable or disable the phone to send the MAC address and line number in the Register message; 0-Disabled (default), 1-Enabled;    
account.3.register_mac = 
account.3.register_line = 

#Configure the interval (in seconds) the phone retries to register when account3 fails to register. It ranges from 0 to 1800, the default value is 30.
account.3.reg_fail_retry_interval = 

#Configure the conference type; 0-Local (default), 2-Network Conference;
account.3.conf_type = 

#Configure the conference URI (a SIP URI, or use part of the SIP URI). For example, "conference@domain.com" or "conference".
account.3.conf_uri = 

#Configure the BLF list URI (a SIP URI, or use part of the SIP URI). For example, "2300_blflist@domain.com" or "2300_blflist".
account.3.blf.blf_list_uri = 

#Configure the pickup code of BLF List.
account.3.blf_list_code = 

#Configure the barge-in code.
account.3.blf_list_barge_in_code = 

#Enable or disable the phone to handle unmatched notify messages; 0-Disabled (default) , 1-Enabled ;
account.3.out_dialog_blf_enable = 

#Configure the BLF subscribe period (in seconds), the default value is 1800.
account.3.blf.subscribe_period = 

#Configure the ACD subscribe period (in seconds). It ranges from 120 to 3600 (default).
account.3.subscribe_acd_expires = 

#Configure the SIP server type; 0-Default (default), 2-BroadSoft, 4-Cosmocom;
account.3.sip_server_type = 

#Enable or disable the SIP signal encode; 0-Disabled (default), 1-Enabled (RC 4);
account.3.enable_signal_encode = 

#Configure the key for encoding.
account.3.signal_encode_key = 

#Configure the URI of the Music On Hold server. 
account.3.music_server_uri =

#Configure the DTMF type; 0-INBAND, 1-RFC2833 (default), 2-SIP INFO, 3-AUTO+SIP INFO;
account.3.dtmf.type = 

#Configure the RFC2833 payload. It ranges from 96 to 255, the default value is 101.
account.3.dtmf.dtmf_payload = 

#Configure the DTMF info type when using the SIP INFO; 0-Disabled (default), 1-DTMF-Relay, 2-DTMF, 3-Telephone-Event;
account.3.dtmf.info_type = 

#Enable or disable the phone to obtain the balance for account3; 0-Disabled (default), 1-Enabled;
account.3.balance_enable = 

#Configure the access URL of the balance server for account3.
account.3.balance_link_url =

#Enable or disable the phone to send the account log-off message first and then send account register message when rebooting the phone; 0-Disabled (default), 1-Enabled;
account.3.unregister_on_reboot =

#Enbale or diable the simplified header field feature; 0-Disabled, 1-Enabled (default);
account.3.compact_header_enable =

#Configure the type of Music on Hold; 0-Send the INVITE request to Music on Hold Server then hold the call; 1-Hold the call then send the INVITE request to Music on Hold Server;
#Require reboot;
account.3.music_on_hold_type = 

#########################################################################
##                     NAT Settings                                    ##
#########################################################################

#Enable or disable the NAT traversal; 0-Disabled (default), 1-STUN;
account.3.nat.nat_traversal = 

#Configure the STUN server address.
account.3.nat.stun_server = 

#Configure the STUN server port, the default value is 3478.
account.3.nat.stun_port = 

#Enable or disable the NAT keep-alive; 0-Disabled, 1-Enabled (default);
account.3.nat.udp_update_enable = 

#Specify the keep-alive interval (in seconds), the default value is 30.
account.3.nat.udp_update_time = 

#Enable or disable the NAT Rport; 0-Disabled (default), 1-Enabled;
account.3.nat.rport = 

#Configure the session timer (in seconds), the default value of T1, T2, T3 is 0.5, 4, 5.
account.3.advanced.timer_t1 = 
account.3.advanced.timer_t2 = 
account.3.advanced.timer_t4 = 

#Configure the timeout (in seconds) for DNS query, the value ranges from 1 to 9, the default value is 8.
account.3.dns_query_timeout =

#Assign a ringtone for account3. The system ring tones are: common (default), Ring1.wav, Ring2.wav,Ў­Ў­Ring8.wav.
#If you configure the custom ring tone (Family.wav) for the account, the value format is: Family.wav
#If you configure the system ring tone (Ring2.wav) for the account, the value format is: Ring2.wav
account.3.ringtone.ring_type = 

#Audio codecs for account3 (Y ranges from 1 to 13).
#Enable or disable the specified codec; 0-Disabled, 1-Enabled;
#account.3.codec.Y.enable = 
#The type of the specified codec.
#account.3.codec.Y.payload_type = 
#The priority of the specified codec. It's available when the codec is enabled.
#account.3.codec.Y.priority = 
#The payload of the specified codec.
#account.3.codec.Y.rtpmap = 

account.3.codec.1.enable = 1
account.3.codec.1.payload_type = PCMU
account.3.codec.1.priority = 1
account.3.codec.1.rtpmap = 0

account.3.codec.2.enable = 1
account.3.codec.2.payload_type = PCMA
account.3.codec.2.priority = 2 
account.3.codec.2.rtpmap = 8

account.3.codec.3.enable = 0 
account.3.codec.3.payload_type = G723_53
account.3.codec.3.priority =0
account.3.codec.3.rtpmap = 4

account.3.codec.4.enable = 0
account.3.codec.4.payload_type = G723_63
account.3.codec.4.priority = 0
account.3.codec.4.rtpmap = 4

account.3.codec.5.enable = 1
account.3.codec.5.payload_type = G729
account.3.codec.5.priority = 3
account.3.codec.5.rtpmap = 18

account.3.codec.6.enable = 1
account.3.codec.6.payload_type = G722
account.3.codec.6.priority = 4
account.3.codec.6.rtpmap = 9

account.3.codec.7.enable = 0
account.3.codec.7.payload_type = iBLC
account.3.codec.7.priority = 0 
account.3.codec.7.rtpmap = 102

account.3.codec.8.enable = 0
account.3.codec.8.payload_type = G726-16
account.3.codec.8.priority = 0
account.3.codec.8.rtpmap = 112

account.3.codec.9.enable = 0
account.3.codec.9.payload_type = G726-24
account.3.codec.9.priority = 0
account.3.codec.9.rtpmap = 102

account.3.codec.10.enable = 0
account.3.codec.10.payload_type = G726-32 
account.3.codec.10.priority = 0 
account.3.codec.10.rtpmap = 99

account.3.codec.11.enable = 0
account.3.codec.11.payload_type = G726-40
account.3.codec.11.priority = 0
account.3.codec.11.rtpmap = 104

account.3.codec.12.enable = 0
account.3.codec.12.payload_type = iLBC_13_3
account.3.codec.12.priority = 0 
account.3.codec.12.rtpmap = 97

account.3.codec.13.enable = 0
account.3.codec.13.payload_type = iLBC_15_2
account.3.codec.13.priority = 0 
account.3.codec.13.rtpmap = 97      

#Configure the ACD reason code of Broadsoft.(The valus of Y must be consecutive numbers.)
#account.3.bw_acd_reason_code.Y = 500(lunch time)
account.3.bw_acd_reason_code.1 =
account.3.bw_acd_reason_code.2 =

#######################################################################################
##                        Call Forward                                               ##                                       
#######################################################################################

#Enable or disable the always forward feature for account3; 0-Disabled (default), 1-Enabled;
account.3.always_fwd.enable = 

#Configure the destination number of the always forward for account3.
account.3.always_fwd.target = 

#Configure the always forward on code and off code for account3.
account.3.always_fwd.on_code = 
account.3.always_fwd.off_code =

#Enable or disable the busy forward feature for account3; 0-Disabled (default), 1-Enabled;
account.3.busy_fwd.enable = 
account.3.busy_fwd.target = 
account.3.busy_fwd.on_code = 
account.3.busy_fwd.off_code =

#Enable or disable the no answer forward feature for account3; 0-Disabled (default), 1-Enabled; 
#Configure the waiting ring times before forwarding. It ranges from 0 to 20, the default value is 2.
account.3.timeout_fwd.enable = 
account.3.timeout_fwd.target =
account.3.timeout_fwd.timeout = 
account.3.timeout_fwd.on_code =
account.3.timeout_fwd.off_code =

#Enable or disable the phone to record the last call forward type for account3; 0-Disabled (default), 1-Enabled;
account.3.last_type =

#######################################################################################
##                          DND                                                      ##                                       
#######################################################################################

#Enable or disable the DND feautre for account3; 0-Disabled (default), 1-Enabled;
account.3.dnd.enable = 

#Configure the DND on code and off code for account3.
account.3.dnd.on_code = 
account.3.dnd.off_code =

#######################################################################################
##              Account4 Settings (For T28P only)                                    ##                                       
#######################################################################################

#Enable or disable the account4, 0-Disabled (default), 1-Enabled;
account.4.enable = 

#Configure the label displayed on the LCD screen for account4.
account.4.label = 

#Enable or disable to use the alert info URL; 0-Enabled (default), 1-Disabled;
account.4.alert_info_url_enable =

#Configure the display name of account4.
account.4.display_name =

#Configure the username and password for register authentication.
account.4.auth_name = 
account.4.password =   

#Configure the register user name.
account.4.user_name =  

#Configure the SIP server address.
account.4.sip_server_host = 
#Specify the port for the SIP server. The default value is 5060.
account.4.sip_server_port = 

#Enable or disable to use the outbound proxy server; 0-Disabled (default), 1-Enabled; 
account.4.outbound_proxy_enable = 

#Specify the IP address or domain name of the outbound proxy server.
account.4.outbound_host = 

#Specify the server port, the default value is 5060.
account.4.outbound_port =

#Configure the transport type; 0-UDP (default), 1-TCP, 2-TLS, 3-DNS SRV;
account.4.transport = 

#Enable or disable the timer to periodically refresh the DNS-SRV query result; 0-Disabled (default), 1-Enabled;
#Require reboot;
account.4.srv_ttl_timer_enable =

#Specify the service for SIP used to DNS-SRV query; 0-muti-service mixed, 1-SIP+D2U, 2-SIP+D2T, 3-SIPS+D2T;
#Require reboot;
account.4.dns_srv_type =

#Configure the address of the backup outbound proxy server.
account.4.backup_outbound_host = 

#Specify the port, the default value is 5060.
account.4.backup_outbound_port = 

#Configure the voice mail number of account4.
voice_mail.number.4 = 

#Configure the proxy server to account4.
account.4.proxy_require = 

#Enable or disable the phone to only accept the message from the server; 0-Disabled (default), 1-Enabled;
account.4.sip_trust_ctrl =

#Enable or disable the anonymous call feature; 0-Disabled (default), 1-Enabled;
account.4.anonymous_call = 

#Configure the on code and off code of the anonymous call feature.
account.4.anonymous_call_oncode = 
account.4.anonymous_call_offcode = 

#Enable or disable the reject anonymous call feature; 0-Disabled (default), 1-Enabled;
account.4.reject_anonymous_call = 

#Configure the on code and off code of the reject anonymous call feature.
account.4.anonymous_reject_oncode = 
account.4.anonymous_reject_offcode = 

#Configure the SIP port for account4, the default value is 5060. 
account.4.sip_listen_port = 

#Configure the register expiry time (in seconds), the default value is 3600.
account.4.expires = 

#Enable or disable the 100 reliable retransmission; 0-Disabled (default), 1-Enabled;
account.4.100rel_enable = 

#Enable or disable the resource reservation; 0-Disabled (default), 1-Enabled;
account.4.precondition = 

#Enable or disable the phone to subscribe the register status; 0-Disabled (default), 1-Enabled;
account.4.subscribe_register = 

#Enable or disable the phone to subscribe the message waiting indicator; 0-Disabled (default), 1-Enabled;
account.4.subscribe_mwi = 

#Configure MWI subscribe expiry time (in seconds). It ranges from 0 to 84600, the default value is 3600.
account.4.subscribe_mwi_expires = 

#Configure the type of SIP header(s) to carry the caller ID; 0-FROM (default), 1-PAI 2-PAI-FROM, 3-PRID-PAI-FROM, 4-PAI-RPID-FROM, 5-RPID-FROM;
account.4.cid_source = 

#Configure the type of SIP header(s) to display on the caller's LCD screen; 0-RPID-FROM, 1-Dialed Digits(default), 2-RFC4916
account.4.cp_source = 

#Enable or disable the session timer, 0-Disabled (default), 1-Enabled;  
account.4.session_timer.enable =      

#Configure the refresh session timer interval (in seconds). It ranges from 1 to 9999.
account.4.session_timer.expires =      

#Configure the session timer refresher; 0-Uac (default), 1-Uas;
account.4.session_timer.refresher = 

#Enable or disable the "user=phone"; 0-Disabled (default), 1-Enabled;
account.4.enable_user_equal_phone = 

#Specify whether to encrypt the SIP messages; 0-Disabled (default), 1-Forced, 2-Negotiated;
account.4.srtp_encryption = 

#Configure the RTP packet time. The valid values are 0 (Disabled), 10, 20 (default), 30, 40, 50, 60.
account.4.ptime = 

#Assign account4 as shared line; 0-Disabled (default), 1-Broadsoft SCA, 2-BLA;
account.4.shared_line = 

#Configure BLA number for account4 and the subscribe period (in seconds). It ranges from 60 to 7200, the default value is 300.
account.4.bla_number = 
account.4.bla_subscribe_period = 

#Enable or disable call pickup using dialog-info SIP header; 0-Disabled (default), 1-Enabled;
account.4.dialoginfo_callpickup = 

#Configure the directed and group pickup codes for account 1, the settings on a per-account basis take precedence over the settings on the phone.
account.4.group_pickup_code = 
account.4.direct_pickup_code = 

#Enable or disable the auto answer feature; 0-Disabled (default), 1-Enabled;
account.4.auto_answer = 

#Enable or disable the phone to record the missed call; 0-Disabled, 1-Enabled (default);
account.4.missed_calllog = 

#Enable or disable the phone to subscribe to the voicemail through the message waiting indicator; 0-Disabled (default), 1-Enabled;
account.4.subscribe_mwi_to_vm = 

#Enable or disable the phone to send the MAC address and line number in the Register message; 0-Disabled (default), 1-Enabled;    
account.4.register_mac = 
account.4.register_line = 

#Configure the interval (in seconds) the phone retries to register when account4 fails to register. It ranges from 0 to 1800, the default value is 30.
account.4.reg_fail_retry_interval = 

#Configure the conference type; 0-Local (default), 2-Network Conference;
account.4.conf_type = 

#Configure the conference URI (a SIP URI, or use part of the SIP URI). For example, "conference@domain.com" or "conference".
account.4.conf_uri = 

#Configure the BLF list URI (a SIP URI, or use part of the SIP URI). For example, "2300_blflist@domain.com" or "2300_blflist".
account.4.blf.blf_list_uri = 

#Configure the pickup code of BLF List.
account.4.blf_list_code = 

#Configure the barge-in code.
account.4.blf_list_barge_in_code = 

#Enable or disable the phone to handle unmatched notify messages; 0-Disabled (default) , 1-Enabled ;
account.4.out_dialog_blf_enable = 

#Configure the BLF subscribe period (in seconds), the default value is 1800.
account.4.blf.subscribe_period = 

#Configure the ACD subscribe period (in seconds). It ranges from 120 to 3600 (default).
account.4.subscribe_acd_expires = 

#Configure the SIP server type; 0-Default (default), 2-BroadSoft, 4-Cosmocom;
account.4.sip_server_type = 

#Enable or disable the SIP signal encode; 0-Disabled (default), 1-Enabled (RC 4);
account.4.enable_signal_encode = 

#Configure the key for encoding.
account.4.signal_encode_key = 

#Configure the URI of the Music On Hold server. 
account.4.music_server_uri =

#Configure the DTMF type; 0-INBAND, 1-RFC2833 (default), 2-SIP INFO, 3-AUTO+SIP INFO;
account.4.dtmf.type = 

#Configure the RFC2833 payload. It ranges from 96 to 255, the default value is 101.
account.4.dtmf.dtmf_payload = 

#Configure the DTMF info type when using the SIP INFO; 0-Disabled (default), 1-DTMF-Relay, 2-DTMF, 3-Telephone-Event;
account.4.dtmf.info_type = 

#Enable or disable the phone to obtain the balance for account4; 0-Disabled (default), 1-Enabled;
account.4.balance_enable = 

#Configure the access URL of the balance server for account4.
account.4.balance_link_url =

#Enable or disable the phone to send the account log-off message first and then send account register message when rebooting the phone; 0-Disabled (default), 1-Enabled;
account.4.unregister_on_reboot =

#Enbale or diable the simplified header field feature; 0-Disabled, 1-Enabled (default);
account.4.compact_header_enable =

#Configure the type of Music on Hold; 0-Send the INVITE request to Music on Hold Server then hold the call; 1-Hold the call then send the INVITE request to Music on Hold Server;
#Require reboot;
account.4.music_on_hold_type = 

#########################################################################
##                     NAT Settings                                    ##
#########################################################################

#Enable or disable the NAT traversal; 0-Disabled (default), 1-STUN;
account.4.nat.nat_traversal = 

#Configure the STUN server address.
account.4.nat.stun_server = 

#Configure the STUN server port, the default value is 3478.
account.4.nat.stun_port = 

#Enable or disable the NAT keep-alive; 0-Disabled, 1-Enabled (default);
account.4.nat.udp_update_enable = 

#Specify the keep-alive interval (in seconds), the default value is 30.
account.4.nat.udp_update_time = 

#Enable or disable the NAT Rport; 0-Disabled (default), 1-Enabled;
account.4.nat.rport = 

#Configure the session timer (in seconds), the default value of T1, T2, T3 is 0.5, 4, 5.
account.4.advanced.timer_t1 = 
account.4.advanced.timer_t2 = 
account.4.advanced.timer_t4 = 

#Configure the timeout (in seconds) for DNS query, the value ranges from 1 to 9, the default value is 8.
account.4.dns_query_timeout =

#Assign a ringtone for account4. The system ring tones are: common (default), Ring1.wav, Ring2.wav,Ў­Ў­Ring8.wav.
#If you configure the custom ring tone (Family.wav) for the account, the value format is: Family.wav
#If you configure the system ring tone (Ring2.wav) for the account, the value format is: Ring2.wav
account.4.ringtone.ring_type = 

#Audio codecs for account4 (Y ranges from 1 to 13).
#Enable or disable the specified codec; 0-Disabled, 1-Enabled;
#account.4.codec.Y.enable = 
#The type of the specified codec.
#account.4.codec.Y.payload_type = 
#The priority of the specified codec. It's available when the codec is enabled.
#account.4.codec.Y.priority = 
#The payload of the specified codec.
#account.4.codec.Y.rtpmap = 

account.4.codec.1.enable = 1
account.4.codec.1.payload_type = PCMU
account.4.codec.1.priority = 1
account.4.codec.1.rtpmap = 0

account.4.codec.2.enable = 1
account.4.codec.2.payload_type = PCMA
account.4.codec.2.priority = 2 
account.4.codec.2.rtpmap = 8

account.4.codec.3.enable = 0 
account.4.codec.3.payload_type = G723_53
account.4.codec.3.priority =0
account.4.codec.3.rtpmap = 4

account.4.codec.4.enable = 0
account.4.codec.4.payload_type = G723_63
account.4.codec.4.priority = 0
account.4.codec.4.rtpmap = 4

account.4.codec.5.enable = 1
account.4.codec.5.payload_type = G729
account.4.codec.5.priority = 3
account.4.codec.5.rtpmap = 18

account.4.codec.6.enable = 1
account.4.codec.6.payload_type = G722
account.4.codec.6.priority = 4
account.4.codec.6.rtpmap = 9

account.4.codec.7.enable = 0
account.4.codec.7.payload_type = iBLC
account.4.codec.7.priority = 0 
account.4.codec.7.rtpmap = 102

account.4.codec.8.enable = 0
account.4.codec.8.payload_type = G726-16
account.4.codec.8.priority = 0
account.4.codec.8.rtpmap = 112

account.4.codec.9.enable = 0
account.4.codec.9.payload_type = G726-24
account.4.codec.9.priority = 0
account.4.codec.9.rtpmap = 102

account.4.codec.10.enable = 0
account.4.codec.10.payload_type = G726-32 
account.4.codec.10.priority = 0 
account.4.codec.10.rtpmap = 99

account.4.codec.11.enable = 0
account.4.codec.11.payload_type = G726-40
account.4.codec.11.priority = 0
account.4.codec.11.rtpmap = 104

account.4.codec.12.enable = 0
account.4.codec.12.payload_type = iLBC_13_3
account.4.codec.12.priority = 0 
account.4.codec.12.rtpmap = 97

account.4.codec.13.enable = 0
account.4.codec.13.payload_type = iLBC_15_2
account.4.codec.13.priority = 0 
account.4.codec.13.rtpmap = 97          

#Configure the ACD reason code of Broadsoft.(The valus of Y must be consecutive numbers.)
#account.4.bw_acd_reason_code.Y = 500(lunch time)
account.4.bw_acd_reason_code.1 =
account.4.bw_acd_reason_code.2 =

#######################################################################################
##                        Call Forward                                               ##                                       
#######################################################################################

#Enable or disable the always forward feature for account4; 0-Disabled (default), 1-Enabled;
account.4.always_fwd.enable = 

#Configure the destination number of the always forward for account4.
account.4.always_fwd.target = 

#Configure the always forward on code and off code for account4.
account.4.always_fwd.on_code = 
account.4.always_fwd.off_code =

#Enable or disable the busy forward feature for account4; 0-Disabled (default), 1-Enabled;
account.4.busy_fwd.enable = 
account.4.busy_fwd.target = 
account.4.busy_fwd.on_code = 
account.4.busy_fwd.off_code =

#Enable or disable the no answer forward feature for account4; 0-Disabled (default), 1-Enabled; 
#Configure the waiting ring times before forwarding. It ranges from 0 to 20, the default value is 2.
account.4.timeout_fwd.enable = 
account.4.timeout_fwd.target =
account.4.timeout_fwd.timeout = 
account.4.timeout_fwd.on_code =
account.4.timeout_fwd.off_code =

#Enable or disable the phone to record the last call forward type for account4; 0-Disabled (default), 1-Enabled;
account.4.last_type =

#######################################################################################
##                          DND                                                      ##                                       
#######################################################################################

#Enable or disable the DND feautre for account4; 0-Disabled (default), 1-Enabled;
account.4.dnd.enable = 

#Configure the DND on code and off code for account4.
account.4.dnd.on_code = 
account.4.dnd.off_code =

#######################################################################################
##               Account5 Settings (For T28P only)                                   ##                                        
#######################################################################################

#Enable or disable the account5, 0-Disabled (default), 1-Enabled;
account.5.enable = 

#Configure the label displayed on the LCD screen for account5.
account.5.label = 

#Enable or disable to use the alert info URL; 0-Enabled (default), 1-Disabled;
account.5.alert_info_url_enable =

#Configure the display name of account5.
account.5.display_name =

#Configure the username and password for register authentication.
account.5.auth_name = 
account.5.password =   

#Configure the register user name.
account.5.user_name =  

#Configure the SIP server address.
account.5.sip_server_host = 
#Specify the port for the SIP server. The default value is 5060.
account.5.sip_server_port = 

#Enable or disable to use the outbound proxy server; 0-Disabled (default), 1-Enabled; 
account.5.outbound_proxy_enable = 

#Specify the IP address or domain name of the outbound proxy server.
account.5.outbound_host = 

#Specify the server port, the default value is 5060.
account.5.outbound_port =

#Configure the transport type; 0-UDP (default), 1-TCP, 2-TLS, 3-DNS SRV;
account.5.transport = 

#Enable or disable the timer to periodically refresh the DNS-SRV query result; 0-Disabled (default), 1-Enabled;
#Require reboot;
account.5.srv_ttl_timer_enable =

#Specify the service for SIP used to DNS-SRV query; 0-muti-service mixed, 1-SIP+D2U, 2-SIP+D2T, 3-SIPS+D2T;
#Require reboot;
account.5.dns_srv_type =

#Configure the address of the backup outbound proxy server.
account.5.backup_outbound_host = 

#Specify the port, the default value is 5060.
account.5.backup_outbound_port = 

#Configure the voice mail number of account5.
voice_mail.number.5 = 

#Configure the proxy server to account5.
account.5.proxy_require = 

#Enable or disable the phone to only accept the message from the server; 0-Disabled (default), 1-Enabled;
account.5.sip_trust_ctrl =

#Enable or disable the anonymous call feature; 0-Disabled (default), 1-Enabled;
account.5.anonymous_call = 

#Configure the on code and off code of the anonymous call feature.
account.5.anonymous_call_oncode = 
account.5.anonymous_call_offcode = 

#Enable or disable the reject anonymous call feature; 0-Disabled (default), 1-Enabled;
account.5.reject_anonymous_call = 

#Configure the on code and off code of the reject anonymous call feature.
account.5.anonymous_reject_oncode = 
account.5.anonymous_reject_offcode = 

#Configure the SIP port for account5, the default value is 5060. 
account.5.sip_listen_port = 

#Configure the register expiry time (in seconds), the default value is 3600.
account.5.expires = 

#Enable or disable the 100 reliable retransmission; 0-Disabled (default), 1-Enabled;
account.5.100rel_enable = 

#Enable or disable the resource reservation; 0-Disabled (default), 1-Enabled;
account.5.precondition = 

#Enable or disable the phone to subscribe the register status; 0-Disabled (default), 1-Enabled;
account.5.subscribe_register = 

#Enable or disable the phone to subscribe the message waiting indicator; 0-Disabled (default), 1-Enabled;
account.5.subscribe_mwi = 

#Configure MWI subscribe expiry time (in seconds). It ranges from 0 to 84600, the default value is 3600.
account.5.subscribe_mwi_expires = 

#Configure the type of SIP header(s) to carry the caller ID; 0-FROM (default), 1-PAI 2-PAI-FROM, 3-PRID-PAI-FROM, 4-PAI-RPID-FROM, 5-RPID-FROM;
account.5.cid_source = 

#Configure the type of SIP header(s) to display on the caller's LCD screen; 0-RPID-FROM, 1-Dialed Digits (default), 2-RFC4916
account.5.cp_source = 

#Enable or disable the session timer, 0-Disabled (default), 1-Enabled;  
account.5.session_timer.enable =      

#Configure the refresh session timer interval (in seconds). It ranges from 1 to 9999.
account.5.session_timer.expires =      

#Configure the session timer refresher; 0-Uac (default), 1-Uas;
account.5.session_timer.refresher = 

#Enable or disable the "user=phone"; 0-Disabled (default), 1-Enabled;
account.5.enable_user_equal_phone = 

#Specify whether to encrypt the SIP messages; 0-Disabled (default), 1-Forced, 2-Negotiated;
account.5.srtp_encryption = 

#Configure the RTP packet time. The valid values are 0 (Disabled), 10, 20 (default), 30, 40, 50, 60.
account.5.ptime = 

#Assign account5 as shared line; 0-Disabled (default), 1-Broadsoft SCA, 2-BLA;
account.5.shared_line = 

#Configure BLA number for account5 and the subscribe period (in seconds). It ranges from 60 to 7200, the default value is 300.
account.5.bla_number = 
account.5.bla_subscribe_period = 

#Enable or disable call pickup using dialog-info SIP header; 0-Disabled (default), 1-Enabled;
account.5.dialoginfo_callpickup = 

#Configure the directed and group pickup codes for account 1, the settings on a per-account basis take precedence over the settings on the phone.
account.5.group_pickup_code = 
account.5.direct_pickup_code = 

#Enable or disable the auto answer feature; 0-Disabled (default), 1-Enabled;
account.5.auto_answer = 

#Enable or disable the phone to record the missed call; 0-Disabled, 1-Enabled (default);
account.5.missed_calllog = 

#Enable or disable the phone to subscribe to the voicemail through the message waiting indicator; 0-Disabled (default), 1-Enabled;
account.5.subscribe_mwi_to_vm = 

#Enable or disable the phone to send the MAC address and line number in the Register message; 0-Disabled (default), 1-Enabled;    
account.5.register_mac = 
account.5.register_line = 

#Configure the interval (in seconds) the phone retries to register when account5 fails to register. It ranges from 0 to 1800, the default value is 30.
account.5.reg_fail_retry_interval = 

#Configure the conference type; 0-Local (default), 2-Network Conference;
account.5.conf_type = 

#Configure the conference URI (a SIP URI, or use part of the SIP URI). For example, "conference@domain.com" or "conference".
account.5.conf_uri = 

#Configure the BLF list URI (a SIP URI, or use part of the SIP URI). For example, "2300_blflist@domain.com" or "2300_blflist".
account.5.blf.blf_list_uri = 

#Configure the pickup code of BLF List.
account.5.blf_list_code = 

#Configure the barge-in code.
account.5.blf_list_barge_in_code = 

#Enable or disable the phone to handle unmatched notify messages; 0-Disabled (default) , 1-Enabled ;
account.5.out_dialog_blf_enable = 

#Configure the BLF subscribe period (in seconds), the default value is 1800.
account.5.blf.subscribe_period = 

#Configure the ACD subscribe period (in seconds). It ranges from 120 to 3600 (default).
account.5.subscribe_acd_expires = 

#Configure the SIP server type; 0-Default (default), 2-BroadSoft, 4-Cosmocom;
account.5.sip_server_type = 

#Enable or disable the SIP signal encode; 0-Disabled (default), 1-Enabled (RC 4);
account.5.enable_signal_encode = 

#Configure the key for encoding.
account.5.signal_encode_key = 

#Configure the URI of the Music On Hold server. 
account.5.music_server_uri =

#Configure the DTMF type; 0-INBAND, 1-RFC2833 (default), 2-SIP INFO, 3-AUTO+SIP INFO;
account.5.dtmf.type = 

#Configure the RFC2833 payload. It ranges from 96 to 255, the default value is 101.
account.5.dtmf.dtmf_payload = 

#Configure the DTMF info type when using the SIP INFO; 0-Disabled (default), 1-DTMF-Relay, 2-DTMF, 3-Telephone-Event;
account.5.dtmf.info_type = 

#Enable or disable the phone to obtain the balance for account5; 0-Disabled (default), 1-Enabled;
account.5.balance_enable = 

#Configure the access URL of the balance server for account5.
account.5.balance_link_url =

#Enable or disable the phone to send the account log-off message first and then send account register message when rebooting the phone; 0-Disabled (default), 1-Enabled;
account.5.unregister_on_reboot =

#Enbale or diable the simplified header field feature; 0-Disabled, 1-Enabled (default);
account.5.compact_header_enable =

#Configure the type of Music on Hold; 0-Send the INVITE request to Music on Hold Server then hold the call; 1-Hold the call then send the INVITE request to Music on Hold Server;
#Require reboot;
account.5.music_on_hold_type = 

#########################################################################
##                     NAT Settings                                    ##
#########################################################################

#Enable or disable the NAT traversal; 0-Disabled (default), 1-STUN;
account.5.nat.nat_traversal = 

#Configure the STUN server address.
account.5.nat.stun_server = 

#Configure the STUN server port, the default value is 3478.
account.5.nat.stun_port = 

#Enable or disable the NAT keep-alive; 0-Disabled, 1-Enabled (default);
account.5.nat.udp_update_enable = 

#Specify the keep-alive interval (in seconds), the default value is 30.
account.5.nat.udp_update_time = 

#Enable or disable the NAT Rport; 0-Disabled (default), 1-Enabled;
account.5.nat.rport = 

#Configure the session timer (in seconds), the default value of T1, T2, T3 is 0.5, 4, 5.
account.5.advanced.timer_t1 = 
account.5.advanced.timer_t2 = 
account.5.advanced.timer_t4 = 

#Configure the timeout (in seconds) for DNS query, the value ranges from 1 to 9, the default value is 8.
account.5.dns_query_timeout =

#Assign a ringtone for account5. The system ring tones are: common (default), Ring1.wav, Ring2.wav,Ў­Ў­Ring8.wav.
#If you configure the custom ring tone (Family.wav) for the account, the value format is: Family.wav
#If you configure the system ring tone (Ring2.wav) for the account, the value format is: Ring2.wav
account.5.ringtone.ring_type = 

#Audio codecs for account5 (Y ranges from 1 to 13).
#Enable or disable the specified codec; 0-Disabled, 1-Enabled;
#account.5.codec.Y.enable = 
#The type of the specified codec.
#account.5.codec.Y.payload_type = 
#The priority of the specified codec. It's available when the codec is enabled.
#account.5.codec.Y.priority = 
#The payload of the specified codec.
#account.5.codec.Y.rtpmap = 

account.5.codec.1.enable = 1
account.5.codec.1.payload_type = PCMU
account.5.codec.1.priority = 1
account.5.codec.1.rtpmap = 0

account.5.codec.2.enable = 1
account.5.codec.2.payload_type = PCMA
account.5.codec.2.priority = 2 
account.5.codec.2.rtpmap = 8

account.5.codec.3.enable = 0 
account.5.codec.3.payload_type = G723_53
account.5.codec.3.priority =0
account.5.codec.3.rtpmap = 4

account.5.codec.4.enable = 0
account.5.codec.4.payload_type = G723_63
account.5.codec.4.priority = 0
account.5.codec.4.rtpmap = 4

account.5.codec.5.enable = 1
account.5.codec.5.payload_type = G729
account.5.codec.5.priority = 3
account.5.codec.5.rtpmap = 18

account.5.codec.6.enable = 1
account.5.codec.6.payload_type = G722
account.5.codec.6.priority = 4
account.5.codec.6.rtpmap = 9

account.5.codec.7.enable = 0
account.5.codec.7.payload_type = iBLC
account.5.codec.7.priority = 0 
account.5.codec.7.rtpmap = 102

account.5.codec.8.enable = 0
account.5.codec.8.payload_type = G726-16
account.5.codec.8.priority = 0
account.5.codec.8.rtpmap = 112

account.5.codec.9.enable = 0
account.5.codec.9.payload_type = G726-24
account.5.codec.9.priority = 0
account.5.codec.9.rtpmap = 102

account.5.codec.10.enable = 0
account.5.codec.10.payload_type = G726-32 
account.5.codec.10.priority = 0 
account.5.codec.10.rtpmap = 99

account.5.codec.11.enable = 0
account.5.codec.11.payload_type = G726-40
account.5.codec.11.priority = 0
account.5.codec.11.rtpmap = 104

account.5.codec.12.enable = 0
account.5.codec.12.payload_type = iLBC_13_3
account.5.codec.12.priority = 0 
account.5.codec.12.rtpmap = 97

account.5.codec.13.enable = 0
account.5.codec.13.payload_type = iLBC_15_2
account.5.codec.13.priority = 0 
account.5.codec.13.rtpmap = 97            

#Configure the ACD reason code of Broadsoft.(The valus of Y must be consecutive numbers.)
#account.5.bw_acd_reason_code.Y = 500(lunch time)
account.5.bw_acd_reason_code.1 =
account.5.bw_acd_reason_code.2 =

#######################################################################################
##                        Call Forward                                               ##                                       
#######################################################################################

#Enable or disable the always forward feature for account5; 0-Disabled (default), 1-Enabled;
account.5.always_fwd.enable = 

#Configure the destination number of the always forward for account5.
account.5.always_fwd.target = 

#Configure the always forward on code and off code for account5.
account.5.always_fwd.on_code = 
account.5.always_fwd.off_code =

#Enable or disable the busy forward feature for account5; 0-Disabled (default), 1-Enabled;
account.5.busy_fwd.enable = 
account.5.busy_fwd.target = 
account.5.busy_fwd.on_code = 
account.5.busy_fwd.off_code =

#Enable or disable the no answer forward feature for account5; 0-Disabled (default), 1-Enabled; 
#Configure the waiting ring times before forwarding. It ranges from 0 to 20, the default value is 2.
account.5.timeout_fwd.enable = 
account.5.timeout_fwd.target =
account.5.timeout_fwd.timeout = 
account.5.timeout_fwd.on_code =
account.5.timeout_fwd.off_code =

#Enable or disable the phone to record the last call forward type for account5; 0-Disabled (default), 1-Enabled;
account.5.last_type =

#######################################################################################
##                          DND                                                      ##                                       
#######################################################################################

#Enable or disable the DND feautre for account5; 0-Disabled (default), 1-Enabled;
account.5.dnd.enable = 

#Configure the DND on code and off code for account5.
account.5.dnd.on_code = 
account.5.dnd.off_code =

#######################################################################################
##                 Account6 Settings (For T28P only)                                 ##                                         
#######################################################################################

#Enable or disable the account6, 0-Disabled (default), 1-Enabled;
account.6.enable = 

#Configure the label displayed on the LCD screen for account6.
account.6.label = 

#Enable or disable to use the alert info URL; 0-Enabled (default), 1-Disabled;
account.6.alert_info_url_enable =

#Configure the display name of account6.
account.6.display_name =

#Configure the username and password for register authentication.
account.6.auth_name = 
account.6.password =   

#Configure the register user name.
account.6.user_name =  

#Configure the SIP server address.
account.6.sip_server_host = 
#Specify the port for the SIP server. The default value is 5060.
account.6.sip_server_port = 

#Enable or disable to use the outbound proxy server; 0-Disabled (default), 1-Enabled; 
account.6.outbound_proxy_enable = 

#Specify the IP address or domain name of the outbound proxy server.
account.6.outbound_host = 

#Specify the server port, the default value is 5060.
account.6.outbound_port =

#Configure the transport type; 0-UDP (default), 1-TCP, 2-TLS, 3-DNS SRV;
account.6.transport =
 
#Enable or disable the timer to periodically refresh the DNS-SRV query result; 0-Disabled (default), 1-Enabled;
#Require reboot;
account.6.srv_ttl_timer_enable =

#Specify the service for SIP used to DNS-SRV query; 0-muti-service mixed, 1-SIP+D2U, 2-SIP+D2T, 3-SIPS+D2T;
#Require reboot;
account.6.dns_srv_type =

#Configure the address of the backup outbound proxy server.
account.6.backup_outbound_host = 

#Specify the port, the default value is 5060.
account.6.backup_outbound_port = 

#Configure the voice mail number of account6.
voice_mail.number.6 = 

#Configure the proxy server to account6.
account.6.proxy_require = 

#Enable or disable the phone to only accept the message from the server; 0-Disabled (default), 1-Enabled;
account.6.sip_trust_ctrl =

#Enable or disable the anonymous call feature; 0-Disabled (default), 1-Enabled;
account.6.anonymous_call = 

#Configure the on code and off code of the anonymous call feature.
account.6.anonymous_call_oncode = 
account.6.anonymous_call_offcode = 

#Enable or disable the reject anonymous call feature; 0-Disabled (default), 1-Enabled;
account.6.reject_anonymous_call = 

#Configure the on code and off code of the reject anonymous call feature.
account.6.anonymous_reject_oncode = 
account.6.anonymous_reject_offcode = 

#Configure the SIP port for account6, the default value is 5060. 
account.6.sip_listen_port = 

#Configure the register expiry time (in seconds), the default value is 3600.
account.6.expires = 

#Enable or disable the 100 reliable retransmission; 0-Disabled (default), 1-Enabled;
account.6.100rel_enable = 

#Enable or disable the resource reservation; 0-Disabled (default), 1-Enabled;
account.6.precondition = 

#Enable or disable the phone to subscribe the register status; 0-Disabled (default), 1-Enabled;
account.6.subscribe_register = 

#Enable or disable the phone to subscribe the message waiting indicator; 0-Disabled (default), 1-Enabled;
account.6.subscribe_mwi = 

#Configure MWI subscribe expiry time (in seconds). It ranges from 0 to 84600, the default value is 3600.
account.6.subscribe_mwi_expires = 

#Configure the type of SIP header(s) to carry the caller ID; 0-FROM (default), 1-PAI 2-PAI-FROM, 3-PRID-PAI-FROM, 4-PAI-RPID-FROM, 5-RPID-FROM;
account.6.cid_source = 

#Configure the type of SIP header(s) to display on the caller's LCD screen; 0-RPID-FROM, 1-Dialed Digits (default), 2-RFC4916
account.6.cp_source = 

#Enable or disable the session timer, 0-Disabled (default), 1-Enabled;  
account.6.session_timer.enable =      

#Configure the refresh session timer interval (in seconds). It ranges from 1 to 9999.
account.6.session_timer.expires =      

#Configure the session timer refresher; 0-Uac (default), 1-Uas;
account.6.session_timer.refresher = 

#Enable or disable the "user=phone"; 0-Disabled (default), 1-Enabled;
account.6.enable_user_equal_phone = 

#Specify whether to encrypt the SIP messages; 0-Disabled (default), 1-Forced, 2-Negotiated;
account.6.srtp_encryption = 

#Configure the RTP packet time. The valid values are 0 (Disabled), 10, 20 (default), 30, 40, 50, 60.
account.6.ptime = 

#Assign account6 as shared line; 0-Disabled (default), 1-Broadsoft SCA, 2-BLA;
account.6.shared_line = 

#Configure BLA number for account6 and the subscribe period (in seconds). It ranges from 60 to 7200, the default value is 300.
account.6.bla_number = 
account.6.bla_subscribe_period = 

#Enable or disable call pickup using dialog-info SIP header; 0-Disabled (default), 1-Enabled;
account.6.dialoginfo_callpickup = 

#Configure the directed and group pickup codes for account 1, the settings on a per-account basis take precedence over the settings on the phone.
account.6.group_pickup_code = 
account.6.direct_pickup_code = 

#Enable or disable the auto answer feature; 0-Disabled (default), 1-Enabled;
account.6.auto_answer = 

#Enable or disable the phone to record the missed call; 0-Disabled, 1-Enabled (default);
account.6.missed_calllog = 

#Enable or disable the phone to subscribe to the voicemail through the message waiting indicator; 0-Disabled (default), 1-Enabled;
account.6.subscribe_mwi_to_vm = 

#Enable or disable the phone to send the MAC address and line number in the Register message; 0-Disabled (default), 1-Enabled;    
account.6.register_mac = 
account.6.register_line = 

#Configure the interval (in seconds) the phone retries to register when account6 fails to register. It ranges from 0 to 1800, the default value is 30.
account.6.reg_fail_retry_interval = 

#Configure the conference type; 0-Local (default), 2-Network Conference;
account.6.conf_type = 

#Configure the conference URI (a SIP URI, or use part of the SIP URI). For example, "conference@domain.com" or "conference".
account.6.conf_uri = 

#Configure the BLF list URI (a SIP URI, or use part of the SIP URI). For example, "2300_blflist@domain.com" or "2300_blflist".
account.6.blf.blf_list_uri = 

#Configure the pickup code of BLF List.
account.6.blf_list_code = 

#Configure the barge-in code.
account.6.blf_list_barge_in_code = 

#Enable or disable the phone to handle unmatched notify messages; 0-Disabled (default) , 1-Enabled ;
account.6.out_dialog_blf_enable = 

#Configure the BLF subscribe period (in seconds), the default value is 1800.
account.6.blf.subscribe_period = 

#Configure the ACD subscribe period (in seconds). It ranges from 120 to 3600 (default).
account.6.subscribe_acd_expires = 

#Configure the SIP server type; 0-Default (default), 2-BroadSoft, 4-Cosmocom;
account.6.sip_server_type = 

#Enable or disable the SIP signal encode; 0-Disabled (default), 1-Enabled (RC 4);
account.6.enable_signal_encode = 

#Configure the key for encoding.
account.6.signal_encode_key = 

#Configure the URI of the Music On Hold server. 
account.6.music_server_uri =

#Configure the DTMF type; 0-INBAND, 1-RFC2833 (default), 2-SIP INFO, 3-AUTO+SIP INFO;
account.6.dtmf.type = 

#Configure the RFC2833 payload. It ranges from 96 to 255, the default value is 101.
account.6.dtmf.dtmf_payload = 

#Configure the DTMF info type when using the SIP INFO; 0-Disabled (default), 1-DTMF-Relay, 2-DTMF, 3-Telephone-Event;
account.6.dtmf.info_type = 

#Enable or disable the phone to obtain the balance for account6; 0-Disabled (default), 1-Enabled;
account.6.balance_enable = 

#Configure the access URL of the balance server for account6.
account.6.balance_link_url =

#Enable or disable the phone to send the account log-off message first and then send account register message when rebooting the phone; 0-Disabled (default), 1-Enabled;
account.6.unregister_on_reboot =

#Enbale or diable the simplified header field feature; 0-Disabled, 1-Enabled (default);
account.6.compact_header_enable =

#Configure the type of Music on Hold; 0-Send the INVITE request to Music on Hold Server then hold the call; 1-Hold the call then send the INVITE request to Music on Hold Server;
#Require reboot;
account.6.music_on_hold_type = 

#########################################################################
##                     NAT Settings                                    ##
#########################################################################

#Enable or disable the NAT traversal; 0-Disabled (default), 1-STUN;
account.6.nat.nat_traversal = 

#Configure the STUN server address.
account.6.nat.stun_server = 

#Configure the STUN server port, the default value is 3478.
account.6.nat.stun_port = 

#Enable or disable the NAT keep-alive; 0-Disabled, 1-Enabled (default);
account.6.nat.udp_update_enable = 

#Specify the keep-alive interval (in seconds), the default value is 30.
account.6.nat.udp_update_time = 

#Enable or disable the NAT Rport; 0-Disabled (default), 1-Enabled;
account.6.nat.rport = 

#Configure the session timer (in seconds), the default value of T1, T2, T4 is 0.5, 4, 5.
account.6.advanced.timer_t1 = 
account.6.advanced.timer_t2 = 
account.6.advanced.timer_t4 = 

#Configure the timeout (in seconds) for DNS query, the value ranges from 1 to 9, the default value is 8.
account.6.dns_query_timeout =

#Assign a ringtone for account6. The system ring tones are: common (default), Ring1.wav, Ring2.wav,Ў­Ў­Ring8.wav.
#If you configure the custom ring tone (Family.wav) for the account, the value format is: Family.wav
#If you configure the system ring tone (Ring2.wav) for the account, the value format is: Ring2.wav
account.6.ringtone.ring_type = 

#Audio codecs for account6 (Y ranges from 1 to 13).
#Enable or disable the specified codec; 0-Disabled, 1-Enabled;
#account.6.codec.Y.enable = 
#The type of the specified codec.
#account.6.codec.Y.payload_type = 
#The priority of the specified codec. It's available when the codec is enabled.
#account.6.codec.Y.priority = 
#The payload of the specified codec.
#account.6.codec.Y.rtpmap = 

account.6.codec.1.enable = 1
account.6.codec.1.payload_type = PCMU
account.6.codec.1.priority = 1
account.6.codec.1.rtpmap = 0

account.6.codec.2.enable = 1
account.6.codec.2.payload_type = PCMA
account.6.codec.2.priority = 2 
account.6.codec.2.rtpmap = 8

account.6.codec.3.enable = 0 
account.6.codec.3.payload_type = G723_53
account.6.codec.3.priority =0
account.6.codec.3.rtpmap = 4

account.6.codec.4.enable = 0
account.6.codec.4.payload_type = G723_63
account.6.codec.4.priority = 0
account.6.codec.4.rtpmap = 4

account.6.codec.5.enable = 1
account.6.codec.5.payload_type = G729
account.6.codec.5.priority = 3
account.6.codec.5.rtpmap = 18

account.6.codec.6.enable = 1
account.6.codec.6.payload_type = G722
account.6.codec.6.priority = 4
account.6.codec.6.rtpmap = 9

account.6.codec.7.enable = 0
account.6.codec.7.payload_type = iBLC
account.6.codec.7.priority = 0 
account.6.codec.7.rtpmap = 102

account.6.codec.8.enable = 0
account.6.codec.8.payload_type = G726-16
account.6.codec.8.priority = 0
account.6.codec.8.rtpmap = 112

account.6.codec.9.enable = 0
account.6.codec.9.payload_type = G726-24
account.6.codec.9.priority = 0
account.6.codec.9.rtpmap = 102

account.6.codec.10.enable = 0
account.6.codec.10.payload_type = G726-32 
account.6.codec.10.priority = 0 
account.6.codec.10.rtpmap = 99

account.6.codec.11.enable = 0
account.6.codec.11.payload_type = G726-40
account.6.codec.11.priority = 0
account.6.codec.11.rtpmap = 104

account.6.codec.12.enable = 0
account.6.codec.12.payload_type = iLBC_13_3
account.6.codec.12.priority = 0 
account.6.codec.12.rtpmap = 97

account.6.codec.13.enable = 0
account.6.codec.13.payload_type = iLBC_15_2
account.6.codec.13.priority = 0 
account.6.codec.13.rtpmap = 97          

#Configure the ACD reason code of Broadsoft.(The valus of Y must be consecutive numbers.)
#account.6.bw_acd_reason_code.Y = 500(lunch time)
account.6.bw_acd_reason_code.1 =
account.6.bw_acd_reason_code.2 =

#######################################################################################
##                        Call Forward                                               ##                                       
#######################################################################################

#Enable or disable the always forward feature for account6; 0-Disabled (default), 1-Enabled;
account.6.always_fwd.enable = 

#Configure the destination number of the always forward for account6.
account.6.always_fwd.target = 

#Configure the always forward on code and off code for account6.
account.6.always_fwd.on_code = 
account.6.always_fwd.off_code =

#Enable or disable the busy forward feature for account6; 0-Disabled (default), 1-Enabled;
account.6.busy_fwd.enable = 
account.6.busy_fwd.target = 
account.6.busy_fwd.on_code = 
account.6.busy_fwd.off_code =

#Enable or disable the no answer forward feature for account6; 0-Disabled (default), 1-Enabled; 
#Configure the waiting ring times before forwarding. It ranges from 0 to 20, the default value is 2.
account.6.timeout_fwd.enable = 
account.6.timeout_fwd.target =
account.6.timeout_fwd.timeout = 
account.6.timeout_fwd.on_code =
account.6.timeout_fwd.off_code =

#Enable or disable the phone to record the last call forward type for account6; 0-Disabled (default), 1-Enabled;
account.6.last_type =

#######################################################################################
##                          DND                                                      ##                                       
#######################################################################################

#Enable or disable the DND feautre for account6; 0-Disabled (default), 1-Enabled;
account.6.dnd.enable = 

#Configure the DND on code and off code for account6.
account.6.dnd.on_code = 
account.6.dnd.off_code =

По сути дела, нам требуется указать только адрес SIP сервера (в нашем случае Asterisk) и порт (в примере использован 5061)

Адрес SIP сервера:

  account.1.sip_server_host = 10.10.10.1

Порт SIP сервера:

 account.1.sip_server_port = 5061

Транспорт; 0-UDP (default), 1-TCP, 2-TLS, 3-DNS SRV;

 account.1.transport = 0

Теперь осталось только поместить файлы на TFTP сервер, который можно разместить на том же сервере, что и Asterisk:

Настройка TFTP сервера

И добавить в настройки DHCP сервера опцию 66 (или 128).

Настройка DHCP - option 66

Телефон подключается в локальную сеть, получает IP адрес и адрес TFTP сервера по DHCP,
скачивает файл общих настроек и свой уникальный конфигурационный файл.
Теперь когда аппарат получил всю требуемую информацию, а именно:

  • адрес tftp сервера по DHCP
  • адрес SIP сервера из конфигурационного файла с tftp сервера.
  • параметры Hot Desking из общего конфигурационного файла.
  • и тд

Пользователь нажимает кнопку HDesk (Смена - в руссифицированном интерфейсе) и авторизуется под своим SIP аккаунтом.

Настройка оборудования

Asterisk: статистика очереди call центра

$
0
0

Asterisk: статистика очереди call центра

Call Center stats. Native MySQL queue_log.
Мод основанный на Asternic Call Center Stats lite.

Ключевые изменения:Вместо парсинга текстового лога очереди /var/log/asterisk/queueu_logв MySQL используется реалтаймлог очереди модуля app_queueв MySQL - Asterisk PBX.

Отчеты в Asterisk Call Center Stats:

Сортировка

  • Выбор данных по:
    • очередям
    • агентам
    • дате

Реалтайм

  • Состояние агентов в реальном времени.
  • Информация о очереди:
    • Свободные агенты.
    • В разговоре.
    • Количество вызовов в очереди.
  • Вызовы ожидающие в очереди.

asterisk queue stats realtime

Отвеченные вызовы

  • Отвеченные вызовы по очередям и агентам.
  • Среднее время ожидания для очередей и агентов.
  • Среднее время разговора для очередей и агентов.
  • Количество отвеченных вызовов по агентам.
  • Процент отвеченных вызовов для очередей и агентов.

asterisk queue stats answered calls

asterisk queue stats answered calls

Неотвеченные вызовы

  • Количество неотвеченных вызовов по очередям.
  • Средняя позиция в очереди при выходе.
  • Причина разъединения: повесили трубку или отключены по таймауту.

asterisk queue stats unanswered calls

Распределение вызовов

  • Распределение вызовов по дате, по часам и дням недели

asterisk queue stats distribution calls

asterisk queue stats distribution calls

Установка Asterisk Call Center Stats

Установка приложения статистики очередей колл-центра Asterisk PBX.

Лог очереди Asterisk в БД MySQL

Таблица очереди в БД - asterisk.queuelog

CREATE TABLE IF NOT EXISTS `queuelog` (
`time` varchar(32) DEFAULT NULL,
`callid` char(64) DEFAULT NULL,
`queuename` char(64) DEFAULT NULL,
`agent` char(64) DEFAULT NULL,
`event` char(32) DEFAULT NULL,
`data` char(64) DEFAULT NULL,
`data1` char(64) DEFAULT NULL,
`data2` char(64) DEFAULT NULL,
`data3` char(64) DEFAULT NULL,
`data4` char(64) DEFAULT NULL,
`data5` char(64) DEFAULT NULL
) ENGINE=InnoDB DEFAULT CHARSET=utf8;

в файле /etc/asterisk/logger.confвыключите лог в файл:

 queue_log_to_file = no

в файле /etc/asterisk/asterisk.conf

 [options]
 queue_adaptive_realtime = yes

в файле /etc/asterisk/extconfig.conf

 queue_log => odbc,asterisk,queuelog

где asterisk - db конфиг, например в /etc/asterisk/res_odbc_custom.conf

[asterisk]
enabled => yes
dsn => asterisk
username => dbuser
password => dbpass
pre-connect => yes

Примените конфигурацию

 asterisk -rx 'core reload'

Установка и настройка Asterisk Call Center Stats

Скачайте приложение в директорию веб сервера (в примере /var/www/html):

 wget http://asterisk-pbx.ru/downloads/cdr/asterisk-queue-stats.tar.gz

Распакуйте:

 cd /var/www/html
 tar zxvf asterisk-queue-stats-001.tar.gz
 cd queue-stats

Отредактируйте файл config.phpв соответствии в вашими данными, где

  • $dbname - БД в которой вы создали таблицу queuelog (в примере - asterisk)
  • $dbname - Пользователь ДБ
  • $dbpass - Пароль БД (см. /etc/asterisk/res_odbc.conf или /etc/asterisk/res_odbc_custom.conf)
// Credentials for MYSQL database
$dbhost = 'localhost';
$dbname = 'asterisk';
$dbuser = 'root';
$dbpass = '';

// Credentials for AMI (for the realtime tab to work)
// See /etc/asterisk/manager.conf

$manager_host   = "127.0.0.1";
$manager_user   = "admin";
$manager_secret = "amp111";

Задайте права на директорию queue-stats:

 chown -R asterisk. /var/www/html/queue-stats
 

Откройте статистику в вашем любимом веб браузере:

http://ip.add.res.s/queue-stats

Нажмите, чтобы отобразить

Нажмите, чтобы скрыть

Asternic Call Center Stats Веб интерфейс статистики очереди (queue). Парсит лог очереди (var/log/asterisk/queue_log) и выводит информацию о количестве отвеченных/неотвеченных вызовов, о среднем времени ожидания и разговора по очередям и агентам. Существует бесплатная версия с урезанным функционалом. Отличное решение для бюджетного колл-центра.

Веб-интерфейс для статистики очередей и агентов.

  • Количество принятых вызовов за указанный период времени
  • Количество отвеченных вызовов
  • Количество не отвеченных вызовов
  • Среднее время разговора

Следующие отчеты интегрированы в Asternic Call Center Stats :

Распределение: по очередям, по месяцам, по неделям, по дням, по часам.

Отвеченные вызовы: по очередям, по времени ожидания, по агентам, Причина разъединения, продолжительность вызова (в том числе средняя продолжительность по очередям и агентам).

Неотвеченные вызовы: по очередям, по времени ожидания, по агентам, Причина разъединения, продолжительность вызова (в том числе средняя продолжительность по очередям и агентам).

Текущее состояние агентов: продолжительность работы или простоя, состояние текущего вызова, текущее кол-во вызовов в очереди)

Установка Call Center Stats LITE

http://www.asternic.net/downloads/

Приложения


Страницы с тегом 'queue':

Команда Asterisk: AddQueueMember

Asterisk: PauseQueueMember

Команда Asterisk: Queue

Asterisk: QueueLog

Asterisk: RemoveQueueMember

Asterisk: UnpauseQueueMember

Asterisk queuerules.conf

Asterisk: queues.conf

function 'QUEUE_EXISTS'

function 'QUEUE_MEMBER'

function 'QUEUE_MEMBER_LIST'

Функция диалплана Asterisk: QUEUE_VARIABLES

function 'QUEUE_WAITING_COUNT'

Asterisk: queue_log в MySQL через unixODBC

FreePBX 13 Queues


Call Center на Asterisk

$
0
0

Call Center на Asterisk

Колл-Центр обработки входящих вызовов. Русскоязычный Веб-интерфейс. Статистика работы агентов и очередей в режиме реального времени. Недорогой, эффективный, легко настраиваемый call центр.

Базовые функции:

  • голосовое меню (IVR);
  • маршрутизация вызовов по времени;
  • очередь центра обработки вызовов
  • группы приема вызовов;
  • переадресации на внутренних или внешних абонентов;
  • голосовые конференции;
  • запись переговоров;
  • статистика звонков (CDR);
  • статистика работы очереди;

ПО

  • Asterisk 13.xx
  • FreePBX 13 - Русифицированный, интуитивно понятный веб-интерфейс для настройки Asterisk.
    • Asterisk CDR viewer - Детализированный отчет о звонках, прослушивание записанных разговоров
  • Call Center Stats - Статистика очередей колл-центра
  • FOP2 - Панель оператора

Работы:

  • Инсталляция и базовые наcтройки безопасности.
  • Настройка по согласованному ТЗ.
Свяжитесь с нами для получения подробной информации.
Колл Центр

Only edit this fieldset if “Функционал” is set to “Колл Центр”.

IP АТС

Only edit this fieldset if “Функционал” is set to “IP АТС”.

Кастомные решения

Only edit this fieldset if “Функционал” is set to “Все сложно”.

Колл Центр или Центр Обработки Вызовов (ЦОВ)

Asterisk прекрасно справляется с организацией как небольших колл центров, так и более мощных систем. Приложение queue обеспечивает постановку абонента в очередь по принципу FIFO (первый вошел, первый вышел). Агенты могут быть статическим (закрепленными за определенными очередями) и динамическими (подключатся к обслуживанию очереди набором сервис кода).

Реализацию функционала колл-центра в Asterisk можно условно разделить на уровень АТС, уровень приложений АТС и уровень приложений 3-й стороны (3rd party) :

Базовые функции маршрутизации и обработки вызовов реализованы непосредственно в Asterisk:

  • Организация очереди (обработка вызовов в порядке поступления).
  • Маршрутизация вызова по номеру абонента.
  • Интерактивные Голосовые Сообщения / IVR.
  • Распределение вызовов среди агентов по занятости или по порядку.

Гибкое распределение вызовов между агентами колл центра в соответствии с заданной политикой.

  • Звонят все агенты
  • Звонят наименее занятые
  • Вызываются по кругу с последнего ответившего.
  • Линейно (в порядке перечисления)
  • Случайным образом

asterisk freepbx queue strategy

Параметры времени и операторов

Так же «очередь» имеет множество опций обработки вызова и работы агентов:

  • Приветствие оператору — проигрывается агенту прежде чем, тот соединиться с позвонившим из очереди

(например: «звонок из очереди «Продажи» - при обработке одним агентом звонков из нескольких очередей).

  • Приветствие позвонившему — проигрывается один раз при попадании в очередь.
  • Музыка на удержании — проигрывается при ожидании в очереди, можно заменить на рекламную информацию.
  • Максимальное время ожидания в очереди или неограниченно.
  • Максимальная длина очереди - максимальное количество позвонивших или неограниченно.
  • Стратегия дозвона (смотри выше: тип выбора свободного агента)
  • Таймаут — время вызова свободного оператора или неограниченно
  • Повтор — время повторения вызова операторов.
  • Передышка — пауза для оператора завершившего разговор вызов.
  • Сообщение о позиции в очереди
  • Сообщение о среднем времени ожидания в очереди.
  • Вставка сообщения авто-секретаря с возможностями прямого набора номера или системы голосовых меню.

asterisk freepbx timers

Рассчитывается среднее время ожидания в очереди и ожидающий абонент информируется о номере в очереди и оставшемся времени ожидания.

Параметры ёмкости очереди

Все разговоры могут быть записаны в формате wav или gsm, с возможностью последующего поиска и скачивания записи в детализированном отчете о звонках (CDR) Детализированный отчет о звонках (CDR) храниться в базе данных MySQL. Доступ к отчетам осуществляется через веб-интерфейс и предоставляет возможности для поиска, сортировки и сравнения вызовов за разные периоды времени.

В информации о входящем вызове сохраняются

  • Дата и время звонка
  • Продолжительность вызова
  • Номер позвонившего
  • Номер оператора или агента.
  • Номер очереди
  • Ссылка на запись разговора.

Функции регистрации вызовов, информации о состоянии вызовов и агентов и запись переговоров, также реализованы средствами АТС, но требуют взаимодействия базами данных для хранения информации и последующего извлечения для создания отчетов:

  • Регистрация всех входящих и исходящих вызовов
  • Запись переговоров
  • Статус оператора (свободен, занят, пауза)

Веб-интерфейс для статистики очередей и агентов.

  • Количество принятых вызовов за указанный период времени
  • Количество отвеченных вызовов
  • Количество не отвеченных вызовов
  • Среднее время разговора

Следующие отчеты интегрированы в Asternic Call Center Stats :

Распределение: по очередям, по месяцам, по неделям, по дням, по часам.

Отвеченные вызовы: по очередям, по времени ожидания, по агентам, Причина разъединения, продолжительность вызова (в том числе средняя продолжительность по очередям и агентам).

Неотвеченные вызовы: по очередям, по времени ожидания, по агентам, Причина разъединения, продолжительность вызова (в том числе средняя продолжительность по очередям и агентам).

Текущее состояние агентов: продолжительность работы или простоя, состояние текущего вызова, текущее кол-во вызовов в очереди)

Приложения использующие информацию о вызовах сохраненную в БД и логах (CDR статистика, Статистика очереди ):

  • Приложения для создания отчетов о входящих/исходящих вызовах и поиска записей.
  • Приложения для создания отчетов о качестве работы операторов(качество обслуживания.

Приложения в режиме реального времени получающие информацию о статусе агентов, длине очередей и загруженности каналов.

  • Real Time статус операторов, очередей и каналов.

FOP2 - Flash Operator Panel

Приложения контроля интеллектуального набора. Хотя набор номеров и маршрутизацию осуществляет сам Asterisk, для интеллектуального дозвона требуется приложение которое инициировало бы вызовы по заданному списку и управляло алгоритмом набора.

  • Автоматизированный набор номера (predictive dialer)

Приложения визуализации данных о клиенте, только получают данные о номере вызывающего абонента от Asterisk и далее, сверяя поступившую информацию с собственной БД открывают существующую или предлагают агенту создать новую карточку клиента. Таким образом эти приложения являются по сути обособленными системами, использующими Asterisk только для получении информации о номере вызывающего абонента.

  • Визуализация данных о клиенте (карточка клиента) на основании номера абонента (CallerID)

Настроим Asterisk, FreeSWITCH, IP АТС.

IP АТС Asterisk и FreeSWITCH

FreePBX 13 Queues

$
0
0

FreePBX 13 Queues

Очереди для эффективной обработки множества одновременных звонков, меньшим количеством операторов Call Центра.

General Settings

Queue number

Используйте номер очереди для вызова и наведения входящих вызовов в модуле Inbound Routes.

Динамические Агенты (операторы Call центра) набирают код '*45' и номер очереди для подключения.

Queue Name

Имя очереди для идентификации в веб интерфейсе. Не используется для вызовов.

Queue Password

Можно ограничить доступ в очередь для операторов Call центра паролем. Эта опция необязательна.

Generate Device Hints

YesNo

Asterisk "Hints"

Тонкий намек, на толстые обстоятельства.

Asterisk реализует механизм SUBSCRIBE/NOTIFY для уведомления о событиях при помощи SIP сообщений. Asterisk осведомлен о состоянии различных объектов, находящихся в его ведении: телефонов, голосовой почты, очередей и др. Состояние расширения Asterisk это не тоже самое, что состояние устройства (device state). Протокол SIP рассылая сообщения SUBSCRIBE/NOTIFY информирует о состоянии устройства. Чтобы информировать о состояниях Extensions Asterisk, используется понятие «hint», которое при помощи диалплана сопоставляет устройство и расширение (extensions) Asterisk:
[hints]
exten ⇒ расширение,hint,устройство

[subscribers]
exten ⇒ 2777,hint,PJSIP/777

В примере, SIP устройство PJSIP/2777 сопоставляется с расширением 2777.

[subscribers]
exten ⇒ Таня,hint,PJSIP/2777

В примере, SIP устройство PJSIP/2666 сопоставляется с именем 'Таня'.

Если этот параметр включен, индивидуальные hints будут сгенерированы для каждого устройства, которое назначено для обслуживания очереди. Hints используются в сочетании с программируемыми BLF кнопками телефона, чтобы при входе или выходе из обслуживания очереди генерировать статус текущего состояния для BLF. Формат hints.

*45ddd*qqq

где *45 код переключения по умолчанию, ddd - номер устройства и qqqномер очереди.

Call confirm

Требовать подтверждения от оператора для приема вызова .
YesNo

Call Confirm Announce

Сообщение будет воспроизведено оператору очереди при поступлении вызова, для подтверждения приема перед ответом (если Call Confirm=yes ). По умолчанию воспроизводится стандартное сообщение подтверждения (если оператор доступен не через сервис Follow-Me) или альтернативное сообщение, если оператор доступен через Follow-Me. Установленное здесь сообщение переопределяет все остальные. Для добавления сообщений используйте раздел FreePBX 12 System Recordings.

CID name prefix

Добавляет префикс к callerid «name» поступившего вызова. Если, например, агент обслуживает несколько очередей, позволяет обозначить из какой очеререди поступил вызов.

Wait Time Prefix

YesNo

Alert Info

Добавить информацию в Alert-Info SIP Header для Snom и других телефонов поддерживающих эту функцию.

Restrict Dynamic Agents

Ограничить регистрацию динамических агентов только списком Динамических агентов. Если установлено в 'yes', то динамические агенты не указанные списке не смогут подключится к обслуживанию очереди. YesNo

Agent Restrictions

Если установлено в значение 'Call as Dialed' то очередь совершает вызов, также, как и обычный внутренний вызов в системе. Но тогда все установки 'FollowMe' и 'Call Forward' установленные для внутреннего номера будут уводить вызовы из очереди согласно этим значениям. Это поведение является стандартным для последних версий FreePBX. Если установлено в значение 'No Follow-Me or Call Forward' то вызовы агентов будут ограничены только внутренним номером. Установки 'FollowMe' и 'Call Forward' будут игнорироваться. Если установлено в значение 'Extensions Only' то вызовы из очереди будут происходить так же, как при значениях 'No Follow-Me or Call Forward'. Любые другие несуществующие номера, указанные здесь как агенты, будут игнорироваться. Нет проверки на логические ошибки, если указан номер в качестве статического или динамического агента. Вызов из очереди будет просто блокироваться, если такое будет происходить. Для динамических агентов смотрите 'Фильтр регулярных выражений для операторов' для создания разрешающих шаблонов.

Call as DialedNo Follow-Me or Call ForwardExtensions Only

Ring Strategy

  • ringall: вызывать всех агентов одновременно, пока кто-нибудь не ответит.
  • leastrecent: вызывать агента, который меньше всех вызывался в последнее время.
  • fewestcalls: вызвать агента с наименьшим количеством отвеченных вызовов.
  • random: случайный выбор агента
  • rrmemory: по кругу, начиная со следующего после ответившего последним.
  • rrordered: то же, что и rrmemory, только в порядке заданном в конфиге.
  • linear: взывать агентов в порядке перечисления, для динамических, в по времени регистрации.
  • wrandom: случайно, используя пенальти.

Autofill

Если авто-заполнение включено, звонок с любой позиции в очереди, пытается вызвать свободных агентов в зависимости от стратегии вызова.
Если выключено, только вызов находящийся на первом месте в очереди подается агентам, пока кто-то из них не ответит, остальные же вызовы ожидают первой позиции в очереди и только тогда подаются на свободных операторов.
YesNo

Очевидно, что включение данной опции, позволит сократить время ожидания в очереди, за счет периода, с момента начала посылки первого вызова операторам и ответа на него.
В больших очередях, с множеством вызовов, это может быть очень существенно.

Skip Busy Agents

  • No: Вызывать даже если телефон оператора занят.
  • Yes: Пропускать агента, если телефон возвращает 'Busy'. Много-канальные телефоны и аппараты с включенной опцией 'Call Waitng' также будут пропущены. При стратегиях вызова hunt-* очередь попытается вызвать следующего агента.
  • Yes + (ringinuse=no): Дополнительно к описанному выше поведению, устанавливает опцию очереди ringinuse=no. При этом любой пользователь очереди находящийся в состоянии вызова или разговора имеющий статус 'inuse' пропускается.
  • Queue calls only (ringinuse=no): Принимаются во внимание состояния только для вызовов принятых в очереди. Если оператор совершает исходящий вызов, он будет считаться доступным. Однако, если оператор принял вызов из очереди и переадресовал его дальше, он будет считаться занятым, пока переадресованный вызов не будет завершен.

NoYesYes + (ringinuse=no)Queue calls only (ringinuse=no)

Queue Weight

Чем меньше число, тем выше приоритет очереди. Для агентов обслуживающих более одной очереди, это означает что вызов из такой очереди имеет больший приоритет. По умолчанию - 0, то есть не использовать вес очереди.

Music on Hold Class

Музыка на Удержании проигрывается ожидающему абоненту, пока он ожидает ответа оператора. Унаследованный (тот же, что на входящем маршруте), По Умолчанию (в системе) и Нет, выбор дефолтных значений. Если у вас настроены пользовательские классы MOH, они тоже появятся в списке.

  • MoH Only - воспроизводить музыку пока агент не ответит.
  • Agent Ringing - Музыка играет, пока вызов не подается на телефон агента, в этот момент абонент слышит гудки. Если агент не отвечает, снова проигрывается музыка.
  • Ring Only - всегда гудки.

MoH OnlyAgent RingingRing Only

Join Announcement

Объявление проигрывается перед попаданием абонента в очередь. Если есть свободные агенты, объявление может быть пропущено, если выбрать опцию 'When No Free Agents', т.е. проигрывать, только если нет свободных агентов. Записи объявлений можно добавить в модуле System Recordings.

AlwaysWhen No Free AgentsWhen No Ready Agents

Call Recording

Записывать входящие вызовы. Если выбрано 'never' запись по запросу (on demand) недоступна.

ForceYesDon't CareNoNever

  • Forceи Neverимеют приоритет над "Yes" или "No".
  • Yesи Noимеют равный приоритет.
    • Если несколько Yesили Noвстречаются на пути вызова, самая первая установка имеет приоритет над последующими.
    • Последующие Yesили Noне переопределяют заданные ранее "Yes" или "No".
  • Forceи Neverвсегда переопределяют установки заданные ранее.
    • Forceи Neverвсегда переопределяют друг друга. Т.е. если сначала было "Force", а затем "Never" вызов не будет записан.
    • Forceили Neverпереопределяют "Yes" или "No".
    • Yesи Noне переопределяют "Force" или "Never".
  • Don't Careне затрагивает заданные ранее установки.

см. также Extensions - Recording Options

Mark calls answered elsewhere

Помечать отклоненные вызовы, как отвеченные. (Чтобы на телефоне не было сообщений о пропущенных вызовах)

YesNo

Fail Over Destination

Назначение по неответу и истечению таймаута очереди, если задано.

Timing & Agent Options

Параметры времени и операторов

Max Wait Time

Максимальное время нахождения в очереди. По его истечению, будет выполнен пункт Fail Over Destinationпо умолчанию неограниченно.

Max Wait Time Mode

Параметры таймаута вызова в очереди. Определяет отношения абсолютного таймаута очереди и таймаута оператора.
Когда 'Max Wait Time' истекло, что делать:

  • В режиме 'Strict' (строгий) - когда истек интервал 'Max Wait Time', вызов будет сразу направлен в Fail Over Destination.
  • В режиме 'Loose' (мягкий) - текущий оператор будет вызываться, пока не истечет таймаут вызова оператора в очереди, после этого вызов покинет очередь.

Читайте подробнее о таймаутах в очереди Queues.conf - Timeout

StrictLoose

Agent Timeout

Время в секундах, в течение которого вызов будет поступать на телефон оператора, после которого наступит таймаут Retry, а затем вызов снова будет подан операторам в зависимости от заданной стратегииочереди.

Agent Timeout Restart

Этот параметр устанавливает время повторного вызова оператора, который оказался принять звонок из очереди. Это может быть полезно, если операторы очереди имеют возможность отказа приема вызова из очереди.

ДаНет

Retry

Через сколько секунд будет повторена попытка позвонить снова на все телефоны. Выбирая вариант «Без повторений» звонок будет направлен из очереди по назначению при неответе. Звонок перенаправится туда после тайм-аута у первого оператора, переход на второго оператора не произойдёт.

Wrap-Up-Time

Указывает сколько секунд агент останется свободным после окончания очередного вызова из очереди. Если используете Asterisk 1.6 и выше, Вы также можете установить параметр 'Применить передышку для всех очередей' на странице 'Дополнительные настройки' и операторы, работающие в нескольких очередях будут иметь перерыв после вызова в любой очереди.

Member Delay

Данный параметр позволяет установить задержку в секундах между ответом оператора и соединением с вызывающим абонентом (или оповещением).

Agent Announcement

Оповещение, воспроизводимое оператору, перед соединением с вызывающим абонентом

Для добавления оповещения используйте раздел FreePBX 12 System Recordings.

Report Hold Time

Если хотите сообщать позвонившему время ожидания прежде чем его соединят с оператором - установите Да.

ДаНет

Auto Pause

Поставить агента на паузу в данной очереди (или во всех очередях обслуживаемых оператором), если тот не ответил на вызов . Уточните данное поведение при помощи других настроек: Auto Pause Delay, Auto Pause Busy/Unavailable.

  • Yes in this queue only - только в данной очереди
  • Yes in all queues - во всех очередях
  • Нет - не использовать автопаузу

Yes in this queue onlyYes in all queuesНет

Auto Pause on Busy

Поставить агента на паузу в данной очереди если он занят.

ДаНет

Auto Pause on Unavailable

Поставить агента на паузу в данной очереди если он недоступен.

ДаНет

Auto Pause Delay

Отложить постановку на паузу на заданное время. Если за это время агент ответит на вызов, пауза отменяется, если нет, то применяется. По умолчанию 0

Capacity Options

Параметры емкости очередиfreepbx13-queue-capacity-options

Max Callers

Максимально число ожидающих в очереди (0 - неограниченно)

Join Empty

Если установлено Да, новый вызов поступает в очередь независимо, есть в ней пользователи способные принять вызов, если нет - сразу используется Fail Over Destination.
Возможные значения:

  • Yes - Вызов всегда поступает в очередь.
  • Strict - Такой же режим, но более строгий. Если нет операторов, которые могли бы обработать вызов, он не помещается в очередь. Если операторы имеются в очереди, то вызов поступает в очередь, даже если операторы заняты и не могут принять вызов непосредственно.
  • Ultra strict - В этом режиме звонок будет помещен в очередь, в случае есть непосредственно доступные операторы. Операторы, занятые другими вызовами, считаются недоступными. Если доступных операторов нет, звонок в очередь не поступает.
  • NoВызовы не будут поступать в очередь если все операторы приостановлены, находятся в недоступном режиме, или имеют доступность (penalty value) меньше, чем QUEUE_MAX_PENALTY. На текущий момент не устанавливается в номерном плане FreePBX. Подробнее о пенальтив Asterisk
  • LooseТоже самое, что и 'No', кроме наличия приостановленных операторов, которые могли бы стать активными.

YesStrictUltra StrictNoLoose

Leave Empty

Определяет, что вызов должен быть преждевременно удален из очереди, если не осталось свободных операторов, способных обработать звонок Параметр может принимать значения:

  • YesВызовы будут удаляться очереди если все операторы приостановлены, находятся в недоступном режиме, или имеют доступность (penalty value) меньше, чем QUEUE_MAX_PENALTY. На текущий момент не устанавливается в номерном плане FreePBX.
  • StrictТакой же режим, как 'Да', но более ограниченный. Если нет операторов, которые могли бы обработать вызов, он удаляется из очереди. Если операторы имеются в очереди, то вызов поступает в очередь, даже если операторы заняты и не могут принять вызов непосредственно.
  • Ultra StrictТакой же режим, как и 'Strict', но очередь должна иметь операторов, способных сразу обработать вызов. Операторы, занятые обработкой других вызовов считаются как недоступные.
  • LooseТакой же режим, как 'Yes', но вызовы будут оставаться в очереди, даже если все операторы приостановлены, но могут стать активными.
  • NoНикогда не удалять вызов из очереди до истечения максимального времени ожидания.

YesStrictUltra StrictNoloose

Penalty Members Limit

Если очередь обслуживают выбранное кол-во или меньше операторов, не использовать пенальти
Подробнее о пенальти: queues.conf

Caller Announcements

freepbx13-queues-caller-announcement

Frequency

Как часто объявляется позиция в очереди и приблизительное время ответа агента, Установите 0 для полного отключения этой функции.

Announce Position

Установите «yes» для объявления позиции.

YesNo

Announce Hold Time

Анонсировать время ожидания в очереди. Не объявляется если осталось менее минуты.

YesNoOnce

Periodic Announcements

Объявление в разрыв. Назначается в IVR

IVR Break Out Menu

Перенаправить вызов в заданный IVRс последующим возвращением в очередь, если абонент ничего не выбрал.

Repeat Frequency

Частота повторения IVR.

Advanced options

Service Level

Параметр статистики очереди. Например, если задано 20 секунд, очередь будет подсчитывать процент отвеченных за это время вызовов: SL: 45.8% within 20s.

Фильтр регулярных выражений для операторов

Agent Regex Filter Задайте регулярные выражения. Все что попадает в фильтр агенты смогут набирать, остальное нет.

Reset Queue Stats

FreePBX Custom Destinations

$
0
0

FreePBX Custom Destinations

Используйте собственные контексты для наведения вызовов, в IVR и т.д.

freepbx custom destinations

Custom Destinationsспециальное назначение - <context name>,<extensions>,<prioritet>

В нашем примере, мы хотим разрешить набирать внутренние номера удаленной АТС, подключенной через поток Е1 к Asterisk из стандартного IVR во FreePBX,:

freepbx custom destinations

 nec-6xx,${EXTEN},1

где - nec-6xxимя контекста созданного в /etc/asterisk/extensions_custom.conf

${EXTEN} - стандартная переменная Asterisk, транслирующая набранный номер.

1 - Приоритет (порядковый номер действия) с которого начнется выполнения правил контекста.

В файле /etc/asterisk/extensions_custom.confнапишем контекст:

  [nec-6xx]
  exten => _6XX,1,Dial(DAHDI/g2/${EXTEN},180,tr)
  exten => i,1,Hangup

asterisk -rx "dialplan reload"

Когда контекст создан и диал план применен в Asterisk, перейдем в модуль, нужный нам для использования Custom Destinations.

В нашем примере это IVR.

Applications > IVR > Add new IVRили <ivr name>, если он уже создан.

freepbx ivr for custom destinations

И добавим IVR Enrties:

Ext - _6XX - Шаблон разрешающий набирать нужные нам номера от 600 до 699.

Destinations - Выберем из списка доступных модулей Custom Destinations.

И наконец, сохраним созданный нами Custom Destinationsпод именем 6ХХ Dial2:

submit

Apply Config

FreePBX

Troubleshooting

$
0
0

Troubleshooting

asterisk-pbx.ru doodle

cc1: error: unrecognized command line option "-Wunused-but-set-variable"

$
0
0

cc1: error: unrecognized command line option "-Wunused-but-set-variable"

При компиляции SpanDSP 0.0.6на Centos 5возникает ошибка:

 cc1: error: unrecognized command line option "-Wunused-but-set-variable"

Возможная причина устаревшие версии autoconfи automake.

Решение

   cd /usr/src
   
   yum install libtool
 
    wget ftp://ftp.pbone.net/mirror/ftp5.gwdg.de/pub/opensuse/repositories/home:/tpokorra:/openpetra/CentOS_CentOS-5/i386/autoconf-2.69-3.2.i386.rpm

   rpm -Uhv autoconf-2.69-3.2.i386.rpm
   
    wget ftp://ftp.pbone.net/mirror/ftp5.gwdg.de/pub/opensuse/repositories/home:/tpokorra:/openpetra/CentOS_CentOS-5/x86_64/automake-1.13-10.1.x86_64.rpm
    
    rpm -Uhv automake-1.13-10.1.x86_64.rpm
    
   wget http://soft-switch.org/downloads/spandsp/spandsp-0.0.6.tar.gz
   
   tar zxvf spandsp-0.0.6.tar.gz
   
   cd spandsp-0.0.6
   
   autoreconf --force --install
   
   ./configure
   
   make 
   
   make install
   
для 64 битной системы:
   
   ln -s /usr/local/lib/libspandsp.so.2 /usr/lib64/libspandsp.so.2
   

Проверим:

asterisk -rx "core restart now"

CLI> module show like fax
Module                         Description                              Use Count  Status
res_fax.so                     Generic FAX Applications                 1          Running
res_fax_spandsp.so             Spandsp G.711 and T.38 FAX Technologies  0          Running
2 modules loaded

Troubleshooting

Unable to connect to remote asterisk (does /var/run/asterisk/asterisk.ctl exist?)

$
0
0

Unable to connect to remote asterisk (does /var/run/asterisk/asterisk.ctl exist?)

Множество различных проблем может приводить к ошибке подключения к консоли Asterisk.

Возможное решение: reboot :)

Troubleshooting

SIP ALG disable

$
0
0

SIP ALG disable

«SIP ALG (SIP Application Level Gateway) – это шлюз прикладного уровня, который позволяет голосовому VoIP-трафику (RTP) беспрепятственно проходить через устройство с функцией NAT (Network Address Translation). Если в маршрутизаторе присутствует и активирован SIP ALG, то не нужно дополнительно настраивать проброс портов для этого типа трафика».

Принцип работы SIP ALG в клиентских устройствах ZyXEL

Но это только одна точка зрения создателей и производителей встраивающих это в свои устройства.

На деле SIP ALG может создавать серьезные проблемы для прохождения RTP трафика, при использовании Asterisk. Это касается не только Zyxel, но всехустройств с SIP ALG.

Решение

Отключаем SIP ALG и делаем старый, добрый проброс портов.

ZyXEL Keenetic Giga II


crontab freepbx error

$
0
0

crontab freepbx error

Unable to continue. Cron line added didn't remain in crontab on final check in /var/www/html/admin/libraries/BMO/Cron.class.php on line 103 решение:

Закомментировать строку 103 в /var/www/html/admin/libraries/BMO/Cron.class.php

// It didn't stick. WTF? Put our original one back.
$this->installCrontab($backup);
// throw new \Exception("Cron line added didn't remain in crontab on final check");
 } else {
// It was already there.

Asterisk Manager Interface (AMI)

$
0
0

Asterisk Manager Interface (AMI)

Asterisk Call manager (AMI) versions

Asterisk AMI
Asterisk 1.8 Asterisk Call Manager /1.1
Asterisk 11 Asterisk Call Manager /1.3
Asterisk 12 Asterisk Call Manager /2.5
Asterisk 13 Asterisk Call Manager /2.8

/etc/asterisk/manager.conf

[admin]
secret = amp111
deny = 0.0.0.0/0.0.0.0
permit = 127.0.0.1/255.255.255.255
read = all,system,call,log,verbose,command,agent,user,config
write = all,system,call,log,verbose,command,agent,user,config

telnet

$ telnet 127.0.0.1 5038
Trying 127.0.0.1...
Connected to localhost.
Escape character is '^]'.
Asterisk Call Manager/1.0

Ctrl-V

Action: Login
ActionID: 1
Username: admin
Secret: amp111

Для ввода команды требуется двойное нажатие ENTER

Action: Login
ActionID: 1
Username: manager1
Secret: manager111
Action: QueueAdd
Queue: qs01
Interface: Local/6666@from-qs01
Penalty: 1
Paused: true
Action: QueueRemove
Queue: qs01
Interface: Local/6666@from-qs01

Asterisk 1.8 + Dongle

asterisk*CLI> manager show commands
  Action           Privilege        Synopsis
  ------           ---------        --------
  WaitEvent        <none>           Wait for an event to occur.
  QueueReset       <none>           Reset queue statistics.
  QueueReload      <none>           Reload a queue, queues, or any sub-section of a queue o
  QueueRule        <none>           Queue Rules.
  QueuePenalty     agent,all        Set the penalty for a queue member.
  QueueLog         agent,all        Adds custom entry in queue_log.
  QueuePause       agent,all        Makes a queue member temporarily unavailable.
  QueueRemove      agent,all        Remove interface from queue.
  QueueAdd         agent,all        Add interface to queue.
  QueueSummary     <none>           Show queue summary.
  QueueStatus      <none>           Show queue status.
  Queues           <none>           Queues.
  MuteAudio        system,all       Mute an audio stream
  VoicemailUsersL  call,reporting,  List All Voicemail User Information.
  DongleReload     system,config,a  Reload a module configuration.
  DongleRemove     system,config,a  Remove a dongle.
  DongleStart      system,config,a  Start a dongle.
  DongleStop       system,config,a  Stop a dongle.
  DongleRestart    system,config,a  Restart a dongle.
  DongleReset      system,config,a  Reset a dongle.
  DongleSetCCWA    config,all       Enable/Disabled Call-Waiting on a dongle.
  DongleSendPDU    call,all         Send a PDU of message.
  DongleSendSMS    call,all         Send a SMS message.
  DongleSendUSSD   call,all         Send a ussd command to the dongle.
  DongleShowDevic  system,reportin  List Dongle devices
  MixMonitorMute   <none>           Mute / unMute a Mixmonitor recording.
  PlayDTMF         call,all         Play DTMF signal on a specific channel.
  MeetmeList       reporting,all    List participants in a conference.
  MeetmeUnmute     call,all         Unmute a Meetme user.
  MeetmeMute       call,all         Mute a Meetme user.
  DAHDIRestart     <none>           Fully Restart DAHDI channels (terminates calls).
  DAHDIShowChanne  <none>           Show status of DAHDI channels.
  DAHDIDNDoff      <none>           Toggle DAHDI channel Do Not Disturb status OFF.
  DAHDIDNDon       <none>           Toggle DAHDI channel Do Not Disturb status ON.
  DAHDIDialOffhoo  <none>           Dial over DAHDI channel while offhook.
  DAHDIHangup      <none>           Hangup DAHDI Channel.
  DAHDITransfer    <none>           Transfer DAHDI Channel.
  IAXregistry      system,reportin  Show IAX registrations.
  IAXnetstats      system,reportin  Show IAX Netstats.
  IAXpeerlist      system,reportin  List IAX Peers.
  IAXpeers         system,reportin  List IAX peers.
  SIPnotify        system,all       Send a SIP notify.
  SIPshowregistry  system,reportin  Show SIP registrations (text format).
  SIPqualifypeer   system,reportin  Qualify SIP peers.
  SIPshowpeer      system,reportin  show SIP peer (text format).
  SIPpeers         system,reportin  List SIP peers (text format).
  AGI              agi,all          Add an AGI command to execute by Async AGI.
  UnpauseMonitor   call,all         Unpause monitoring of a channel.
  PauseMonitor     call,all         Pause monitoring of a channel.
  ChangeMonitor    call,all         Change monitoring filename of a channel.
  StopMonitor      call,all         Stop monitoring a channel.
  Monitor          call,all         Monitor a channel.
  DBDelTree        system,all       Delete DB Tree.
  DBDel            system,all       Delete DB entry.
  DBPut            system,all       Put DB entry.
  DBGet            system,reportin  Get DB Entry.
  Bridge           call,all         Bridge two channels already in the PBX.
  Park             call,all         Park a channel.
  ParkedCalls      <none>           List parked calls.
  ShowDialPlan     config,reportin  Show dialplan contexts and extensions
  AOCMessage       aoc,all          Generate an Advice of Charge message on a channel.
  ModuleCheck      system,all       Check if module is loaded.
  ModuleLoad       system,all       Module management.
  CoreShowChannel  system,reportin  List currently active channels.
  Reload           system,config,a  Send a reload event.
  CoreStatus       system,reportin  Show PBX core status variables.
  CoreSettings     system,reportin  Show PBX core settings (version etc).
  UserEvent        user,all         Send an arbitrary event.
  UpdateConfig     config,all       Update basic configuration.
  SendText         call,all         Send text message to channel.
  ListCommands     <none>           List available manager commands.
  MailboxCount     call,reporting,  Check Mailbox Message Count.
  MailboxStatus    call,reporting,  Check mailbox.
  AbsoluteTimeout  system,call,all  Set absolute timeout.
  ExtensionState   call,reporting,  Check Extension Status.
  Command          command,all      Execute Asterisk CLI Command.
  Originate        originate,all    Originate a call.
  Atxfer           call,all         Attended transfer.
  Redirect         call,all         Redirect (transfer) a call.
  ListCategories   config,all       List categories in configuration file.
  CreateConfig     config,all       Creates an empty file in the configuration directory.
  Status           system,call,rep  List channel status.
  GetConfigJSON    system,config,a  Retrieve configuration (JSON format).
  GetConfig        system,config,a  Retrieve configuration.
  Getvar           call,reporting,  Gets a channel variable or function value.
  Setvar           call,all         Sets a channel variable or function value.
  Ping             <none>           Keepalive command.
  Hangup           system,call,all  Hangup channel.
  Challenge        <none>           Generate Challenge for MD5 Auth.
  Login            <none>           Login Manager.
  Logoff           <none>           Logoff Manager.
  Events           <none>           Control Event Flow.
  LocalOptimizeAw  system,call,all  Optimize away a local channel when possible.
  DataGet          <none>           Retrieve the data api tree.
asterisk*CLI>

Originate

Asterisk 12

Connected to Asterisk 12.5.0 currently running on localhost (pid = 1300)
localhost*CLI> manager show commands
  Action                       Synopsis
  ------                       --------
  WaitEvent                    Wait for an event to occur.
  QueueReset                   Reset queue statistics.
  QueueReload                  Reload a queue, queues, or any sub-section of a q
  QueueRule                    Queue Rules.
  QueueMemberRingInUse         Set the ringinuse value for a queue member.
  QueuePenalty                 Set the penalty for a queue member.
  QueueLog                     Adds custom entry in queue_log.
  QueuePause                   Makes a queue member temporarily unavailable.
  QueueRemove                  Remove interface from queue.
  QueueAdd                     Add interface to queue.
  QueueSummary                 Show queue summary.
  QueueStatus                  Show queue status.
  Queues                       Queues.
  PlayDTMF                     Play DTMF signal on a specific channel.
  VoicemailRefresh             Tell Asterisk to poll mailboxes for a change
  VoicemailUsersList           List All Voicemail User Information.
  MuteAudio                    Mute an audio stream.
  ControlPlayback              Control the playback of a file being played to a
  StopMixMonitor               Stop recording a call through MixMonitor, and fre
  MixMonitor                   Record a call and mix the audio during the record
  MixMonitorMute               Mute / unMute a Mixmonitor recording.
  ConfbridgeSetSingleVideoSrc  Set a conference user as the single video source
  ConfbridgeStopRecord         Stop recording a Confbridge conference.
  ConfbridgeStartRecord        Start recording a Confbridge conference.
  ConfbridgeLock               Lock a Confbridge conference.
  ConfbridgeUnlock             Unlock a Confbridge conference.
  ConfbridgeKick               Kick a Confbridge user.
  ConfbridgeUnmute             Unmute a Confbridge user.
  ConfbridgeMute               Mute a Confbridge user.
  ConfbridgeListRooms          List active conferences.
  ConfbridgeList               List participants in a conference.
  IAXregistry                  Show IAX registrations.
  IAXnetstats                  Show IAX Netstats.
  IAXpeerlist                  List IAX Peers.
  IAXpeers                     List IAX peers.
  PRIShowSpans                 Show status of PRI spans.
  DAHDIRestart                 Fully Restart DAHDI channels (terminates calls).
  DAHDIShowChannels            Show status of DAHDI channels.
  DAHDIDNDoff                  Toggle DAHDI channel Do Not Disturb status OFF.
  DAHDIDNDon                   Toggle DAHDI channel Do Not Disturb status ON.
  DAHDIDialOffhook             Dial over DAHDI channel while offhook.
  DAHDIHangup                  Hangup DAHDI Channel.
  DAHDITransfer                Transfer DAHDI Channel.
  SIPpeerstatus                Show the status of one or all of the sip peers.
  SIPnotify                    Send a SIP notify.
  SIPshowregistry              Show SIP registrations (text format).
  SIPqualifypeer               Qualify SIP peers.
  SIPshowpeer                  show SIP peer (text format).
  SIPpeers                     List SIP peers (text format).
  Park                         Park a channel.
  ParkedCalls                  List parked calls.
  Parkinglots                  Get a list of parking lots
  AGI                          Add an AGI command to execute by Async AGI.
  UnpauseMonitor               Unpause monitoring of a channel.
  PauseMonitor                 Pause monitoring of a channel.
  ChangeMonitor                Change monitoring filename of a channel.
  StopMonitor                  Stop monitoring a channel.
  Monitor                      Monitor a channel.
  BridgeKick                   Kick a channel from a bridge.
  BridgeDestroy                Destroy a bridge.
  BridgeInfo                   Get information about a bridge.
  BridgeList                   Get a list of bridges in the system.
  BlindTransfer                Blind transfer channel(s) to the given destinatio
  Filter                       Dynamically add filters for the current manager s
  AOCMessage                   Generate an Advice of Charge message on a channel
  ModuleCheck                  Check if module is loaded.
  ModuleLoad                   Module management.
  CoreShowChannels             List currently active channels.
  Reload                       Send a reload event.
  CoreStatus                   Show PBX core status variables.
  CoreSettings                 Show PBX core settings (version etc).
  UserEvent                    Send an arbitrary event.
  UpdateConfig                 Update basic configuration.
  SendText                     Send text message to channel.
  ListCommands                 List available manager commands.
  MailboxCount                 Check Mailbox Message Count.
  MailboxStatus                Check mailbox.
  AbsoluteTimeout              Set absolute timeout.
  PresenceState                Check Presence State
  ExtensionState               Check Extension Status.
  Command                      Execute Asterisk CLI Command.
  Originate                    Originate a call.
  Atxfer                       Attended transfer.
  Redirect                     Redirect (transfer) a call.
  ListCategories               List categories in configuration file.
  CreateConfig                 Creates an empty file in the configuration direct
  Status                       List channel status.
  GetConfigJSON                Retrieve configuration (JSON format).
  GetConfig                    Retrieve configuration.
  Getvar                       Gets a channel variable or function value.
  Setvar                       Sets a channel variable or function value.
  ShowDialPlan                 Show dialplan contexts and extensions
  Hangup                       Hangup channel.
  Challenge                    Generate Challenge for MD5 Auth.
  Login                        Login Manager.
  Logoff                       Logoff Manager.
  Events                       Control Event Flow.
  Ping                         Keepalive command.
  LocalOptimizeAway            Optimize away a local channel when possible.
  MessageSend                  Send an out of call message to an endpoint.
  Bridge                       Bridge two channels already in the PBX.
  BridgeTechnologyUnsuspend    Unsuspend a bridging technology.
  BridgeTechnologySuspend      Suspend a bridging technology.
  BridgeTechnologyList         List available bridging technologies and their st
  DataGet                      Retrieve the data api tree.
  DBPut                        Put DB entry.
  DBDelTree                    Delete DB Tree.
  DBDel                        Delete DB entry.
  DBGet                        Get DB Entry.
localhost*CLI>

DBGet asterisk 13

asterisk*CLI> manager show commands
  Action                          Synopsis
  ------                          --------
  WaitEvent                       Wait for an event to occur.
  PresenceStateList               List the current known presence states.
  QueueReset                      Reset queue statistics.
  QueueReload                     Reload a queue, queues, or any sub-section of
  QueueRule                       Queue Rules.
  QueueMemberRingInUse            Set the ringinuse value for a queue member.
  QueuePenalty                    Set the penalty for a queue member.
  QueueLog                        Adds custom entry in queue_log.
  QueuePause                      Makes a queue member temporarily unavailable.
  QueueRemove                     Remove interface from queue.
  QueueAdd                        Add interface to queue.
  QueueSummary                    Show queue summary.
  QueueStatus                     Show queue status.
  Queues                          Queues.
  DeviceStateList                 List the current known device states.
  PlayDTMF                        Play DTMF signal on a specific channel.
  StopMixMonitor                  Stop recording a call through MixMonitor, and
  MixMonitor                      Record a call and mix the audio during the rec
  MixMonitorMute                  Mute / unMute a Mixmonitor recording.
  VoicemailRefresh                Tell Asterisk to poll mailboxes for a change
  VoicemailUsersList              List All Voicemail User Information.
  MuteAudio                       Mute an audio stream.
  ControlPlayback                 Control the playback of a file being played to
  ConfbridgeSetSingleVideoSrc     Set a conference user as the single video sour
  ConfbridgeStopRecord            Stop recording a Confbridge conference.
  ConfbridgeStartRecord           Start recording a Confbridge conference.
  ConfbridgeLock                  Lock a Confbridge conference.
  ConfbridgeUnlock                Unlock a Confbridge conference.
  ConfbridgeKick                  Kick a Confbridge user.
  ConfbridgeUnmute                Unmute a Confbridge user.
  ConfbridgeMute                  Mute a Confbridge user.
  ConfbridgeListRooms             List active conferences.
  ConfbridgeList                  List participants in a conference.
  PJSIPShowRegistrationsInbound   Lists PJSIP inbound registrations.
  PJSIPShowRegistrationsOutbound  Lists PJSIP outbound registrations.
  PJSIPRegister                   Register an outbound registration.
  PJSIPUnregister                 Unregister an outbound registration.
  PJSIPNotify                     Send a NOTIFY to either an endpoint or an arbi
  IAXregistry                     Show IAX registrations.
  IAXnetstats                     Show IAX Netstats.
  IAXpeerlist                     List IAX Peers.
  IAXpeers                        List IAX peers.
  SIPpeerstatus                   Show the status of one or all of the sip peers
  SIPnotify                       Send a SIP notify.
  SIPshowregistry                 Show SIP registrations (text format).
  SIPqualifypeer                  Qualify SIP peers.
  SIPshowpeer                     show SIP peer (text format).
  SIPpeers                        List SIP peers (text format).
  PRIDebugFileUnset               Disables file output for PRI debug messages
  PRIDebugFileSet                 Set the file used for PRI debug message output
  PRIDebugSet                     Set PRI debug levels for a span
  PRIShowSpans                    Show status of PRI spans.
  DAHDIRestart                    Fully Restart DAHDI channels (terminates calls
  DAHDIShowChannels               Show status of DAHDI channels.
  DAHDIDNDoff                     Toggle DAHDI channel Do Not Disturb status OFF
  DAHDIDNDon                      Toggle DAHDI channel Do Not Disturb status ON.
  DAHDIDialOffhook                Dial over DAHDI channel while offhook.
  DAHDIHangup                     Hangup DAHDI Channel.
  DAHDITransfer                   Transfer DAHDI Channel.
  UnpauseMonitor                  Unpause monitoring of a channel.
  PauseMonitor                    Pause monitoring of a channel.
  ChangeMonitor                   Change monitoring filename of a channel.
  StopMonitor                     Stop monitoring a channel.
  Monitor                         Monitor a channel.
  Park                            Park a channel.
  ParkedCalls                     List parked calls.
  Parkinglots                     Get a list of parking lots
  FAXStats                        Responds with fax statistics
  FAXSession                      Responds with a detailed description of a sing
  FAXSessions                     Lists active FAX sessions
  AGI                             Add an AGI command to execute by Async AGI.
  PJSIPShowResourceLists          Displays settings for configured resource list
  PJSIPShowSubscriptionsOutbound  Lists subscriptions.
  PJSIPShowSubscriptionsInbound   Lists subscriptions.
  PJSIPQualify                    Qualify a chan_pjsip endpoint.
  PJSIPShowEndpoint               Detail listing of an endpoint and its objects.
  PJSIPShowEndpoints              Lists PJSIP endpoints.
  BridgeKick                      Kick a channel from a bridge.
  BridgeDestroy                   Destroy a bridge.
  BridgeInfo                      Get information about a bridge.
  BridgeList                      Get a list of bridges in the system.
  BlindTransfer                   Blind transfer channel(s) to the given destina
  Filter                          Dynamically add filters for the current manage
  AOCMessage                      Generate an Advice of Charge message on a chan
  ModuleCheck                     Check if module is loaded.
  ModuleLoad                      Module management.
  CoreShowChannels                List currently active channels.
  LoggerRotate                    Reload and rotate the Asterisk logger.
  Reload                          Send a reload event.
  CoreStatus                      Show PBX core status variables.
  CoreSettings                    Show PBX core settings (version etc).
  UserEvent                       Send an arbitrary event.
  UpdateConfig                    Update basic configuration.
  SendText                        Send text message to channel.
  ListCommands                    List available manager commands.
  MailboxCount                    Check Mailbox Message Count.
  MailboxStatus                   Check mailbox.
  AbsoluteTimeout                 Set absolute timeout.
  PresenceState                   Check Presence State
  ExtensionState                  Check Extension Status.
  Command                         Execute Asterisk CLI Command.
  Originate                       Originate a call.
  Atxfer                          Attended transfer.
  Redirect                        Redirect (transfer) a call.
  ListCategories                  List categories in configuration file.
  CreateConfig                    Creates an empty file in the configuration dir
  Status                          List channel status.
  GetConfigJSON                   Retrieve configuration (JSON format).
  GetConfig                       Retrieve configuration.
  Getvar                          Gets a channel variable or function value.
  Setvar                          Sets a channel variable or function value.
  ShowDialPlan                    Show dialplan contexts and extensions
  Hangup                          Hangup channel.
  Challenge                       Generate Challenge for MD5 Auth.
  Login                           Login Manager.
  Logoff                          Logoff Manager.
  Events                          Control Event Flow.
  Ping                            Keepalive command.
  LocalOptimizeAway               Optimize away a local channel when possible.
  ExtensionStateList              List the current known extension states.
  MessageSend                     Send an out of call message to an endpoint.
  Bridge                          Bridge two channels already in the PBX.
  DialplanExtensionRemove         Remove an extension from the dialplan
  DialplanExtensionAdd            Add an extension to the dialplan
  BridgeTechnologyUnsuspend       Unsuspend a bridging technology.
  BridgeTechnologySuspend         Suspend a bridging technology.
  BridgeTechnologyList            List available bridging technologies and their
  DataGet                         Retrieve the data api tree.
  DBPut                           Put DB entry.
  DBDelTree                       Delete DB Tree.
  DBDel                           Delete DB entry.
  DBGet                           Get DB Entry.

модель событий AMI

модель событий AMI

НеправильноПравильно
Event: Newchannel
Privilege: call,all
Channel: SIP/1001-00000002
ChannelState: 0
ChannelStateDesc: Down
CallerIDNum: 1001
CallerIDName:
AccountCode:
Exten: 1000
Context: vtiger_out
Uniqueid: 1423640748.2

Event: VarSet
Privilege: dialplan,all
Channel: SIP/1001-00000002
Variable: SIPURI
Value: sip:1001@123.123.123.1:5091
Uniqueid: 1423640748.2

Event: VarSet
Privilege: dialplan,all
Channel: SIP/1001-00000002
Variable: SIPDOMAIN
Value: 124.124.124.1
Uniqueid: 1423640748.2

Event: VarSet
Privilege: dialplan,all
Channel: SIP/1001-00000002
Variable: SIPCALLID
Value: YjdmNTBiNTg5YjY3YTg5YTYwNTI3ZTc0OTVlOTgyZTA.
Uniqueid: 1423640748.2

Event: Newstate
Privilege: call,all
Channel: SIP/1001-00000002
ChannelState: 4
ChannelStateDesc: Ring
CallerIDNum: 1001
CallerIDName:
ConnectedLineNum:
ConnectedLineName:
Uniqueid: 1423640748.2

Event: Newexten
Privilege: dialplan,all
Channel: SIP/1001-00000002
Context: vtiger_out
Extension: 1000
Priority: 1
Application: AGI
AppData: agi://127.0.0.1/incoming.agi
Uniqueid: 1423640748.2

Event: AGIExec
Privilege: agi,all
SubEvent: Start
Channel: SIP/1001-00000002
CommandId: 1568281865
Command: ANSWER

Event: Newstate
Privilege: call,all
Channel: SIP/1001-00000002
ChannelState: 6
ChannelStateDesc: Up
CallerIDNum: 1001
CallerIDName:
ConnectedLineNum:
ConnectedLineName:
Uniqueid: 1423640748.2

Event: AGIExec
Privilege: agi,all
SubEvent: End
Channel: SIP/1001-00000002
CommandId: 1568281865
Command: ANSWER
ResultCode: 200
Result: Success

Event: AGIExec
Privilege: agi,all
SubEvent: Start
Channel: SIP/1001-00000002
CommandId: 863625742
Command: EXEC "Monitor" "wav,/usr/local/
VtigerAsteriskConnector/bin/rec/0263ef66ecd84937b52052d654705393,m"

Event: VarSet
Privilege: dialplan,all
Channel: SIP/1001-00000002
Variable: __MONITORED
Value: true
Uniqueid: 1423640748.2

Event: MonitorStart
Privilege: call,all
Channel: SIP/1001-00000002
Uniqueid: 1423640748.2

Event: AGIExec
Privilege: agi,all
SubEvent: End
Channel: SIP/1001-00000002
CommandId: 863625742
Command: EXEC "Monitor" "wav,/usr/local/
VtigerAsteriskConnector/bin/rec/0263ef66ecd84937b52052d654705393,m"
ResultCode: 200
Result: Success
====ERROR========
Event: AGIExec
Privilege: agi,all
SubEvent: Start
Channel: SIP/1001-00000002
CommandId: 2048191671
Command: EXEC "Dial" "SIP/, 60"

Event: VarSet
Privilege: dialplan,all
Channel: SIP/1001-00000002
Variable: DIALSTATUS
Value:
Uniqueid: 1423640748.2

Event: VarSet
Privilege: dialplan,all
Channel: SIP/1001-00000002
Variable: DIALEDPEERNUMBER
Value:
Uniqueid: 1423640748.2

Event: VarSet
Privilege: dialplan,all
Channel: SIP/1001-00000002
Variable: DIALEDPEERNAME
Value:
Uniqueid: 1423640748.2

Event: VarSet
Privilege: dialplan,all
Channel: SIP/1001-00000002
Variable: ANSWEREDTIME
Value:
Uniqueid: 1423640748.2

Event: VarSet
Privilege: dialplan,all
Channel: SIP/1001-00000002
Variable: DIALEDTIME
Value:
Uniqueid: 1423640748.2
====ERROR=======
Event: VarSet
Privilege: dialplan,all
Channel: SIP/1001-00000002
Variable: DIALSTATUS
Value: INVALIDARGS
Uniqueid: 1423640748.2

Event: Dial
Privilege: call,all
SubEvent: End
Channel: SIP/1001-00000002
UniqueID: 1423640748.2
DialStatus: INVALIDARGS

Event: AGIExec
Privilege: agi,all
SubEvent: End
Channel: SIP/1001-00000002
CommandId: 2048191671
Command: EXEC "Dial" "SIP/, 60"
ResultCode: 200
Result: Unknown Result

Event: AGIExec
Privilege: agi,all
SubEvent: Start
Channel: SIP/1001-00000002
CommandId: 908355524
Command: SET VARIABLE "AJ_AGISTATUS" "SUCCESS"

Event: VarSet
Privilege: dialplan,all
Channel: SIP/1001-00000002
Variable: AJ_AGISTATUS
Value: SUCCESS
Uniqueid: 1423640748.2

Event: AGIExec
Privilege: agi,all
SubEvent: End
Channel: SIP/1001-00000002
CommandId: 908355524
Command: SET VARIABLE "AJ_AGISTATUS" "SUCCESS"
ResultCode: 200
Result: Success

Event: VarSet
Privilege: dialplan,all
Channel: SIP/1001-00000002
Variable: AGISTATUS
Value: SUCCESS
Uniqueid: 1423640748.2

Event: VarSet
Privilege: dialplan,all
Channel: SIP/1001-00000002
Variable: RTPAUDIOQOS
Value: ssrc=1499164886;themssrc=3683911828;lp=0;
rxjitter=0.000000;rxcount=136;txjitter=0.000590;txcount=0;rlp=0;rtt=0.000000
Uniqueid: 1423640748.2

Event: VarSet
Privilege: dialplan,all
Channel: SIP/1001-00000002
Variable: RTPAUDIOQOSJITTER
Value: minrxjitter=0.000000;maxrxjitter=0.000000;avgrxjitter=0.000000;
stdevrxjitter=0.000000;reported_minjitter=0.000000;reported_maxjitter=0.000000;
reported_avgjitter=0.000000;reported_stdevjitter=0.000000;
Uniqueid: 1423640748.2

Event: VarSet
Privilege: dialplan,all
Channel: SIP/1001-00000002
Variable: RTPAUDIOQOSLOSS
Value: minrxlost=0.000000;maxrxlost=0.000000;avgrxlost=0.000000;
stdevrxlost=0.000000;reported_minlost=0.000000;reported_maxlost=0.000000;
reported_avglost=0.000000;reported_stdevlost=0.000000;
Uniqueid: 1423640748.2

Event: VarSet
Privilege: dialplan,all
Channel: SIP/1001-00000002
Variable: RTPAUDIOQOSRTT
Value: minrtt=0.000000;maxrtt=0.000000;avgrtt=0.000000;stdevrtt=0.000000;
Uniqueid: 1423640748.2

Event: VarSet
Privilege: dialplan,all
Channel: SIP/1001-00000002
Variable: RTPAUDIOQOS
Value: ssrc=1499164886;themssrc=3683911828;lp=0;rxjitter=0.000000;rxcount=136;
txjitter=0.000590;txcount=0;rlp=0;rtt=0.000000
Uniqueid: 1423640748.2

Event: Hangup
Privilege: call,all
Channel: SIP/1001-00000002
Uniqueid: 1423640748.2
CallerIDNum: 1001
CallerIDName: <unknown>
ConnectedLineNum: <unknown>
ConnectedLineName: <unknown>
Cause: 0
Cause-txt: Unknown
Event: MonitorStop
Privilege: call,all
Channel: SIP/1001-00000002
Uniqueid: 1423640748.2
Event: Newchannel
Privilege: call,all
Channel: SIP/1111-00000000
ChannelState: 0
ChannelStateDesc: Down
CallerIDNum: 1111
CallerIDName: 1111
AccountCode:
Exten: 1122
Context: vtiger_out
Uniqueid: 1423642071.0

Event: VarSet
Privilege: dialplan,all
Channel: SIP/1111-00000000
Variable: SIPURI
Value: sip:1111@192.168.0.194:50518
Uniqueid: 1423642071.0

Event: VarSet
Privilege: dialplan,all
Channel: SIP/1111-00000000
Variable: SIPDOMAIN
Value: 192.168.0.67
Uniqueid: 1423642071.0

Event: VarSet
Privilege: dialplan,all
Channel: SIP/1111-00000000
Variable: SIPCALLID
Value: be1981dba7a041f28b1c0706f4a4929d
Uniqueid: 1423642071.0

Event: Newstate
Privilege: call,all
Channel: SIP/1111-00000000
ChannelState: 4
ChannelStateDesc: Ring
CallerIDNum: 1111
CallerIDName: 1111
ConnectedLineNum:
ConnectedLineName:
Uniqueid: 1423642071.0

Event: Newexten
Privilege: dialplan,all
Channel: SIP/1111-00000000
Context: vtiger_out
Extension: 1122
Priority: 1
Application: AGI
AppData: agi://127.0.0.1/incoming.agi
Uniqueid: 1423642071.0

Event: AGIExec
Privilege: agi,all
SubEvent: Start
Channel: SIP/1111-00000000
CommandId: 1427834315
Command: ANSWER

Event: Newstate
Privilege: call,all
Channel: SIP/1111-00000000
ChannelState: 6
ChannelStateDesc: Up
CallerIDNum: 1111
CallerIDName: 1111
ConnectedLineNum:
ConnectedLineName:
Uniqueid: 1423642071.0
=====================cut RTCPReceved
Event: AGIExec
Privilege: agi,all
SubEvent: End
Channel: SIP/1111-00000000
CommandId: 1427834315
Command: ANSWER
ResultCode: 200
Result: Success
==================Cut RTCPReceived
Event: AGIExec
Privilege: agi,all
SubEvent: Start
Channel: SIP/1111-00000000
CommandId: 226466943
Command: EXEC "Monitor" "wav,/usr/src/
VtigerAsteriskConnector/bin/rec/b884ad2e696e479b99a6884ed2afd882,m"

Event: VarSet
Privilege: dialplan,all
Channel: SIP/1111-00000000
Variable: __MONITORED
Value: true
Uniqueid: 1423642071.0

Event: MonitorStart
Privilege: call,all
Channel: SIP/1111-00000000
Uniqueid: 1423642071.0

Event: AGIExec
Privilege: agi,all
SubEvent: End
Channel: SIP/1111-00000000
CommandId: 226466943
Command: EXEC "Monitor" "wav,/usr/src/VtigerAsteriskConnector/bin/rec/b884ad2e696e479b99a6884ed2afd882,m"
ResultCode: 200
Result: Success

Event: AGIExec
Privilege: agi,all
SubEvent: Start
Channel: SIP/1111-00000000
CommandId: 1957166649
Command: EXEC "Dial" "SIP/1122, 60"

Event: VarSet
Privilege: dialplan,all
Channel: SIP/1111-00000000
Variable: DIALSTATUS
Value:
Uniqueid: 1423642071.0

Event: VarSet
Privilege: dialplan,all
Channel: SIP/1111-00000000
Variable: DIALEDPEERNUMBER
Value:
Uniqueid: 1423642071.0

Event: VarSet
Privilege: dialplan,all
Channel: SIP/1111-00000000
Variable: DIALEDPEERNAME
Value:
Uniqueid: 1423642071.0

Event: VarSet
Privilege: dialplan,all
Channel: SIP/1111-00000000
Variable: ANSWEREDTIME
Value:
Uniqueid: 1423642071.0

Event: VarSet
Privilege: dialplan,all
Channel: SIP/1111-00000000
Variable: DIALEDTIME
Value:
Uniqueid: 1423642071.0

Event: Newchannel
Privilege: call,all
Channel: SIP/1122-00000001
ChannelState: 0
ChannelStateDesc: Down
CallerIDNum: 1122
CallerIDName: 1122
AccountCode:
Exten:
Context: vtiger_out
Uniqueid: 1423642078.1

Event: VarSet
Privilege: dialplan,all
Channel: SIP/1122-00000001
Variable: SIPCALLID
Value: 31745c432fb52d7b3dbac8443aca170f@192.168.0.67:5060
Uniqueid: 1423642078.1

Event: VarSet
Privilege: dialplan,all
Channel: SIP/1122-00000001
Variable: DIALEDPEERNUMBER
Value: 1122
Uniqueid: 1423642078.1

Event: Dial
Privilege: call,all
SubEvent: Begin
Channel: SIP/1111-00000000
Destination: SIP/1122-00000001
CallerIDNum: 1111
CallerIDName: 1111
ConnectedLineNum: <unknown>
ConnectedLineName: <unknown>
UniqueID: 1423642071.0
DestUniqueID: 1423642078.1
Dialstring: 1122

Event: Newstate
Privilege: call,all
Channel: SIP/1122-00000001
ChannelState: 5
ChannelStateDesc: Ringing
CallerIDNum: 1122
CallerIDName: 1122
ConnectedLineNum: 1111
ConnectedLineName: 1111
Uniqueid: 1423642078.1
======Cut RTCPReceived
Event: Newstate
Privilege: call,all
Channel: SIP/1122-00000001
ChannelState: 6
ChannelStateDesc: Up
CallerIDNum: 1122
CallerIDName: 1122
ConnectedLineNum: 1111
ConnectedLineName: 1111
Uniqueid: 1423642078.1

Event: VarSet
Privilege: dialplan,all
Channel: SIP/1111-00000000
Variable: DIALSTATUS
Value: ANSWER
Uniqueid: 1423642071.0

Event: VarSet
Privilege: dialplan,all
Channel: SIP/1111-00000000
Variable: DIALEDPEERNAME
Value: SIP/1122-00000001
Uniqueid: 1423642071.0

Event: VarSet
Privilege: dialplan,all
Channel: SIP/1111-00000000
Variable: DIALEDPEERNUMBER
Value: 1122
Uniqueid: 1423642071.0

Event: VarSet
Privilege: dialplan,all
Channel: SIP/1111-00000000
Variable: BRIDGEPEER
Value: SIP/1122-00000001
Uniqueid: 1423642071.0

Event: VarSet
Privilege: dialplan,all
Channel: SIP/1122-00000001
Variable: BRIDGEPEER
Value: SIP/1111-00000000
Uniqueid: 1423642078.1

Event: NewAccountCode
Privilege: call,all
Channel: SIP/1122-00000001
Uniqueid: 1423642078.1
AccountCode:
OldAccountCode:

Event: Bridge
Privilege: call,all
Bridgestate: Link
Bridgetype: core
Channel1: SIP/1111-00000000
Channel2: SIP/1122-00000001
Uniqueid1: 1423642071.0
Uniqueid2: 1423642078.1
CallerID1: 1111
CallerID2: 1122

Event: VarSet
Privilege: dialplan,all
Channel: SIP/1111-00000000
Variable: BRIDGEPEER
Value: SIP/1122-00000001
Uniqueid: 1423642071.0

Event: VarSet
Privilege: dialplan,all
Channel: SIP/1111-00000000
Variable: BRIDGEPVTCALLID
Value: 31745c432fb52d7b3dbac8443aca170f@192.168.0.67:5060
Uniqueid: 1423642071.0

Event: VarSet
Privilege: dialplan,all
Channel: SIP/1122-00000001
Variable: BRIDGEPEER
Value: SIP/1111-00000000
Uniqueid: 1423642078.1

Event: VarSet
Privilege: dialplan,all
Channel: SIP/1122-00000001
Variable: BRIDGEPVTCALLID
Value: be1981dba7a041f28b1c0706f4a4929d
Uniqueid: 1423642078.1

Event: VarSet
Privilege: dialplan,all
Channel: SIP/1111-00000000
Variable: BRIDGEPEER
Value: SIP/1122-00000001
Uniqueid: 1423642071.0

Event: VarSet
Privilege: dialplan,all
Channel: SIP/1111-00000000
Variable: BRIDGEPVTCALLID
Value: 31745c432fb52d7b3dbac8443aca170f@192.168.0.67:5060
Uniqueid: 1423642071.0

Event: VarSet
Privilege: dialplan,all
Channel: SIP/1122-00000001
Variable: BRIDGEPEER
Value: SIP/1111-00000000
Uniqueid: 1423642078.1

Event: VarSet
Privilege: dialplan,all
Channel: SIP/1122-00000001
Variable: BRIDGEPVTCALLID
Value: be1981dba7a041f28b1c0706f4a4929d
Uniqueid: 1423642078.1

Event: VarSet
Privilege: dialplan,all
Channel: SIP/1122-00000001
Variable: RTPAUDIOQOS
Value: ssrc=94312286;themssrc=1304172298;lp=0;rxjitter=0.000000;rxcount=67;txjitter=0.001008;txcount=68;rlp=0;rtt=0.000000
Uniqueid: 1423642078.1

Event: VarSet
Privilege: dialplan,all
Channel: SIP/1111-00000000
Variable: RTPAUDIOQOSBRIDGED
Value: ssrc=94312286;themssrc=1304172298;lp=0;rxjitter=0.000000;rxcount=67;txjitter=0.001008;txcount=68;rlp=0;rtt=0.000000
Uniqueid: 1423642071.0

Event: VarSet
Privilege: dialplan,all
Channel: SIP/1122-00000001
Variable: RTPAUDIOQOSJITTER
Value: minrxjitter=0.000000;maxrxjitter=0.000000;avgrxjitter=0.000000;stdevrxjitter=0.000000;reported_minjitter=0.000000;reported_maxjitter=0.000000;reported_avgjitter=0.000000;reported_stdevjitter=0.000000;
Uniqueid: 1423642078.1

Event: VarSet
Privilege: dialplan,all
Channel: SIP/1111-00000000
Variable: RTPAUDIOQOSJITTERBRIDGED
Value: minrxjitter=0.000000;maxrxjitter=0.000000;avgrxjitter=0.000000;stdevrxjitter=0.000000;reported_minjitter=0.000000;reported_maxjitter=0.000000;reported_avgjitter=0.000000;reported_stdevjitter=0.000000;
Uniqueid: 1423642071.0

Event: VarSet
Privilege: dialplan,all
Channel: SIP/1122-00000001
Variable: RTPAUDIOQOSLOSS
Value: minrxlost=0.000000;maxrxlost=0.000000;avgrxlost=0.000000;stdevrxlost=0.000000;reported_minlost=0.000000;reported_maxlost=0.000000;reported_avglost=0.000000;reported_stdevlost=0.000000;
Uniqueid: 1423642078.1

Event: VarSet
Privilege: dialplan,all
Channel: SIP/1111-00000000
Variable: RTPAUDIOQOSLOSSBRIDGED
Value: minrxlost=0.000000;maxrxlost=0.000000;avgrxlost=0.000000;stdevrxlost=0.000000;reported_minlost=0.000000;reported_maxlost=0.000000;reported_avglost=0.000000;reported_stdevlost=0.000000;
Uniqueid: 1423642071.0

Event: VarSet
Privilege: dialplan,all
Channel: SIP/1122-00000001
Variable: RTPAUDIOQOSRTT
Value: minrtt=0.000000;maxrtt=0.000000;avgrtt=0.000000;stdevrtt=0.000000;
Uniqueid: 1423642078.1

Event: VarSet
Privilege: dialplan,all
Channel: SIP/1111-00000000
Variable: RTPAUDIOQOSRTTBRIDGED
Value: minrtt=0.000000;maxrtt=0.000000;avgrtt=0.000000;stdevrtt=0.000000;
Uniqueid: 1423642071.0

Event: VarSet
Privilege: dialplan,all
Channel: SIP/1111-00000000
Variable: RTPAUDIOQOS
Value: ssrc=875571376;themssrc=1648457076;lp=0;rxjitter=0.000000;rxcount=599;txjitter=0.000755;txcount=252;rlp=0;rtt=0.002000
Uniqueid: 1423642071.0

Event: VarSet
Privilege: dialplan,all
Channel: SIP/1122-00000001
Variable: RTPAUDIOQOSBRIDGED
Value: ssrc=875571376;themssrc=1648457076;lp=0;rxjitter=0.000000;rxcount=599;txjitter=0.000755;txcount=252;rlp=0;rtt=0.002000
Uniqueid: 1423642078.1

Event: VarSet
Privilege: dialplan,all
Channel: SIP/1111-00000000
Variable: RTPAUDIOQOSJITTER
Value: minrxjitter=0.000000;maxrxjitter=0.000000;avgrxjitter=0.000000;stdevrxjitter=0.000000;reported_minjitter=0.000000;reported_maxjitter=0.000000;reported_avgjitter=0.000000;reported_stdevjitter=0.000000;
Uniqueid: 1423642071.0

Event: VarSet
Privilege: dialplan,all
Channel: SIP/1122-00000001
Variable: RTPAUDIOQOSJITTERBRIDGED
Value: minrxjitter=0.000000;maxrxjitter=0.000000;avgrxjitter=0.000000;stdevrxjitter=0.000000;reported_minjitter=0.000000;reported_maxjitter=0.000000;reported_avgjitter=0.000000;reported_stdevjitter=0.000000;
Uniqueid: 1423642078.1

Event: VarSet
Privilege: dialplan,all
Channel: SIP/1111-00000000
Variable: RTPAUDIOQOSLOSS
Value: minrxlost=0.000000;maxrxlost=0.000000;avgrxlost=0.000000;stdevrxlost=0.000000;reported_minlost=0.000000;reported_maxlost=0.000000;reported_avglost=0.000000;reported_stdevlost=0.000000;
Uniqueid: 1423642071.0

Event: VarSet
Privilege: dialplan,all
Channel: SIP/1122-00000001
Variable: RTPAUDIOQOSLOSSBRIDGED
Value: minrxlost=0.000000;maxrxlost=0.000000;avgrxlost=0.000000;stdevrxlost=0.000000;reported_minlost=0.000000;reported_maxlost=0.000000;reported_avglost=0.000000;reported_stdevlost=0.000000;
Uniqueid: 1423642078.1

Event: VarSet
Privilege: dialplan,all
Channel: SIP/1111-00000000
Variable: RTPAUDIOQOSRTT
Value: minrtt=0.000000;maxrtt=0.000000;avgrtt=0.000000;stdevrtt=0.000000;
Uniqueid: 1423642071.0

Event: VarSet
Privilege: dialplan,all
Channel: SIP/1122-00000001
Variable: RTPAUDIOQOSRTTBRIDGED
Value: minrtt=0.000000;maxrtt=0.000000;avgrtt=0.000000;stdevrtt=0.000000;
Uniqueid: 1423642078.1

Event: Unlink
Privilege: call,all
Channel1: SIP/1111-00000000
Channel2: SIP/1122-00000001
Uniqueid1: 1423642071.0
Uniqueid2: 1423642078.1
CallerID1: 1111
CallerID2: 1122

Event: VarSet
Privilege: dialplan,all
Channel: SIP/1111-00000000
Variable: ANSWEREDTIME
Value: 2
Uniqueid: 1423642071.0

Event: VarSet
Privilege: dialplan,all
Channel: SIP/1111-00000000
Variable: DIALEDTIME
Value: 13
Uniqueid: 1423642071.0

Event: Hangup
Privilege: call,all
Channel: SIP/1122-00000001
Uniqueid: 1423642078.1
CallerIDNum: 1122
CallerIDName: 1122
ConnectedLineNum: 1111
ConnectedLineName: 1111
Cause: 16
Cause-txt: Normal Clearing

Event: VarSet
Privilege: dialplan,all
Channel: SIP/1111-00000000
Variable: DIALSTATUS
Value: ANSWER
Uniqueid: 1423642071.0

Event: Dial
Privilege: call,all
SubEvent: End
Channel: SIP/1111-00000000
UniqueID: 1423642071.0
DialStatus: ANSWER

Event: AGIExec
Privilege: agi,all
SubEvent: End
Channel: SIP/1111-00000000
CommandId: 1957166649
Command: EXEC "Dial" "SIP/1122, 60"
ResultCode: 200
Result: Unknown Result

Event: AGIExec
Privilege: agi,all
SubEvent: Start
Channel: SIP/1111-00000000
CommandId: 734805183
Command: SET VARIABLE "AJ_AGISTATUS" "SUCCESS"

Event: VarSet
Privilege: dialplan,all
Channel: SIP/1111-00000000
Variable: AJ_AGISTATUS
Value: SUCCESS
Uniqueid: 1423642071.0

Event: AGIExec
Privilege: agi,all
SubEvent: End
Channel: SIP/1111-00000000
CommandId: 734805183
Command: SET VARIABLE "AJ_AGISTATUS" "SUCCESS"
ResultCode: 200
Result: Success

Event: VarSet
Privilege: dialplan,all
Channel: SIP/1111-00000000
Variable: AGISTATUS
Value: SUCCESS
Uniqueid: 1423642071.0

Event: Newexten
Privilege: dialplan,all
Channel: SIP/1111-00000000
Context: vtiger_out
Extension: 1122
Priority: 2
Application: Dial
AppData: SIP/1122,,
Uniqueid: 1423642071.0

Event: VarSet
Privilege: dialplan,all
Channel: SIP/1111-00000000
Variable: DIALSTATUS
Value:
Uniqueid: 1423642071.0

Event: VarSet
Privilege: dialplan,all
Channel: SIP/1111-00000000
Variable: DIALEDPEERNUMBER
Value:
Uniqueid: 1423642071.0

Event: VarSet
Privilege: dialplan,all
Channel: SIP/1111-00000000
Variable: DIALEDPEERNAME
Value:
Uniqueid: 1423642071.0

Event: VarSet
Privilege: dialplan,all
Channel: SIP/1111-00000000
Variable: ANSWEREDTIME
Value:
Uniqueid: 1423642071.0

Event: VarSet
Privilege: dialplan,all
Channel: SIP/1111-00000000
Variable: DIALEDTIME
Value:
Uniqueid: 1423642071.0

Event: Newchannel
Privilege: call,all
Channel: SIP/1122-00000002
ChannelState: 0
ChannelStateDesc: Down
CallerIDNum: 1122
CallerIDName: 1122
AccountCode:
Exten:
Context: vtiger_out
Uniqueid: 1423642084.2

Event: VarSet
Privilege: dialplan,all
Channel: SIP/1122-00000002
Variable: SIPCALLID
Value: 2f13f54435ef3f35611bc985424eb28e@192.168.0.67:5060
Uniqueid: 1423642084.2

Event: VarSet
Privilege: dialplan,all
Channel: SIP/1122-00000002
Variable: DIALEDPEERNUMBER
Value: 1122
Uniqueid: 1423642084.2

Event: Dial
Privilege: call,all
SubEvent: Begin
Channel: SIP/1111-00000000
Destination: SIP/1122-00000002
CallerIDNum: 1111
CallerIDName: 1111
ConnectedLineNum: 1122
ConnectedLineName: 1122
UniqueID: 1423642071.0
DestUniqueID: 1423642084.2
Dialstring: 1122

Event: Newstate
Privilege: call,all
Channel: SIP/1122-00000002
ChannelState: 5
ChannelStateDesc: Ringing
CallerIDNum: 1122
CallerIDName: 1122
ConnectedLineNum: 1111
ConnectedLineName: 1111
Uniqueid: 1423642084.2
Connected to Asterisk 1.8.32.2 currently running on localhost (pid = 1190)
Verbosity is at least 4
  == Using SIP RTP CoS mark 5
    -- Executing [1000@vtiger_out:1] AGI("SIP/1001-00000003", "agi://127.0.0.1/incoming.agi") in new stack
  == Manager 'vtg' logged on from 127.0.0.1
    -- AGI Script Executing Application: (Monitor) Options: (wav,/usr/local/VtigerAsteriskConnector/bin/rec/8854393f7ea1489585e1c360c54d1974,m)
    -- AGI Script Executing Application: (Dial) Options: (SIP/, 60)
[Feb 11 11:00:19] WARNING[2236]: app_dial.c:2253 dial_exec_full: Dial argument takes format (technology/[device:]number1)
  == Manager 'vtg' logged off from 127.0.0.1
    -- <SIP/1001-00000003>AGI Script agi://127.0.0.1/incoming.agi completed, returning 0
    -- Auto fallthrough, channel 'SIP/1001-00000003' status is 'INVALIDARGS'
Executing [1122@vtiger_out:1] AGI("SIP/1111-00000003", "agi://127.0.0.1/incoming.agi") in new stack
  == Manager 'admin' logged on from 127.0.0.1
    -- AGI Script Executing Application: (Monitor) Options: (wav,/usr/src/VtigerAsteriskConnector/bin/rec/6b71af0405344e07a497527f4c6a723d,m)
    -- AGI Script Executing Application: (Dial) Options: (SIP/1122, 60)
  == Using SIP RTP CoS mark 5
    -- Called SIP/1122
    -- SIP/1122-00000004 is ringing
    -- SIP/1122-00000004 answered SIP/1111-00000003
  == Manager 'admin' logged off from 127.0.0.1
    -- <SIP/1111-00000003>AGI Script agi://127.0.0.1/incoming.agi completed, returning 0
    -- Executing [1122@vtiger_out:2] Dial("SIP/1111-00000003", "SIP/1122,,") in new stack
  == Using SIP RTP CoS mark 5
    -- Called SIP/1122
    -- SIP/1122-00000005 is ringing

Asterisk: настройка и установка

Asterisk + VTigerCRM 6.1

$
0
0

Asterisk + VTigerCRM 6.1

  • vTiger CRM — система управления взаимоотношениями с клиентами (CRM) с открытым кодом (Open Source).
  • vTiger CRM построен на LAMP (Linux, Apache, MySQL, PHP).
  • Новый коннектор для связи с Asterisk написан на Java и работает значительно стабильнее, чем в версии 5.4
  • Реализована интеграция с Asterisk версии 1.8 (Asterisk Manager Interface 1.1).

Предварительные требования для установки

1. Asterisk 1.8 (возможно Asterisk 11)

2. Java 1.7

 yum install java-1.7.0-openjdk.i686

Скачайте Asterisk Connector

 wget https://www.vtiger.com/products/apps/VtigerAsteriskConnector/VtigerAsteriskConnector-1.3.zip

Распакуйте в удобной для вас директории.

 unzip VtigerAsteriskConnector-1.3.zip

В данном примере /usr/local

Отредактируйте файл VtigerAsteriskConnector/conf/VtigerAsteriskConnector.properties

/*
 * Copyright (C) www.vtiger.com. All rights reserved.
 * @license Proprietary
 */

// Location where the application server will be running.
ServerIP   = 127.0.0.1
ServerPort = 50777

// Call Recordings storage path
StorageDir = /usr/local/VtigerAsteriskConnector/bin/rec

// Enable(true) or Disable(false) call recordings
Recording = true

// Location where the applications database files will be stored.
AsteriskAppDBPath = /var/spool/asterisk/system

// Asterisk Server Details
AsteriskServerPublicIP = 192.168.0.1
AsteriskServerIP   = 127.0.0.1
AsteriskServerPort = 5038
AsteriskUsername   = vtiger
AsteriskPassword   = vtiger_password

// Vtiger CRM URL
VtigerURL = http://127.0.0.1/vtigercrm/
VtigerSecretKey = 12345

//Enable(true) or Disable(false) Asterisk Events and Database Logs in Connector
AsteriskLog = true
DatabaseLog = true
Asterisk
ServerIP IP адрес на котором Asterisk Vtiger Connector будет работать.
ServerPort Порт на котором Asterisk Vtiger Connector будет работать .
StorageDir Путь к директории записи разговоров на сервере Asterisk.
Recording True/False - запись разговоров
AsteriskAppDBPath Путь для сохранения файла базы данных Vtiger Asterisk Connector на вашем сервере.
Asterisk Server Details
AsteriskServerPublicIP Внешний IP адрес сервера Asterisk.
AsteriskServerIP IP адрес сервера Asterisk
AsteriskServerPort Порт Asterisk Manager Interface (AMI).
AsteriskUsername Имя пользователя manager.conf на сервере Asterisk.
AsteriskPassword Пароль пользователя manager.conf на сервере Asterisk.
Vtiger
VtigerURL Vtiger Asterisk App URL.
VtigerSecretKey Vtiger Secret Key.

<fs large>CRM Settings > Integration > PBX Manager</fs>

<fs large>User > My Preference - More Information</fs>

Запуск VTiger Asterisk Connector

 cd /usr/local/VtigerAsteriskConnector/bin
[root@localhost bin]# ls -la
total 24
drwxrwxr-x 2 root root 4096 Dec  5 14:25 .
drwxrwxr-x 8 root root 4096 Dec  5 14:25 ..
-rwxrwxr-x 1 root root  339 Dec  5 14:25 agi.sh
-rwxrwxr-x 1 root root  228 Dec  5 14:25 start.sh
-rwxrwxr-x 1 root root  115 Dec  5 14:25 stop.sh
-rwxrwxr-x 1 root root  377 Dec  5 14:25 webapp.sh

запустим коннектор командой:

 ./start.sh

Автозагрузка скрипта в CentOS

  echo sh /usr/local/VtigerAsteriskConnector/bin/start.sh  >> /etc/rc.local

Если коннектор запущен, директория отобразится в браузере, по порту приложения (в примере 50777):

# ps aux | grep Vtiger
root      3117  0.0  0.1   5052  1220 pts/1    S    16:52   0:00 /bin/sh /usr/local/VtigerAsteriskConnector/bin/webapp.sh
root      3118  0.0  0.1   5052  1204 pts/1    S    16:52   0:00 /bin/sh /usr/local/VtigerAsteriskConnector/bin/agi.sh
root      3183  0.0  0.0   4352   728 pts/1    S+   16:52   0:00 grep Vtiger
[vtiger_out]
exten => _X.,1,Agi(agi://127.0.0.1/incoming.agi)


[fake_random_callerid_812]
exten => 1122334,1,Set(CALLERID(num)=812${RAND(2111111,9999999)})
exten => 1122334,n,Set(CALLERID(name)=CALLERID(num))
exten => 1122334,n,Agi(agi://127.0.0.1/incoming.agi)

модель событий AMI

модель событий AMI

НеправильноПравильно
Event: Newchannel
Privilege: call,all
Channel: SIP/1001-00000002
ChannelState: 0
ChannelStateDesc: Down
CallerIDNum: 1001
CallerIDName:
AccountCode:
Exten: 1000
Context: vtiger_out
Uniqueid: 1423640748.2

Event: VarSet
Privilege: dialplan,all
Channel: SIP/1001-00000002
Variable: SIPURI
Value: sip:1001@123.123.123.1:5091
Uniqueid: 1423640748.2

Event: VarSet
Privilege: dialplan,all
Channel: SIP/1001-00000002
Variable: SIPDOMAIN
Value: 124.124.124.1
Uniqueid: 1423640748.2

Event: VarSet
Privilege: dialplan,all
Channel: SIP/1001-00000002
Variable: SIPCALLID
Value: YjdmNTBiNTg5YjY3YTg5YTYwNTI3ZTc0OTVlOTgyZTA.
Uniqueid: 1423640748.2

Event: Newstate
Privilege: call,all
Channel: SIP/1001-00000002
ChannelState: 4
ChannelStateDesc: Ring
CallerIDNum: 1001
CallerIDName:
ConnectedLineNum:
ConnectedLineName:
Uniqueid: 1423640748.2

Event: Newexten
Privilege: dialplan,all
Channel: SIP/1001-00000002
Context: vtiger_out
Extension: 1000
Priority: 1
Application: AGI
AppData: agi://127.0.0.1/incoming.agi
Uniqueid: 1423640748.2

Event: AGIExec
Privilege: agi,all
SubEvent: Start
Channel: SIP/1001-00000002
CommandId: 1568281865
Command: ANSWER

Event: Newstate
Privilege: call,all
Channel: SIP/1001-00000002
ChannelState: 6
ChannelStateDesc: Up
CallerIDNum: 1001
CallerIDName:
ConnectedLineNum:
ConnectedLineName:
Uniqueid: 1423640748.2

Event: AGIExec
Privilege: agi,all
SubEvent: End
Channel: SIP/1001-00000002
CommandId: 1568281865
Command: ANSWER
ResultCode: 200
Result: Success

Event: AGIExec
Privilege: agi,all
SubEvent: Start
Channel: SIP/1001-00000002
CommandId: 863625742
Command: EXEC "Monitor" "wav,/usr/local/
VtigerAsteriskConnector/bin/rec/0263ef66ecd84937b52052d654705393,m"

Event: VarSet
Privilege: dialplan,all
Channel: SIP/1001-00000002
Variable: __MONITORED
Value: true
Uniqueid: 1423640748.2

Event: MonitorStart
Privilege: call,all
Channel: SIP/1001-00000002
Uniqueid: 1423640748.2

Event: AGIExec
Privilege: agi,all
SubEvent: End
Channel: SIP/1001-00000002
CommandId: 863625742
Command: EXEC "Monitor" "wav,/usr/local/
VtigerAsteriskConnector/bin/rec/0263ef66ecd84937b52052d654705393,m"
ResultCode: 200
Result: Success
====ERROR========
Event: AGIExec
Privilege: agi,all
SubEvent: Start
Channel: SIP/1001-00000002
CommandId: 2048191671
Command: EXEC "Dial" "SIP/, 60"

Event: VarSet
Privilege: dialplan,all
Channel: SIP/1001-00000002
Variable: DIALSTATUS
Value:
Uniqueid: 1423640748.2

Event: VarSet
Privilege: dialplan,all
Channel: SIP/1001-00000002
Variable: DIALEDPEERNUMBER
Value:
Uniqueid: 1423640748.2

Event: VarSet
Privilege: dialplan,all
Channel: SIP/1001-00000002
Variable: DIALEDPEERNAME
Value:
Uniqueid: 1423640748.2

Event: VarSet
Privilege: dialplan,all
Channel: SIP/1001-00000002
Variable: ANSWEREDTIME
Value:
Uniqueid: 1423640748.2

Event: VarSet
Privilege: dialplan,all
Channel: SIP/1001-00000002
Variable: DIALEDTIME
Value:
Uniqueid: 1423640748.2
====ERROR=======
Event: VarSet
Privilege: dialplan,all
Channel: SIP/1001-00000002
Variable: DIALSTATUS
Value: INVALIDARGS
Uniqueid: 1423640748.2

Event: Dial
Privilege: call,all
SubEvent: End
Channel: SIP/1001-00000002
UniqueID: 1423640748.2
DialStatus: INVALIDARGS

Event: AGIExec
Privilege: agi,all
SubEvent: End
Channel: SIP/1001-00000002
CommandId: 2048191671
Command: EXEC "Dial" "SIP/, 60"
ResultCode: 200
Result: Unknown Result

Event: AGIExec
Privilege: agi,all
SubEvent: Start
Channel: SIP/1001-00000002
CommandId: 908355524
Command: SET VARIABLE "AJ_AGISTATUS" "SUCCESS"

Event: VarSet
Privilege: dialplan,all
Channel: SIP/1001-00000002
Variable: AJ_AGISTATUS
Value: SUCCESS
Uniqueid: 1423640748.2

Event: AGIExec
Privilege: agi,all
SubEvent: End
Channel: SIP/1001-00000002
CommandId: 908355524
Command: SET VARIABLE "AJ_AGISTATUS" "SUCCESS"
ResultCode: 200
Result: Success

Event: VarSet
Privilege: dialplan,all
Channel: SIP/1001-00000002
Variable: AGISTATUS
Value: SUCCESS
Uniqueid: 1423640748.2

Event: VarSet
Privilege: dialplan,all
Channel: SIP/1001-00000002
Variable: RTPAUDIOQOS
Value: ssrc=1499164886;themssrc=3683911828;lp=0;
rxjitter=0.000000;rxcount=136;txjitter=0.000590;txcount=0;rlp=0;rtt=0.000000
Uniqueid: 1423640748.2

Event: VarSet
Privilege: dialplan,all
Channel: SIP/1001-00000002
Variable: RTPAUDIOQOSJITTER
Value: minrxjitter=0.000000;maxrxjitter=0.000000;avgrxjitter=0.000000;
stdevrxjitter=0.000000;reported_minjitter=0.000000;reported_maxjitter=0.000000;
reported_avgjitter=0.000000;reported_stdevjitter=0.000000;
Uniqueid: 1423640748.2

Event: VarSet
Privilege: dialplan,all
Channel: SIP/1001-00000002
Variable: RTPAUDIOQOSLOSS
Value: minrxlost=0.000000;maxrxlost=0.000000;avgrxlost=0.000000;
stdevrxlost=0.000000;reported_minlost=0.000000;reported_maxlost=0.000000;
reported_avglost=0.000000;reported_stdevlost=0.000000;
Uniqueid: 1423640748.2

Event: VarSet
Privilege: dialplan,all
Channel: SIP/1001-00000002
Variable: RTPAUDIOQOSRTT
Value: minrtt=0.000000;maxrtt=0.000000;avgrtt=0.000000;stdevrtt=0.000000;
Uniqueid: 1423640748.2

Event: VarSet
Privilege: dialplan,all
Channel: SIP/1001-00000002
Variable: RTPAUDIOQOS
Value: ssrc=1499164886;themssrc=3683911828;lp=0;rxjitter=0.000000;rxcount=136;
txjitter=0.000590;txcount=0;rlp=0;rtt=0.000000
Uniqueid: 1423640748.2

Event: Hangup
Privilege: call,all
Channel: SIP/1001-00000002
Uniqueid: 1423640748.2
CallerIDNum: 1001
CallerIDName: <unknown>
ConnectedLineNum: <unknown>
ConnectedLineName: <unknown>
Cause: 0
Cause-txt: Unknown
Event: MonitorStop
Privilege: call,all
Channel: SIP/1001-00000002
Uniqueid: 1423640748.2
Event: Newchannel
Privilege: call,all
Channel: SIP/1111-00000000
ChannelState: 0
ChannelStateDesc: Down
CallerIDNum: 1111
CallerIDName: 1111
AccountCode:
Exten: 1122
Context: vtiger_out
Uniqueid: 1423642071.0

Event: VarSet
Privilege: dialplan,all
Channel: SIP/1111-00000000
Variable: SIPURI
Value: sip:1111@192.168.0.194:50518
Uniqueid: 1423642071.0

Event: VarSet
Privilege: dialplan,all
Channel: SIP/1111-00000000
Variable: SIPDOMAIN
Value: 192.168.0.67
Uniqueid: 1423642071.0

Event: VarSet
Privilege: dialplan,all
Channel: SIP/1111-00000000
Variable: SIPCALLID
Value: be1981dba7a041f28b1c0706f4a4929d
Uniqueid: 1423642071.0

Event: Newstate
Privilege: call,all
Channel: SIP/1111-00000000
ChannelState: 4
ChannelStateDesc: Ring
CallerIDNum: 1111
CallerIDName: 1111
ConnectedLineNum:
ConnectedLineName:
Uniqueid: 1423642071.0

Event: Newexten
Privilege: dialplan,all
Channel: SIP/1111-00000000
Context: vtiger_out
Extension: 1122
Priority: 1
Application: AGI
AppData: agi://127.0.0.1/incoming.agi
Uniqueid: 1423642071.0

Event: AGIExec
Privilege: agi,all
SubEvent: Start
Channel: SIP/1111-00000000
CommandId: 1427834315
Command: ANSWER

Event: Newstate
Privilege: call,all
Channel: SIP/1111-00000000
ChannelState: 6
ChannelStateDesc: Up
CallerIDNum: 1111
CallerIDName: 1111
ConnectedLineNum:
ConnectedLineName:
Uniqueid: 1423642071.0
=====================cut RTCPReceved
Event: AGIExec
Privilege: agi,all
SubEvent: End
Channel: SIP/1111-00000000
CommandId: 1427834315
Command: ANSWER
ResultCode: 200
Result: Success
==================Cut RTCPReceived
Event: AGIExec
Privilege: agi,all
SubEvent: Start
Channel: SIP/1111-00000000
CommandId: 226466943
Command: EXEC "Monitor" "wav,/usr/src/
VtigerAsteriskConnector/bin/rec/b884ad2e696e479b99a6884ed2afd882,m"

Event: VarSet
Privilege: dialplan,all
Channel: SIP/1111-00000000
Variable: __MONITORED
Value: true
Uniqueid: 1423642071.0

Event: MonitorStart
Privilege: call,all
Channel: SIP/1111-00000000
Uniqueid: 1423642071.0

Event: AGIExec
Privilege: agi,all
SubEvent: End
Channel: SIP/1111-00000000
CommandId: 226466943
Command: EXEC "Monitor" "wav,/usr/src/VtigerAsteriskConnector/bin/rec/b884ad2e696e479b99a6884ed2afd882,m"
ResultCode: 200
Result: Success

Event: AGIExec
Privilege: agi,all
SubEvent: Start
Channel: SIP/1111-00000000
CommandId: 1957166649
Command: EXEC "Dial" "SIP/1122, 60"

Event: VarSet
Privilege: dialplan,all
Channel: SIP/1111-00000000
Variable: DIALSTATUS
Value:
Uniqueid: 1423642071.0

Event: VarSet
Privilege: dialplan,all
Channel: SIP/1111-00000000
Variable: DIALEDPEERNUMBER
Value:
Uniqueid: 1423642071.0

Event: VarSet
Privilege: dialplan,all
Channel: SIP/1111-00000000
Variable: DIALEDPEERNAME
Value:
Uniqueid: 1423642071.0

Event: VarSet
Privilege: dialplan,all
Channel: SIP/1111-00000000
Variable: ANSWEREDTIME
Value:
Uniqueid: 1423642071.0

Event: VarSet
Privilege: dialplan,all
Channel: SIP/1111-00000000
Variable: DIALEDTIME
Value:
Uniqueid: 1423642071.0

Event: Newchannel
Privilege: call,all
Channel: SIP/1122-00000001
ChannelState: 0
ChannelStateDesc: Down
CallerIDNum: 1122
CallerIDName: 1122
AccountCode:
Exten:
Context: vtiger_out
Uniqueid: 1423642078.1

Event: VarSet
Privilege: dialplan,all
Channel: SIP/1122-00000001
Variable: SIPCALLID
Value: 31745c432fb52d7b3dbac8443aca170f@192.168.0.67:5060
Uniqueid: 1423642078.1

Event: VarSet
Privilege: dialplan,all
Channel: SIP/1122-00000001
Variable: DIALEDPEERNUMBER
Value: 1122
Uniqueid: 1423642078.1

Event: Dial
Privilege: call,all
SubEvent: Begin
Channel: SIP/1111-00000000
Destination: SIP/1122-00000001
CallerIDNum: 1111
CallerIDName: 1111
ConnectedLineNum: <unknown>
ConnectedLineName: <unknown>
UniqueID: 1423642071.0
DestUniqueID: 1423642078.1
Dialstring: 1122

Event: Newstate
Privilege: call,all
Channel: SIP/1122-00000001
ChannelState: 5
ChannelStateDesc: Ringing
CallerIDNum: 1122
CallerIDName: 1122
ConnectedLineNum: 1111
ConnectedLineName: 1111
Uniqueid: 1423642078.1
======Cut RTCPReceived
Event: Newstate
Privilege: call,all
Channel: SIP/1122-00000001
ChannelState: 6
ChannelStateDesc: Up
CallerIDNum: 1122
CallerIDName: 1122
ConnectedLineNum: 1111
ConnectedLineName: 1111
Uniqueid: 1423642078.1

Event: VarSet
Privilege: dialplan,all
Channel: SIP/1111-00000000
Variable: DIALSTATUS
Value: ANSWER
Uniqueid: 1423642071.0

Event: VarSet
Privilege: dialplan,all
Channel: SIP/1111-00000000
Variable: DIALEDPEERNAME
Value: SIP/1122-00000001
Uniqueid: 1423642071.0

Event: VarSet
Privilege: dialplan,all
Channel: SIP/1111-00000000
Variable: DIALEDPEERNUMBER
Value: 1122
Uniqueid: 1423642071.0

Event: VarSet
Privilege: dialplan,all
Channel: SIP/1111-00000000
Variable: BRIDGEPEER
Value: SIP/1122-00000001
Uniqueid: 1423642071.0

Event: VarSet
Privilege: dialplan,all
Channel: SIP/1122-00000001
Variable: BRIDGEPEER
Value: SIP/1111-00000000
Uniqueid: 1423642078.1

Event: NewAccountCode
Privilege: call,all
Channel: SIP/1122-00000001
Uniqueid: 1423642078.1
AccountCode:
OldAccountCode:

Event: Bridge
Privilege: call,all
Bridgestate: Link
Bridgetype: core
Channel1: SIP/1111-00000000
Channel2: SIP/1122-00000001
Uniqueid1: 1423642071.0
Uniqueid2: 1423642078.1
CallerID1: 1111
CallerID2: 1122

Event: VarSet
Privilege: dialplan,all
Channel: SIP/1111-00000000
Variable: BRIDGEPEER
Value: SIP/1122-00000001
Uniqueid: 1423642071.0

Event: VarSet
Privilege: dialplan,all
Channel: SIP/1111-00000000
Variable: BRIDGEPVTCALLID
Value: 31745c432fb52d7b3dbac8443aca170f@192.168.0.67:5060
Uniqueid: 1423642071.0

Event: VarSet
Privilege: dialplan,all
Channel: SIP/1122-00000001
Variable: BRIDGEPEER
Value: SIP/1111-00000000
Uniqueid: 1423642078.1

Event: VarSet
Privilege: dialplan,all
Channel: SIP/1122-00000001
Variable: BRIDGEPVTCALLID
Value: be1981dba7a041f28b1c0706f4a4929d
Uniqueid: 1423642078.1

Event: VarSet
Privilege: dialplan,all
Channel: SIP/1111-00000000
Variable: BRIDGEPEER
Value: SIP/1122-00000001
Uniqueid: 1423642071.0

Event: VarSet
Privilege: dialplan,all
Channel: SIP/1111-00000000
Variable: BRIDGEPVTCALLID
Value: 31745c432fb52d7b3dbac8443aca170f@192.168.0.67:5060
Uniqueid: 1423642071.0

Event: VarSet
Privilege: dialplan,all
Channel: SIP/1122-00000001
Variable: BRIDGEPEER
Value: SIP/1111-00000000
Uniqueid: 1423642078.1

Event: VarSet
Privilege: dialplan,all
Channel: SIP/1122-00000001
Variable: BRIDGEPVTCALLID
Value: be1981dba7a041f28b1c0706f4a4929d
Uniqueid: 1423642078.1

Event: VarSet
Privilege: dialplan,all
Channel: SIP/1122-00000001
Variable: RTPAUDIOQOS
Value: ssrc=94312286;themssrc=1304172298;lp=0;rxjitter=0.000000;rxcount=67;txjitter=0.001008;txcount=68;rlp=0;rtt=0.000000
Uniqueid: 1423642078.1

Event: VarSet
Privilege: dialplan,all
Channel: SIP/1111-00000000
Variable: RTPAUDIOQOSBRIDGED
Value: ssrc=94312286;themssrc=1304172298;lp=0;rxjitter=0.000000;rxcount=67;txjitter=0.001008;txcount=68;rlp=0;rtt=0.000000
Uniqueid: 1423642071.0

Event: VarSet
Privilege: dialplan,all
Channel: SIP/1122-00000001
Variable: RTPAUDIOQOSJITTER
Value: minrxjitter=0.000000;maxrxjitter=0.000000;avgrxjitter=0.000000;stdevrxjitter=0.000000;reported_minjitter=0.000000;reported_maxjitter=0.000000;reported_avgjitter=0.000000;reported_stdevjitter=0.000000;
Uniqueid: 1423642078.1

Event: VarSet
Privilege: dialplan,all
Channel: SIP/1111-00000000
Variable: RTPAUDIOQOSJITTERBRIDGED
Value: minrxjitter=0.000000;maxrxjitter=0.000000;avgrxjitter=0.000000;stdevrxjitter=0.000000;reported_minjitter=0.000000;reported_maxjitter=0.000000;reported_avgjitter=0.000000;reported_stdevjitter=0.000000;
Uniqueid: 1423642071.0

Event: VarSet
Privilege: dialplan,all
Channel: SIP/1122-00000001
Variable: RTPAUDIOQOSLOSS
Value: minrxlost=0.000000;maxrxlost=0.000000;avgrxlost=0.000000;stdevrxlost=0.000000;reported_minlost=0.000000;reported_maxlost=0.000000;reported_avglost=0.000000;reported_stdevlost=0.000000;
Uniqueid: 1423642078.1

Event: VarSet
Privilege: dialplan,all
Channel: SIP/1111-00000000
Variable: RTPAUDIOQOSLOSSBRIDGED
Value: minrxlost=0.000000;maxrxlost=0.000000;avgrxlost=0.000000;stdevrxlost=0.000000;reported_minlost=0.000000;reported_maxlost=0.000000;reported_avglost=0.000000;reported_stdevlost=0.000000;
Uniqueid: 1423642071.0

Event: VarSet
Privilege: dialplan,all
Channel: SIP/1122-00000001
Variable: RTPAUDIOQOSRTT
Value: minrtt=0.000000;maxrtt=0.000000;avgrtt=0.000000;stdevrtt=0.000000;
Uniqueid: 1423642078.1

Event: VarSet
Privilege: dialplan,all
Channel: SIP/1111-00000000
Variable: RTPAUDIOQOSRTTBRIDGED
Value: minrtt=0.000000;maxrtt=0.000000;avgrtt=0.000000;stdevrtt=0.000000;
Uniqueid: 1423642071.0

Event: VarSet
Privilege: dialplan,all
Channel: SIP/1111-00000000
Variable: RTPAUDIOQOS
Value: ssrc=875571376;themssrc=1648457076;lp=0;rxjitter=0.000000;rxcount=599;txjitter=0.000755;txcount=252;rlp=0;rtt=0.002000
Uniqueid: 1423642071.0

Event: VarSet
Privilege: dialplan,all
Channel: SIP/1122-00000001
Variable: RTPAUDIOQOSBRIDGED
Value: ssrc=875571376;themssrc=1648457076;lp=0;rxjitter=0.000000;rxcount=599;txjitter=0.000755;txcount=252;rlp=0;rtt=0.002000
Uniqueid: 1423642078.1

Event: VarSet
Privilege: dialplan,all
Channel: SIP/1111-00000000
Variable: RTPAUDIOQOSJITTER
Value: minrxjitter=0.000000;maxrxjitter=0.000000;avgrxjitter=0.000000;stdevrxjitter=0.000000;reported_minjitter=0.000000;reported_maxjitter=0.000000;reported_avgjitter=0.000000;reported_stdevjitter=0.000000;
Uniqueid: 1423642071.0

Event: VarSet
Privilege: dialplan,all
Channel: SIP/1122-00000001
Variable: RTPAUDIOQOSJITTERBRIDGED
Value: minrxjitter=0.000000;maxrxjitter=0.000000;avgrxjitter=0.000000;stdevrxjitter=0.000000;reported_minjitter=0.000000;reported_maxjitter=0.000000;reported_avgjitter=0.000000;reported_stdevjitter=0.000000;
Uniqueid: 1423642078.1

Event: VarSet
Privilege: dialplan,all
Channel: SIP/1111-00000000
Variable: RTPAUDIOQOSLOSS
Value: minrxlost=0.000000;maxrxlost=0.000000;avgrxlost=0.000000;stdevrxlost=0.000000;reported_minlost=0.000000;reported_maxlost=0.000000;reported_avglost=0.000000;reported_stdevlost=0.000000;
Uniqueid: 1423642071.0

Event: VarSet
Privilege: dialplan,all
Channel: SIP/1122-00000001
Variable: RTPAUDIOQOSLOSSBRIDGED
Value: minrxlost=0.000000;maxrxlost=0.000000;avgrxlost=0.000000;stdevrxlost=0.000000;reported_minlost=0.000000;reported_maxlost=0.000000;reported_avglost=0.000000;reported_stdevlost=0.000000;
Uniqueid: 1423642078.1

Event: VarSet
Privilege: dialplan,all
Channel: SIP/1111-00000000
Variable: RTPAUDIOQOSRTT
Value: minrtt=0.000000;maxrtt=0.000000;avgrtt=0.000000;stdevrtt=0.000000;
Uniqueid: 1423642071.0

Event: VarSet
Privilege: dialplan,all
Channel: SIP/1122-00000001
Variable: RTPAUDIOQOSRTTBRIDGED
Value: minrtt=0.000000;maxrtt=0.000000;avgrtt=0.000000;stdevrtt=0.000000;
Uniqueid: 1423642078.1

Event: Unlink
Privilege: call,all
Channel1: SIP/1111-00000000
Channel2: SIP/1122-00000001
Uniqueid1: 1423642071.0
Uniqueid2: 1423642078.1
CallerID1: 1111
CallerID2: 1122

Event: VarSet
Privilege: dialplan,all
Channel: SIP/1111-00000000
Variable: ANSWEREDTIME
Value: 2
Uniqueid: 1423642071.0

Event: VarSet
Privilege: dialplan,all
Channel: SIP/1111-00000000
Variable: DIALEDTIME
Value: 13
Uniqueid: 1423642071.0

Event: Hangup
Privilege: call,all
Channel: SIP/1122-00000001
Uniqueid: 1423642078.1
CallerIDNum: 1122
CallerIDName: 1122
ConnectedLineNum: 1111
ConnectedLineName: 1111
Cause: 16
Cause-txt: Normal Clearing

Event: VarSet
Privilege: dialplan,all
Channel: SIP/1111-00000000
Variable: DIALSTATUS
Value: ANSWER
Uniqueid: 1423642071.0

Event: Dial
Privilege: call,all
SubEvent: End
Channel: SIP/1111-00000000
UniqueID: 1423642071.0
DialStatus: ANSWER

Event: AGIExec
Privilege: agi,all
SubEvent: End
Channel: SIP/1111-00000000
CommandId: 1957166649
Command: EXEC "Dial" "SIP/1122, 60"
ResultCode: 200
Result: Unknown Result

Event: AGIExec
Privilege: agi,all
SubEvent: Start
Channel: SIP/1111-00000000
CommandId: 734805183
Command: SET VARIABLE "AJ_AGISTATUS" "SUCCESS"

Event: VarSet
Privilege: dialplan,all
Channel: SIP/1111-00000000
Variable: AJ_AGISTATUS
Value: SUCCESS
Uniqueid: 1423642071.0

Event: AGIExec
Privilege: agi,all
SubEvent: End
Channel: SIP/1111-00000000
CommandId: 734805183
Command: SET VARIABLE "AJ_AGISTATUS" "SUCCESS"
ResultCode: 200
Result: Success

Event: VarSet
Privilege: dialplan,all
Channel: SIP/1111-00000000
Variable: AGISTATUS
Value: SUCCESS
Uniqueid: 1423642071.0

Event: Newexten
Privilege: dialplan,all
Channel: SIP/1111-00000000
Context: vtiger_out
Extension: 1122
Priority: 2
Application: Dial
AppData: SIP/1122,,
Uniqueid: 1423642071.0

Event: VarSet
Privilege: dialplan,all
Channel: SIP/1111-00000000
Variable: DIALSTATUS
Value:
Uniqueid: 1423642071.0

Event: VarSet
Privilege: dialplan,all
Channel: SIP/1111-00000000
Variable: DIALEDPEERNUMBER
Value:
Uniqueid: 1423642071.0

Event: VarSet
Privilege: dialplan,all
Channel: SIP/1111-00000000
Variable: DIALEDPEERNAME
Value:
Uniqueid: 1423642071.0

Event: VarSet
Privilege: dialplan,all
Channel: SIP/1111-00000000
Variable: ANSWEREDTIME
Value:
Uniqueid: 1423642071.0

Event: VarSet
Privilege: dialplan,all
Channel: SIP/1111-00000000
Variable: DIALEDTIME
Value:
Uniqueid: 1423642071.0

Event: Newchannel
Privilege: call,all
Channel: SIP/1122-00000002
ChannelState: 0
ChannelStateDesc: Down
CallerIDNum: 1122
CallerIDName: 1122
AccountCode:
Exten:
Context: vtiger_out
Uniqueid: 1423642084.2

Event: VarSet
Privilege: dialplan,all
Channel: SIP/1122-00000002
Variable: SIPCALLID
Value: 2f13f54435ef3f35611bc985424eb28e@192.168.0.67:5060
Uniqueid: 1423642084.2

Event: VarSet
Privilege: dialplan,all
Channel: SIP/1122-00000002
Variable: DIALEDPEERNUMBER
Value: 1122
Uniqueid: 1423642084.2

Event: Dial
Privilege: call,all
SubEvent: Begin
Channel: SIP/1111-00000000
Destination: SIP/1122-00000002
CallerIDNum: 1111
CallerIDName: 1111
ConnectedLineNum: 1122
ConnectedLineName: 1122
UniqueID: 1423642071.0
DestUniqueID: 1423642084.2
Dialstring: 1122

Event: Newstate
Privilege: call,all
Channel: SIP/1122-00000002
ChannelState: 5
ChannelStateDesc: Ringing
CallerIDNum: 1122
CallerIDName: 1122
ConnectedLineNum: 1111
ConnectedLineName: 1111
Uniqueid: 1423642084.2
Connected to Asterisk 1.8.32.2 currently running on localhost (pid = 1190)
Verbosity is at least 4
  == Using SIP RTP CoS mark 5
    -- Executing [1000@vtiger_out:1] AGI("SIP/1001-00000003", "agi://127.0.0.1/incoming.agi") in new stack
  == Manager 'vtg' logged on from 127.0.0.1
    -- AGI Script Executing Application: (Monitor) Options: (wav,/usr/local/VtigerAsteriskConnector/bin/rec/8854393f7ea1489585e1c360c54d1974,m)
    -- AGI Script Executing Application: (Dial) Options: (SIP/, 60)
[Feb 11 11:00:19] WARNING[2236]: app_dial.c:2253 dial_exec_full: Dial argument takes format (technology/[device:]number1)
  == Manager 'vtg' logged off from 127.0.0.1
    -- <SIP/1001-00000003>AGI Script agi://127.0.0.1/incoming.agi completed, returning 0
    -- Auto fallthrough, channel 'SIP/1001-00000003' status is 'INVALIDARGS'
Executing [1122@vtiger_out:1] AGI("SIP/1111-00000003", "agi://127.0.0.1/incoming.agi") in new stack
  == Manager 'admin' logged on from 127.0.0.1
    -- AGI Script Executing Application: (Monitor) Options: (wav,/usr/src/VtigerAsteriskConnector/bin/rec/6b71af0405344e07a497527f4c6a723d,m)
    -- AGI Script Executing Application: (Dial) Options: (SIP/1122, 60)
  == Using SIP RTP CoS mark 5
    -- Called SIP/1122
    -- SIP/1122-00000004 is ringing
    -- SIP/1122-00000004 answered SIP/1111-00000003
  == Manager 'admin' logged off from 127.0.0.1
    -- <SIP/1111-00000003>AGI Script agi://127.0.0.1/incoming.agi completed, returning 0
    -- Executing [1122@vtiger_out:2] Dial("SIP/1111-00000003", "SIP/1122,,") in new stack
  == Using SIP RTP CoS mark 5
    -- Called SIP/1122
    -- SIP/1122-00000005 is ringing

Error opening

$
0
0

Error opening

/var/www/html/admin/modules/_cache/… for writing

Ошибка

При установке модулей FreePBX появляется сообщение о ошибке:

Error opening /var/www/html/admin/modules/_cache/… for writing

Решение

 # mkdir /var/www/html/admin/modules/_cache/
 # chown -R asterisk.asterisk  /var/www/html/admin/modules/_cache/
 # chmod -R 774  /var/www/html/admin/modules/_cache/
 # service httpd restart

Troubleshooting

FreeSWITCH API

$
0
0

FreeSWITCH API

Нажмите, чтобы отобразить

Нажмите, чтобы скрыть

namedescriptionikeysyntax
consoleConsolemod_consoleloglevel [level]|colorize [on|toggle|off]
enumENUMmod_enum
enum_autoENUMmod_enum
cdr_csvcdr_csv controlsmod_cdr_csvparameters
event_sinkevent_sinkmod_event_socket<web data>
sofiaSofia Controlsmod_sofia<cmd> <args>
sofia_gateway_dataGet data from a sofia gatewaymod_sofia<gateway_name> [ivar|ovar|var] <name>
sofia_username_ofSofia Username Lookupmod_sofia[profile/]<user>@<domain>
sofia_contactSofia Contactsmod_sofia[profile/]<user>@<domain>
sofia_count_regCount Sofia registrationmod_sofia[profile/]<user>@<domain>
sofia_digSIP DIGmod_sofia<url>
sofia_presence_dataSofia Presence Datamod_sofia[list|status|rpid|user_agent] [profile/]<user>@domain
vertoVerto APImod_vertosyntax
verto_contactGenerate a verto endpoint dialstringmod_vertouser@domain
bg_systemExecute a system command in the backgroundmod_commands<command>
systemExecute a system commandmod_commands<command>
aclCompare an ip to an acl listmod_commands<ip> <list_name>
aliasAliasmod_commands[add|stickyadd] <alias> <command> | del [<alias>|*]
coalesceReturn first nonempty parametermod_commands[^^<delim>]<value1>,<value2>,...
bannerReturn the system bannermod_commands
bgapiExecute an api command in a threadmod_commands<command>[ <arg>]
breakuuid_breakmod_commands<uuid> [all]
completeCompletemod_commandsadd <word>|del [<word>|*]
condEvaluate a conditionalmod_commands<expr> ? <true val> : <false val>
console_completemod_commands<line>
console_complete_xmlmod_commands<line>
create_uuidCreate a uuidmod_commands<uuid> <other_uuid>
db_cacheManage db cachemod_commandsstatus
domain_existsCheck if a domain existsmod_commands<domain>
echoEchomod_commands<data>
escapeEscape a stringmod_commands<data>
evaleval (noop)mod_commands[uuid:<uuid> ]<expression>
expandExecute an api with variable expansionmod_commands[uuid:<uuid> ]<cmd> <args>
find_user_xmlFind a usermod_commands<key> <user> <domain>
fsctlFS control messagesmod_commands[recover|send_sighup|hupall|pause [inbound|outbound]|resume [inbound|outbound]|shutdown [cancel|elegant|asap|now|restart]|sps|sps_peak_reset|sync_clock|sync_clock_when_idle|reclaim_mem|max_sessions|min_dtmf_duration [num]|max_dtmf_duration [num]|default_dtmf_duration [num]|min_idle_cpu|loglevel [level]|debug_level [level]]
...Shutdownmod_commands
shutdownShutdownmod_commands
versionVersionmod_commands[short]
global_getvarGet global varmod_commands<var>
global_setvarSet global varmod_commands<var>=<value> [=<value2>]
group_callGenerate a dial string to call a groupmod_commands<group>[@<domain>]
helpShow help for all the api commandsmod_commands
host_lookupLookup hostmod_commands<hostname>
hostnameReturn the system hostnamemod_commands
interface_ipReturn the primary IP of an interfacemod_commands[auto|ipv4|ipv6] <ifname>
switchnameReturn the switch namemod_commands
gethostgethostbynamemod_commands
getenvgetenvmod_commands<name>
hupallhupallmod_commands<cause> [<var> <value>]
in_groupDetermine if a user is in a groupmod_commands<user>[@<domain>] <group_name>
is_lan_addrSee if an ip is a lan addrmod_commands<ip>
limit_usageGet the usage count of a limited resourcemod_commands<backend> <realm> <id>
limit_hash_usageDeprecated: gets the usage count of a limited resourcemod_commands<realm> <id>
limit_statusGet the status of a limit backendmod_commands<backend>
limit_resetReset the counters of a limit backendmod_commands<backend>
limit_interval_resetReset the interval counter for a limited resourcemod_commands<backend> <realm> <resource>
list_usersList Users configured in Directorymod_commands[group <group>] [domain <domain>] [user <user>] [context <context>]
loadLoad Modulemod_commands<mod_name>
logLogmod_commands<level> <message>
md5Return md5 hashmod_commands<data>
module_existsCheck if module existsmod_commands<module>
msleepSleep N millisecondsmod_commands<milliseconds>
nat_mapManage NATmod_commands[status|republish|reinit] | [add|del] <port> [tcp|udp] [static]
originateOriginate a callmod_commands<call url> <exten>|&<application_name>(<app_args>) [<dialplan>] [<context>] [<cid_name>] [<cid_num>] [<timeout_sec>]
pausePause media on a channelmod_commands<uuid> <on|off>
quote_shell_argQuote/escape a string for use on shell command linemod_commands<data>
regexEvaluate a regexmod_commands<data>|<pattern>[|<subst string>][n|b]
reloadaclReload XMLmod_commands
reloadReload modulemod_commands[-f] <mod_name>
reloadxmlReload XMLmod_commands
replaceReplace a stringmod_commands<data>|<string1>|<string2>
say_stringmod_commands<module_name>[.<ext>] <lang>[.<ext>] <say_type> <say_method> [<say_gender>] <text>
sched_apiSchedule an api commandmod_commands[+@]<time> <group_name> <command_string>[&]
sched_broadcastSchedule a broadcast event to a running callmod_commands[[+]<time>|@time] <uuid> <path> [aleg|bleg|both]
sched_delDelete a scheduled taskmod_commands<task_id>|<group_id>
sched_hangupSchedule a running call to hangupmod_commands[+]<time> <uuid> [<cause>]
sched_transferSchedule a transfer for a running callmod_commands[+]<time> <uuid> <extension> [<dialplan>] [<context>]
showShow various reportsmod_commandscodec|endpoint|application|api|dialplan|file|timer|calls [count]|channels [count|like <match string>]|calls|detailed_calls|bridged_calls|detailed_bridged_calls|aliases|complete|chat|management|modules|nat_map|say|interfaces|interface_types|tasks|limits|status
sql_escapeEscape a string to prevent sql injectionmod_commands<string>
statusShow current statusmod_commands
strftime_tzDisplay formatted time of timezonemod_commands<timezone_name> [<epoch>|][format string]
stunExecute STUN lookupmod_commands<stun_server>[:port] [<source_ip>[:<source_port]]
time_testShow time jittermod_commands<mss> [count]
timer_testExercise FS timermod_commands<10|20|40|60|120> [<1..200>] [<timer_name>]
tone_detectStart tone detection on a channelmod_commands<uuid> <key> <tone_spec> [<flags> <timeout> <app> <args> <hits>]
unloadUnload modulemod_commands[-f] <mod_name>
unsched_apiUnschedule an api commandmod_commands<task_id>
uptimeShow uptimemod_commands[us|ms|s|m|h|d|microseconds|milliseconds|seconds|minutes|hours|days]
reg_urlmod_commands<user>@<realm>
url_decodeUrl decode a stringmod_commands<string>
url_encodeUrl encode a stringmod_commands<string>
user_dataFind user datamod_commands<user>@<domain> [var|param|attr] <name>
uuid_early_okstop ignoring early mediamod_commands<uuid>
user_existsFind a usermod_commands<key> <user> <domain>
uuid_answeranswermod_commands<uuid>
uuid_audiouuid_audiomod_commands<uuid> [start [read|write] [mute|level <level>]|stop]
uuid_breakBreak out of media sent to channelmod_commands<uuid> [all]
uuid_bridgeBridge call legsmod_commands
uuid_broadcastExecute dialplan applicationmod_commands<uuid> <path> [aleg|bleg|holdb|both]
uuid_buglistList media bugs on a sessionmod_commands<uuid>
uuid_chatSend a chat messagemod_commands<uuid> <text>
uuid_codec_debugSend codec a debug messagemod_commands<uuid> audio|video <level>
uuid_codec_paramSend codec a parammod_commands<uuid> audio|video read|write <param> <val>
uuid_debug_mediaDebug mediamod_commands<uuid> <read|write|both|vread|vwrite|vboth|all> <on|off>
uuid_deflectSend a deflectmod_commands<uuid> <uri>
uuid_displaceDisplace audiomod_commands<uuid> [start|stop] <path> [<limit>] [mux]
uuid_displayUpdate phone displaymod_commands<uuid> <display>
uuid_drop_dtmfDrop all DTMF or replace it with a maskmod_commands<uuid> [on | off ] [ mask_digits <digits> | mask_file <file>]
uuid_dumpDump session varsmod_commands<uuid> [format]
uuid_existsCheck if a uuid existsmod_commands<uuid>
uuid_filemanManage session audiomod_commands<uuid> <cmd>:<val>
uuid_flush_dtmfFlush dtmf on a given uuidmod_commands<uuid>
uuid_getvarGet a variable from a channelmod_commands<uuid> <var>
uuid_holdPlace call on holdmod_commands[off|toggle] <uuid> [<display>]
uuid_killKill channelmod_commands<uuid> [cause]
uuid_send_messageSend MESSAGE to the endpointmod_commands<uuid> <message>
uuid_send_infoSend info to the endpointmod_commands<uuid> [<mime_type> <mime_subtype>] <message>
uuid_set_media_statsSet media statsmod_commands<uuid>
uuid_video_bitrateSend video bitrate req.mod_commands<uuid> <bitrate>
uuid_video_refreshSend video refresh.mod_commands<uuid>
uuid_outgoing_answerAnswer outgoing channelmod_commands<uuid>
uuid_limitIncrease limit resourcemod_commands<uuid> <backend> <realm> <resource> [<max>[/interval]] [number [dialplan [context]]]
uuid_limit_releaseRelease limit resourcemod_commands<uuid> <backend> [realm] [resource]
uuid_limit_releaseRelease limit resourcemod_commands<uuid> <backend> [realm] [resource]
uuid_loglevelSet loglevel on sessionmod_commands<uuid> <level>
uuid_mediaReinvite FS in or out of media pathmod_commands[off] <uuid>
uuid_media_3pReinvite FS in or out of media path using 3pccmod_commands[off] <uuid>
uuid_media_renegMedia negotiationmod_commands<uuid>[ <codec_string>]
uuid_parkPark channelmod_commands<uuid>
uuid_pausePause media on a channelmod_commands<uuid> <on|off>
uuid_phone_eventSend an event to the phonemod_commands<uuid>
uuid_ring_readySending ringing to a channelmod_commands<uuid> [queued]
uuid_pre_answerpre_answermod_commands<uuid>
uuid_preprocessPre-process Channelmod_commands<>
uuid_recordRecord session audiomod_commands<uuid> [start|stop|mask|unmask] <path> [<limit>]
uuid_recovery_refreshSend a recovery_refreshmod_commands<uuid> <uri>
uuid_recv_dtmfReceive dtmf digitsmod_commands<uuid> <dtmf_data>
uuid_redirectSend a redirectmod_commands<uuid> <uri>
uuid_send_dtmfSend dtmf digitsmod_commands<uuid> <dtmf_data>
uuid_session_heartbeatuuid_session_heartbeatmod_commands<uuid> [sched] [0|<seconds>]
uuid_setvar_multiSet multiple variablesmod_commands<uuid> <var>=<value>;<var>=<value>...
uuid_setvarSet a variablemod_commands<uuid> <var> [value]
uuid_transferTransfer a sessionmod_commands<uuid> [-bleg|-both] <dest-exten> [<dialplan>] [<context>]
uuid_dual_transferTransfer a session and its partnermod_commands<uuid> <A-dest-exten>[/<A-dialplan>][/<A-context>] <B-dest-exten>[/<B-dialplan>][/<B-context>]
uuid_simplifyTry to cut out of a call path / attended xfermod_commands<uuid>
uuid_jitterbufferuuid_jitterbuffermod_commands<uuid> [0|<min_msec>[:<max_msec>]]
uuid_zombie_execSet zombie_exec flag on the specified uuidmod_commands<uuid>
xml_flush_cacheClear xml cachemod_commands<id> <key> <val>
xml_locateFind some xmlmod_commands[root | <section> <tag> <tag_attr_name> <tag_attr_val>]
xml_wrapWrap another api command in xmlmod_commands<command> <args>
file_existsCheck if a file exists on servermod_commands<file>
getcputimeGets CPU time in milliseconds (user,kernel)mod_commands[reset]
jsonJSON APImod_commandsJSON
conferenceConference module commandsmod_conference
dbdb get/setmod_db[insert|delete|select|exists|count|list]/<realm>/<key>/<value>
groupgroup [insert|delete|call]mod_db[insert|delete|call]:<group name>:<url>
strepochConvert a date string into epoch timemod_dptools<string>
pageSend a file as a pagemod_dptools(var1=val1,var2=val2)<var1=val1,var2=val2><chan1>[:_:<chanN>]
strmicroepochConvert a date string into micoepoch timemod_dptools<string>
chatchatmod_dptools<proto>|<from>|<to>|<message>|[<content-type>]
strftimestrftimemod_dptools<format_string>
presencepresencemod_dptools[in|out] <user> <rpid> <message>
exprEval an expressionmod_expr<expr>
fifoReturn data about a fifomod_fifolist|list_verbose|count|debug|status|has_outbound|importance [<fifo name>]|reparse [del_all]
fifo_memberAdd members to a fifomod_fifo[add <fifo_name> <originate_string> [<simo_count>] [<timeout>] [<lag>] [<expires>] [<taking_calls>] | del <fifo_name> <originate_string>]
fifo_add_outboundAdd outbound members to a fifomod_fifo<node> <url> [<priority>]
fifo_check_bridgecheck if uuid is in a bridgemod_fifo<uuid>|<outbound_id>
hashhash get/setmod_hash[insert|delete|select]/<realm>/<key>/<value>
hash_dumpdump hash/limit_hash data (used for synchronization)mod_hashall|limit|db [<realm>]
hash_remotehash remotemod_hashlist|kill [name]|rescan
voicemailvoicemailmod_voicemailrss [<host> <port> <uri> <user> <domain>] | [load|unload|reload] <profile> [reloadxml]
voicemail_injectvoicemail_injectmod_voicemail[group=<group>[@domain]|domain=<domain>|<box>[@<domain>]] <sound_file> [<cid_num>] [<cid_name>]
vm_injectvm_injectmod_voicemail[group=<group>[@domain]|domain=<domain>|<box>[@<domain>]] <sound_file> [<cid_num>] [<cid_name>]
vm_boxcountvm_boxcountmod_voicemail[profile/]<user>@<domain>[|[new|saved|new-urgent|saved-urgent|all]]
vm_prefsvm_prefsmod_voicemail[profile/]<user>@<domain>[|[name_path|greeting_path|password]]
vm_deletevm_deletemod_voicemail<id>@<domain>[/profile] [<uuid>]
vm_readvm_readmod_voicemail<id>@<domain>[/profile] <read|unread> [<uuid>]
vm_listvm_listmod_voicemail<id>@<domain>[/profile] [xml]
vm_fsdb_auth_loginvm_fsdb_auth_loginmod_voicemail<profile> <domain> <user> <password>
vm_fsdb_msg_countvm_fsdb_msg_countmod_voicemail<format> <profile> <domain> <user> <folder>
vm_fsdb_msg_listvm_fsdb_msg_listmod_voicemail<format> <profile> <domain> <user> <folder> <filter> [msg-order = ASC | DESC]
vm_fsdb_msg_getvm_fsdb_msg_getmod_voicemail<format> <profile> <domain> <user> <uuid>
vm_fsdb_msg_deletevm_fsdb_msg_deletemod_voicemail<profile> <domain> <user> <uuid>
vm_fsdb_msg_undeletevm_fsdb_msg_undeletemod_voicemail<profile> <domain> <user> <uuid>
vm_fsdb_msg_emailvm_fsdb_msg_emailmod_voicemail<profile> <domain> <user> <uuid> <email>
vm_fsdb_msg_purgevm_fsdb_msg_purgemod_voicemail<profile> <domain> <user>
vm_fsdb_msg_savevm_fsdb_msg_savemod_voicemail<profile> <domain> <user> <uuid>
vm_fsdb_msg_forwardvm_fsdb_msg_forwardmod_voicemail<profile> <domain> <user> <uuid> <dst_domain> <dst_user> [prepend_file_location]
vm_fsdb_pref_greeting_setvm_fsdb_pref_greeting_setmod_voicemail<profile> <domain> <user> <slot> [file-path]
vm_fsdb_pref_greeting_getvm_fsdb_pref_greeting_getmod_voicemail<format> <profile> <domain> <user> [slot]
vm_fsdb_pref_recname_setvm_fsdb_pref_recname_setmod_voicemail<profile> <domain> <user> <file-path>
vm_fsdb_pref_password_setvm_fsdb_pref_password_setmod_voicemail<profile> <domain> <user> <password>
valet_infoValet Parking Infomod_valet_parking[<lot name>]
httapiHT-TAPI Hypertext Telephony APImod_httapi[debug_on|debug_off]
spandsp_start_tone_detectStart background tone detection with cadencemod_spandsp<uuid> <name>
spandsp_stop_tone_detectStop background tone detection with cadencemod_spandsp<uuid>
start_tdd_detectStart background tdd detectionmod_spandsp<uuid>
stop_tdd_detectStop background tdd detectionmod_spandsp<uuid>
uuid_send_tddsend tdd data to a uuidmod_spandsp<uuid> <text>
opus_debugSet OPUS Debugmod_opus<on|off>
uuid_write_pnggrab an image from a callmod_png
telecasttelecastmod_shout
hup_local_streamSkip to next file in local_streammod_local_stream<local_stream_name>
reload_local_streamReloads a local_streammod_local_stream<local_stream_name>
stop_local_streamStops and unloads a local_streammod_local_stream<local_stream_name>
start_local_streamStarts a new local_streammod_local_stream<local_stream_name>
show_local_streamShows a local streammod_local_stream[local_stream_name [xml]]
luarunrun a scriptmod_lua<script>
luarun a script as an api functionmod_lua<script>

FreeSWITCH

Viewing all 1052 articles
Browse latest View live


<script src="https://jsc.adskeeper.com/r/s/rssing.com.1596347.js" async> </script>