====== Описание ======
[[astpanel:ats:asterisk_v6|Обратно к основной инструкции...]]
Для работы панели телефонии Asterisk требуется настроить отслеживание состояния каналов абонентов АТС.
Необходимо в плане набора использовать стандартный приоритет **hint**.
Приоритет 'hint' используется для ассоциации екстеншена с Астериск каналом, для того, чтобы можно было мониторить состояние этого канала, как состояние екстеншена (телефон не может обращаться к каналам, а только к экстеншенам).
===== Пример sip.conf =====
**callcounter** - опция должна быть установлена в значение "yes". Это позволит Asterisk предоставлять информацию о состоянии SIP устройств.
[general]
callcounter=yes
===== Пример extension.conf=====
[internal-hint]
exten => 231,hint,SIP/160-231 ;231 - добавочный номер; 160-231 - имя учетной записи SIP (sip.conf)
exten => 232,hint,SIP/232 ;232 - добавочный номер; 232 - имя учетной записи SIP (sip.conf)
Технологию **SIP / IAX / DAHDI** следует указывать в верхнем регистре.
===== Проверка =====
__При верной настройке АТС__ по запросу **core show hints** в CLI консоли должна возвращаться таблица хинтов.
~ # asterisk -rx'core show hints' | grep 'internal-hint'
231@internal-hint : SIP/160-231 State:Idle Watchers 0
232@internal-hint : SIP/232 State:Unavailable Watchers 0
__Если АТС настроена **НЕ** верно:__
CLI> core show hints
There are no registered dialplan hints
Отладка в панели телефонии Asterisk вернет ответ:
===== AMI Оповещения =====
Статусы в 1С отображаются согласно полученным оповещениям "**ExtensionStatus**":
Response: Success
ActionID: 1
Message: Extension Status
Exten: 231
Context: internal-hint
Hint: SIP/60-120-231
Status: 0
Статусные коды, возвращаемые в параметре "“Status":
-1 = Екстеншен не найден
0 = Idle
1 = Используется (In Use)
2 = Занят (Busy)
4 = Не доступен (Unavailable)
8 = Звонит (Ringing)
16 = On Hold
===== Пример отладки режима супервизора =====
При поступлении событий "**BridgeEnter**" и "**DialBegin**" мы можем изменять статус сотрудника в списке и отображать с кем он разговаривает. Обнуление статуса, очистка собеседника, происходит при получении событий "**ExtensionStatus**", когда статус устройства переходит в значение "**Idle**".\\
Если при настройке АТС в AMI НЕ поступают события "**ExtensionStatus**", то это может быть связано с некорректной настройкой **hints** в **extensions.conf**. Пример для номеров 110 и 120:\\
[internal](+)
exten => 110,hint,SIP/110
exten => 120,hint,SIP/120
Или с некорректной настройкой **sip.conf**:\\
[general](+)
callcounter=yes
callevents=yes
Или с некорректной настройкой **manager.conf**. Необходимы набор привилегий:\\
read = call,cdr,user
write = call,originate,reporting
====== Полезные статьи ======
* [[https://wiki.asterisk.org/wiki/display/AST/Presence+State|Presence State]]
* [[http://voip.rus.net/tiki-index.php?page=Asterisk+standard+extensions&highlight=hint|Стандартные расширения]]
[[astpanel:ats:asterisk_v6|Обратно к основной инструкции...]]
===== Комментарии =====
~~DISQUS~~