VoIP

Один из наших клиентов (очень большая компания в России) не может пользоваться Skype для звонков к нам в офис (политика безопасности), а на стационарный — дорого. Единственный вариант для него — Google Talk. А мне хочется что бы этот звонок отображался в единой статистике с возможностью прослушать его запись. Давайте объединим пожелания клиента с нашими!

Будем использовать FreeSWITCH. Необходимо включить модуль Dingaling. В файле conf/jingle_profiles/client.xml

  
    
    
    
    
    
    
    
    
    
    
    
    
    
    
    
    
    
    
  

Для входящих в dialplan добавляем:


     
         
         
     
   

Все! Теперь звонок будет поступать на номер 1000

И принимать звонок в Oktell

Наш адрес GTalk для звонков: it.sfera.com

Если Вы используете Oktell IP PBX без модуля КЦ и Вы не умеете разрабатывать плагины, а необходимо быстро решить вопрос: При входящем звонке отобразить историю всех звонков по номеру с комментариями. Как это сделать? Пойдем через веб-страничку 🙂

Для начало разработаем SQL запрос, что бы увидеть все входящие, исходящие и пропущенные звонки по номеру:

SELECT [s].[TimeAnswer] as [TimeAnswer]
   ,CONVERT(varchar(max), Cast (Cast ( [s].TimeStop - [s].TimeAnswer as float ) * 1440 as decimal(15,2))) as [TimeLong]
   ,'входящий' AS [D]
   ,CONVERT(varchar(max), [s].[Astr]) as [Abonent] 
   ,CONVERT(varchar(max), [s].[Bstr]) as [Oper] 
   ,l.LineCode as [LineCode]
   ,CONVERT(varchar(max), [c].[Comment])  AS [Comment]
   FROM [oktell].[dbo].[A_Stat_Comments] [c]
   right outer join [oktell].[dbo].[A_Stat_Connections_1x1] [s] on [s].[Id] = c.[id]
   join [oktell].[dbo].A_ServerExtLines [l] on [s].ALineId = [l].id
WHERE ([s].[AOutNumber] like '$c' AND [s].[Bstr] not like 'IVR') 

UNION

SELECT [s].[TimeAnswer] as [TimeAnswer]
   ,CONVERT(varchar(max), Cast (Cast ( [s].TimeStop - [s].TimeAnswer as float ) * 1440 as decimal(15,2))) as [TimeLong]
   ,'исходящий' AS [D]
   ,CONVERT(varchar(max), [s].[Bstr]) as [Abonent] 
   ,CONVERT(varchar(max), [s].[Astr]) as [Oper] 
   ,l.LineCode as [LineCode]
   ,CONVERT(varchar(max), [c].[Comment])  AS [Comment]
   FROM [oktell].[dbo].[A_Stat_Comments] [c]
   right outer join [oktell].[dbo].[A_Stat_Connections_1x1] [s] on [s].[Id] = c.[id]
   join [oktell].[dbo].A_ServerExtLines [l] on [s].BLineId = [l].id
WHERE [s].[BOutNumber] like '$c' AND [s].[Astr] not like 'IVR'

UNION

SELECT [s].[TimeAnswer] as [TimeAnswer]
   ,CONVERT(varchar(max), Cast (Cast ( [s].TimeStop - [s].TimeAnswer as float ) * 1440 as decimal(15,2))) as [TimeLong]
   ,'пропущенный' AS [D]
   ,CONVERT(varchar(max), [s].[Astr]) as [Abonent] 
   ,CONVERT(varchar(max), [s].[Bstr]) as [Oper] 
   ,l.LineCode as [LineCode]
   ,CONVERT(varchar(max), [c].[Comment])  AS [Comment]
   FROM [oktell].[dbo].[A_Stat_Comments] [c]
   right outer join [oktell].[dbo].[A_Stat_Connections_1x1] [s] on [s].[Id] = c.[id]
   join [oktell].[dbo].A_ServerExtLines [l] on [s].ALineId = [l].id
WHERE [s].[AOutNumber] like '$c' AND [s].[Bstr] like 'IVR' AND [s].[ReasonStop] = '3'

ORDER BY [TimeAnswer] DESC

Выкладываю видеозапись вчерашнего вебинара «Современные инструменты построения эффективных продаж».
Если Вас заинтересовали наши услуги, милости просим:
+380 (44) 591-92-81;
+380 (32) 232-77-57;
+7 (922) 036-88-52;
Skype: it-sfera.com

Запись видео:

[flashvideo file=»wp-content/uploads/2011/09/110920.flv» /]

Описание того, как я подружил Panasonic TDA200 с Oktell, начну с проблематики. Имеем компанию с установленным и работающим уже несколько лет Panasonic TDA200. Заведено несколько городских линий, около 80 сотрудников счастливо общаются, но… чего то не хватает 🙂 а именно:

  1. свободных портов (остался один) в Panasonic, а компания растет
  2. подключение филиалов в разных городах — это лишние издержки на корпоративную связь
  3. экономия на звонках на GSM-операторов (по 1,20 грн не особо интересно звонить)
  4. не хватает внешних линий (еще есть 2 аналоговых городских, а портов уже нет)

Что было предложено:

  1. Установить отдельный сервер с Oktell
  2. Объединить Panasonic TDA200 и Oktell с помощью ISDN PRI
  3. Установить MyPBX с 4 GSM-модулями и 2FXO
  4. Установить на удаленных филиалах телефоны IPmatika SIP-T12 и Yealink SIP-T26P
  5. Прозрачное соединение внутреннего номерного плана Panasonic и Oktell
  6. и 5 рабочих мест Oktell для операторов

Принципиальная схема решения

Во многих ситуациях нашим клиентам удобно звонить на skype (техническая поддержка, вопросы по внедрению и т.д.), а мне бы хотелось иметь общую статистику по звонкам и запись разговоров. Вот для этого и возникла необходимость подключить Skype к Oktell. Используем Skype Connect, как зарегистрировать — отлично показано на видео. После чего мы имеем обычные регистрационные данные для SIP. Подключаем к Oktell:

Карта сети
Карта сети
Параметры аппаратуры
Параметры аппаратуры

Звоним со skype на наш корпоративный аккаунт:

Звонок на skype
Звонок на skype

Теперь вся статистика и запись разговоров отображается:

Статистика АТС
Статистика АТС

Уже второй раз сталкиваюсь с ситуацией: подключили oktell к sip транку от CDMA Украина, а исходящие не работают 🙁 Проблему решили и добавили новый параметр. Для корректной работы исходящих с провайдером CDMA Украина в конфигурационном файле сервера Oktell нужно включить новый ключик:

<add key="FORCE_BRACKETS_FOR_URI" value="1" />

Параметр FORCE_BRACKETS_FOR_URI доступен в версиях Oktell от 25.07.2011 и выше.

На складе завалялась материнская плата с P4 и 512Мб оперативки, подключил старый IDE винчестер на 40Гб. По сети установил последнюю версию FreeBSD 8.2, из портов собрал: Asterisk 1.8 + chan_dongle. Подключил 10 3G модемов — все заработало отлично 🙂 Большой плюс по сравнению с аналогическим шлюзом под Linux — можно безопасно перезагружать! Вот такой SIP-GSM шлюз получился (надо еще корпус найти):

Интертелеком – первый национальный CDMA оператор (как написано на сайте), не так давно начал предоставлять SIP-номера. Провайдер использует Smile CTI Server. Так вот, Oktell работает с номерами от Интертелеком! Но, что бы этот номер нормально заработал, необходимо прописать следующие настройки:

  1. Период перерегистрации: 27 с.
  2. Отправлять keep-alive как REGISTER с периодичностью в 13 с.
  3. Поддержка кодеков: g729, g711u, g711a

Как бы и все 🙂