Опрос


Что для Вас Умный Дом?


Результаты


Реклама


Опыт использования Nortel IP Phone 2007 и связка Skype-Asterisk

11/05/2011 23:32:38

Asterisk и звонки в/из Skype

"Кролики - это не только ценный мех", а современный гаджет, будь то телефон или мотокультиватор - это GPS, мультимедия, Интернет. И такая функция как "позвонить" скорее приятная дополнительная фича. Хорошо ли это или плохо вопрос высоких материй. Мир и техника стремительно движутся по пути интеграции и всеобщей коммуникации. Не будем отставать и мы. Как говорил Остап Бендер: "Ударим автопробегом по бездорожью и разгильдяйству".

В последней статье я рассказал про установку Asterisk в домашней сети. Это сделало возможным всю телефонию в доме перевести на цифровые рельсы. Далее я успешно настроил шлюз Skype - Asterisk, используя SipToSis Skype Gateway. Никаких сложностей в Debian Linux не возникло. Требуется лишь установить в Linux стандартный Skype клиент, зарегистрировать аккаунт и скачать siptosis. Для работы siptosis необходимо установить пакет sun-java6-jre, для чего в /etc/apt/source.list нужно добавить "non-free" ветку репозитория.

Skype-Asterisk шлюз
Skype-клиент и шлюз Siptosis в Debian Linux

Далее я добавил пользователя Skype в /etc/asterisk/users.conf и поправил extensions.conf
В основном диалплане добавил несколько нужных мне аккаунтов, например

exten => _191,1,Dial(SIP/Skype/скайп_аккаунт)

При наборе с любого телефона в доме 191, вызывается прописанный аккаунт в скайпе

[Skype]
exten => Skype,1,DIAL(SIP/102,20)

При звонке на домашний скайп аккаунт, звонок переводится по умолчанию на внутренний номер 102.
Теперь я могу звонить в Skype с любого телефона ровно как и принимать звонки со скайпа.

Мне также потребовалось перенаправлять звонки в зависимости от того, с какого скайп-аккаунта идет звонок. Делается это так:

; Если звонит пользователь test-account, направляем звонок на домашний телефон, иначе звонок направляется на мобильник
exten => Skype,1,GotoIf($["${CALLERID(all)}" = "Skype <test-account>"]?dial1:default)
exten => Skype,n(dial1),DIAL(SIP/102,20)
exten => Skype,n(default),Dial(DAHDI/2/464646)

Можно пойти немного дальше и прописать возможность звонить посредством такой связки (Skype-Asterisk) на любой региональный номер совершенно бесплатно. Например, будучи в отпуске, можно позвонить через скайп друзьям или родственникам на городской телефонный номер. Нужно только обеспечить возможность тонового донабора номера.

exten => Skype,1,Answer()
exten => Skype,2,Waitexten(30)
; Естественно для данного контекста прописываем нужные правила набора. Например:
exten => _1XX,1,Dial(SIP/${EXTEN},,tT)
exten => _NXXXXXX,1,Dial(DAHDI/2/${EXTEN:0})

Nortel IP Phone 2007 и chan_unistim

Не успел я прописать все необходимые настройки Skype-шлюза, как в моем зоопарке случилось пополнение. Мне в руки попал любопытный телефон Nortel IP Phone 2007. Компания Nortel давно известна своими высококачественными решениями в области телефонии. Оказывается, некоторое время назад фирма выпускала даже IP-телефоны. Причем венцом их творчества был телефон с огромным сенсорным экраном (правда с низким разрешением, всего 240х320) - модель 2007. Компания Nortel в последние годы испытывала финансовые проблемы и была куплена еще более крупным монстром Avaya. Политика объединенной компании изменилась, а телефонные аппараты остались.

Nortel IP Phone 2007

Телефон Nortel IP Phone 2007
Не поддерживает SIP, но поддерживается Asterisk'ом.

Но вся беда в том, что этот телефон, имея в своем резерве все аппаратные возможности (Ethernet, TCP/IP, G.711 и т.д.), не поддерживает протокол SIP. IP Phone 2007 работает по специальному протоколу UNISTIM. К счастью выяснилось, что Asterisk (во-многом благодаря, кстати, нашему соотечественнику) поддерживает этот протокол.

Все, что необходимо, это внести изменения в /etc/asterisk/unistim.conf

port=5000 ; UDP port
[nortel]
rtp_method=3 ; Если при звонке на телефон в трубке тишина, то значения от 0 до 3 могут решить проблему. Мне помогло 3
device=001ecaed1736
context=DLPN_DialPlan1
country=ru ; Это чтобы гудок был наш, советский (то есть отличный), а не угнетающе-депрессивный американский.
callerid="Nortel" <103>
line => 103 ; Эта строчка обязательно должна идти последней или перед bookmark, иначе работать не будет

В комментариях к конфигурации описал нюансы.

Чтобы с телефонами Unistim работали всякие стандартные функции типа перехвата звонка по *8, перенаправления и т.д. в файл нужно добавить следующее:

callgroup=1
pickupgroup=1

Номер группы, естественно нужно указать свой.

Со стороны телефона необходимо прописать адрес Asterisk (параметр S1 IP) и порт 5000. Обязательно отключить VoiceVLAN.

В версии Asterisk 1.8 chan_unistim входит в поставку, однако при попытке позвонить с телефона на любой номер asterisk спотыкался и падал. Пришлось ему привязать костыль. Самая свежая версия chan_unistim доступна в trunk-ветке через SVN. Но я рисковать и стал и попытался применить diff файлы. К счатью "chan_unistim.c.r299906-6.diff" успешно применяется к версии 1.8. После компиляции падения исчезли. Все стало работать как часы. Более новый патч 307838-9 не применился. Разбираться не стал, ибо и так работает.

Но было так обидно иметь в телефоне огромный экран и никак не использовать его возможности... В природе существовали коммерческие решения от Nortel - так называемые External Application Server. Телефон может по определенным протоколам RFB/XAS подключаться к такому серверу и отображать работу любых приложений сервера. Это могут быть и Web-клиенты, и слайдшоу, и службы сообщений и доступ к камерам наблюдения. Все, что угодно!

К сожалению описания этих протоколов в открытом виде я не нашел. Зато нашел замечательный продукт опять же российской разработки - RFBServer от компании SoftDom. И что самое удивительное, продукт имеет версии как для Windows, так и для Linux!

Скачав rfbserver версии 2.1 мне потребовалось только установить библиотеки Qt, которые необходимы для его работы

apt-get install libqt4-sql libqt4-xml libqt4-gui libqt4-sql-sqlite libqt4-webkit

Запускаем RFBServer и о, чудо! Мой телефон ожил, и стал по-настоящему мультимедийным!

IP Phone 2007 slideshow. XAS

Слайдшоу на мониторе телефона
Перечень картинок/фотографий задается на сервере

Так как в телефоне есть опция, позволяющая никогда не гасить экран, телефон становится по совместительству фоторамкой, работающей по Ethernet. Задать перечень доступных изображений можно через программу RFBServer, а можно записать данные напрямую в SQLite автоматически, просканировав базу с домашним фотоархивом, расположенным на медиа-сервере. Конечно, для телефона лучше подготовить фотографии под нужное разрешение заранее, но есть способ лучше! RFBServer позволяет из телефона обращаться к Интернет!

Nortel/Avaya IP Phone. External Application Server. Web client

Настольный телефон с возможностью доступа к Интернет

Огромное преимущество заключается в том, что парсит страницы не телефон, а компьютер. Телефону передается лишь сформированная картинка. Это позволяет загружать в телефон любые сайты. Так на телефоне отлично отображается мой домашний сайт, в котором применяется CSS и jQuery. Более того, работает Zoneminder, что дает возможность просматривать камеру наблюдения он-лайн. По большому счету никакие слайдшоу и другие приложения не нужны. Любые фотоальбомы удобнее и проще реализовать через Web-интерфейс. Хочется выразить благодарность компании SoftDom за разработку этого программного продукта.

Автор: Andrey_B
Любое использование материалов сайта возможно только с разрешения автора и с обязательным указанием источника.



Добавить комментарий:



Сортировка комментариев: Последние сверху | Первые сверху

2013-03-07 13:27:34 | Владимир
а где бы скачать этот сервер? на офсайте нет


2011-11-18 15:04:01 | Andrey_B
Михиал, спасибо. Я знаю об этом инструменте Яндекса и пользуюсь им с момента появления. Но этот сервис не спасет от плагиата и воровства, так как влияет только на поисковую выдачу Яндекса. И до внедрения этого сервиса мои страницы ранжировались выше, так как появились в Интернете по понятным причинам раньше. Скопировать же текст и разместить его на другом ресурсе это не помешает. Плагиат в выдаче появится, если, к примеру, размещен на украинском ресурсе и осуществляется поиск только по украинским сайтам. Я отношусь к этому по-философски.


2011-11-18 11:16:45 | Михаил
Андрей, Вас спасет от плагиата и воровства текстов yandex --> вебмастер &8594; передача данных о содержимом сайта_--> Оригинальные тексты


2011-10-26 18:03:05 | Andrey_B
Этот Сулико Асабашвили скопировал практически все статьи с сайта.
Мне уже присылали ссылки на этот сайт. Сам сайт ориентирован только на размещение рекламы. Есть такая поговорка: "На чужом горбу, да в рай". Как раз этот случай. У меня нет регистрации ВКонтакте, поэтому написал ему на емейл, указанный в информации о домена. Посмотрим, что ответит.


2011-10-26 17:40:30 | kpp
Ссылка скрыта. Кто у кого сплагиатил? ;)


2011-08-05 17:06:46 | Disavowed
lol? avaya монстр? да посравнению с нортел авая - дети