В версиях мобильной ОС Android, начиная с версии 2.3, появился собственный SIP клиент, который может работать как через Wi-Fi, так и через 3G сети.

Использование встроенного SIP клиента может быть оправдано, т.к имеет интересные преимущества.

  • Тесная интеграция с системой, использование общей адресной книги телефона
  • Работа в фоновом режиме как сервис Android
  • Высокая стабильность и производительность
  • Корректная работа с Bluetooth гарнитурами
  • Уменьшение расхода заряда батареи телефона
  • Простой выбор используемой сети для исходящих вызовов

Несмотря на описанные преимущества, у такого решения есть и недостатки.

  • Отсутствие сервиса Autoprovisioning
  • Невозможность выбора кодека
  • Невозможность задания внешнего и внутреннего IP адреса сервера
  • Отсутствие настроек STUN сервера
  • Отсутствие других настроек, которые имеются в фирменном 3CXPhone for Android

Итак, приступим.

Прежде всего, нужно убедиться, что в нашем телефоне стоит Android 2.3 и выше. В настоящий момент Android 2.3 стоит далеко не во всех моделях, а только в самых новых. Поэтому, чтобы установить его в HTC Desire мне пришлось “рутовать” и перепрошить телефон.

Хочу заметить, что “рутование” аппарата может служит причиной для отказа в гарантийном обслуживании. Хотя весьма несложно и “анрутить” телефон, то есть привести его в “заводской” вид. Так что сильно переживать не стоит.

Я решил использовать модифицированную прошивку Leedroid. В ее описании сказано Enabled SIP (WiFi Calling) over 3G. Это то, что нам нужно. Кратко об установке новой прошивки можно прочитать здесь, а подробнее, например, здесь. Сам процесс перепрошивки я оставлю за пределами этого руководства. Я также не несу никакой прямой или косвенной ответственности за любые последствия перепрошивки аппарата.

После установки новой прошивки, раздел Settings > О телефоне > Версия ПО должен выглядеть примерно так.

device-2011-08-11-233943

Зайдем в раздел Settings > Настройки вызовов.

device-2011-08-11-235215

Тут нас интересует раздел Internet call settings, внизу.

image

В разделе Accounts установите галочку Receive incoming calls, если вы хотите не только звонить, но и принимать входящие вызовы. Затем нажмите Add account.

image

Тут следует указать параметры вашего внутреннего номера (Extension) в 3CX Phone System. Остальные параметры можно оставить по умолчанию.

image

После выхода из этого экрана, данные аккаунта будут сохранены и SIP клиент перейдет в режим отправки / приема вызовов.

image

После выхода из этого экрана выберите Use Internet calling.

image

В появившемся экране появятся три опции

  • For all calls when data nework is avalaible – если есть покрытие Wi-Fi или 3G, все вызовы пойдут по VoIP.
  • Only for Internet calls – звонки только на SIP адрес (SIP номер) контакта, если этот SIP номер введет в вашу адресную книгу. Пока еще довольно мало людей имеют свой SIP номер. Вероятно, эта опция позволяет также звонить абонентам Google Voice.
  • Ask for each call – при каждом вызове спрашивать, как именно звонить. Эта опция понравилась мне больше всего, т.к. позволяет осознанно указывать, по какой сети, VoIP или GSM, должен идти вызов.

image

Вот так выглядит запрос на выбор сети. Этот режим имеет еще одно очень интересное применение – он позволяет избежать ненужных звонков при случайном нажатии на экран телефона. Раньше у меня часто случались непроизвольные звонки, особенно если телефон находился в кармане или сумке. Дополнительное окошко запроса ставит как бы преграду от случайных нажатий!

image

А вот как выглядит входящий вызов. Caller ID, приходящий от 3CX Phone System, сверяется с адресной книгой телефона.

image

Итак, настроив телефон по данной инструкции, вы можете смело отказаться от дорогих DECT и Wi-Fi трубок. Кроме того, ваш аппарат будет совершенно прозрачно подключаться к корпоративной сети, как внутри ее, так и снаружи.

Хочу заметить, что если телефоны в адресной книге хранятся в формате E.164 (+380… или +7…), вам следует обратить внимание на соответствующий раздел в интерфейсе 3CX Phone System. Настройка этого раздела зависит от настроек префиксов в исходящих правилах.

image

В приведенном примере при наборе номера, например, +380679586868, от него отрезается +380 и добавляется 0. На выходе имеем номер 0679586868. Исходящее правило в данном конкретном случае выглядит так.

image

И последняя рекомендация – используйте проводную или Bluetooth гарнитуру! Это существенно улучшает качество голоса!