Данный раздел посвящен внедрению asterisk в компании, имеющей распределенную структуру - филиалы, региональные склады и тд.

Фактически, я записываю сюда свой опыт, идеи, мытарства и тд, возникшие при переводе офиса компании Rittal (где я и работаю) с Ericsson BusinessPhone 250 на asterisk и, в дальнейшем, запуска этого всего в филиалах.

Сразу оговорюсь, я не уверен, что схема, которая здесь будет, идеальна. Но, как я надеюсь, она поможет вам в случае аналогичного проекта.

Обращаю ваше внимание на то, что на текущий момент это - живой проект, как следствие, возможно изменение статей после их написания. Об этом я буду сообщать в блоге.

Некое подобие оглавления я стараюсь поддерживать в первой статье, посвященной постановке задачи.



Статус линии на телефоне Grandstream 2020 25.05.2011

В качестве телефона оператора колл-центра, мы выбрали телефон Grandstream GXP-2020. К нему подключаются дополнительные блоки кнопок и он умеет показывать статус линии (занята/свободна). Именно этим статусом и займемся.

Сначала добавим в таблицу tbl_sip_conf два столбца:

notifyringing varchar(10) NOT NULL default 'yes',
subscribecontext varchar(80) NOT NULL default 'sip_subscribe'

Первый позволит уведомлять телефон колл-центра не только о разговаривающих абонентах, но и об абонентах, которым звонят. Второй предназначен для задания контекста, в который будет направляться телефон при подписке.

Из-за того, что указание в диалплане метки hint(а именно она нам и нужна) нельзя использовать шаблоны, придется немного схитрить.

В основной контекст я добавил следующие строки (они включают внешний файл /etc/asterisk/rittal/hints.conf):

[sip_subscribe]
#include /etc/asterisk/rittal/hints.conf

Для формирования этого файла из базы я использовал скрипт

<?php
    
// добавляем в мониторинг (hints)
    // все записи из tbl_sip_conf
    
$file_content="";
    
$SQL="SELECT name FROM tbl_sip_conf";
    
$rez_sql=mysql_query($SQL);
    
    while (
$row mysql_fetch_assoc($rez_sql)) 
    {
        
$file_content=$file_content.'exten=> '.$row['name'].',hint,SIP/'
            
.$row['name']."\r\n";
    }    
    
    
$fh fopen('/etc/asterisk/rittal/hints.conf''w') or die("can't open file");
    
fwrite($fh$file_content);
    
fclose($fh);
    
    
// в конце - перегрузим sip на астериске
    
shell_exec('sudo /usr/sbin/asterisk -rx "sip reload"');
?>

Этот скрипт создает файл вида

exten=> 1260,hint,SIP/1260
exten=> 1261,hint,SIP/1261

Теперь осталось в настройках телефона прописать на кнопку мониторинг.

 

Подключаем телефоны 20.04.2011

Настало время подключить телефоны к астериск по протоколу SIP и сделать «звонок другу» :)

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

Cервер, телефоны и инсталляция Linux 18.04.2011

В этой части описывается итоговая конфигурация сервера и первоначальная установка Linux.


ВНИМАНИЕ!!! Карта AEX440BF требует дополнительного питания через 4-х пиновый 12-ти вольтовый разъем (такими подключались IDE винчестеры), при этом у сервера такого разъема нет. Мы пробуем решить проблему, о результатах обязательно напишу здесь.

Будьте осторожны. Возможно, лучше купить другую карту.

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

1