Рассмотрим классическую ситуацию. С одной стороны у нас есть абонент,
который, уезжая в отпуск куда-нибудь в дальние страны, а то и просто «на
деревню к дедушке», хочет оставаться на связи, но так, чтобы это не
сильно ударяло по его бюджету. С другой стороны у нас есть операторы
традиционной и мобильной связи, которые за эту самую связь в роуминге
даже в пределах одной страны требуют мзду немалую. А с третьей стороны
есть провайдеры SIP-телефонии, о которых уже не раз говорилось на
страницах нашего ресурса. У них цены погуманнее, но и тонкостей в
настройке гораздо больше. Наша задача сводится к тому, чтобы совместить
дешевизну третьих с удобством вторых, да так, чтобы выгода была у
первого. Понадобится нам для этого немного времени, небольшая сумма
денег и телефон, на который можно установить SIP-клиент и который
поддерживает EDGE/3G или Wi-Fi — по ним и будет передаваться голосовой
трафик.
Итак, в чём суть идеи? Как обычно, всё гениальное просто.
В мире есть немалое число SIP-провайдеров. Каждый из них предлагает
свои расценки на звонки по разным направлениям (телефонным кодам
местности). Плюс ко всему нередко звонок с одного SIP-аккаунта на другой
вообще ничего стоит, а иногда выделяются даже целые направления, куда
можно звонить бесплатно или с большой скидкой. Почему бы не свести
воедино предложения от разных операторов SIP и не звонить по каждому из
направлений с максимально низкими ценами?
Вот этим-то мы и
займёмся. Естественно, сделать это надо так, чтобы не перенастраивать
каждый раз SIP-клиент. Ну и неплохо было бы устроить так, чтобы все
звонки на наш мобильный номер прозрачно переадресовывались на наш
телефон в роуминге, а также позаботиться о том, чтобы мы всегда могли их
принять. Есть ещё ряд шероховатостей, о которых будет упомянуто ниже.
Начнём
с подбора SIP-операторов, которые работают в тех зонах, которые нам
нужны. В качестве примера мы рассмотрим SIPNET и PCTEL, а также немного
коснёмся замечательного сервиса «Мультифон». Sipnet хорош тем, что
позволяет, пусть и с некоторыми ограничениями, бесплатно звонить на
городские номера Москвы и Санкт-Петербурга, а также регулярно устраивает
акции с бесплатными звонками в крупные города России (за ними гоняться
особо смысла нет, но всё же). PCTEL предлагает звонить по рублю за
минуту на все городские и мобильные номера в России.
Других
операторов SIP-телефонии, в том числе и зарубежных, вы можете выбрать на
свой вкус. Здесь надо обращать внимание на несколько моментов.
Во-первых, провайдеры тоже не дураки и кушать им хочется не только хлеб,
но и маслице с икрой. Поэтому чаще всего для активации аккаунта надо
внести определённую сумму на счёт. Как правило, просят «занести» не
более 10 долларов или евро. Нередки случаи, когда есть срок действия
платежа и прочие прелести оплаты, которые были свойственны мобильным
операторам ещё несколько лет назад. Во-вторых, надо крайне внимательно
ознакомиться с условиями обслуживания, акций и так далее. Мелкий шрифт,
глубоко запрятанная в глубинах сайта информация и хитрые нюансы у них
всё ещё встречаются.
Полезной будет возможность создавать
собственные направления звонков. Например, вы частенько осведомляетесь о
здоровье бабушки, которая живёт в Урюпинске. Тогда вы добавляете в
список избранных направление Урюпинска и звонки туда для вас будут
дешевле (зато другие будут дороже). Многие провайдеры позволяют
привязать к SIP-аккаунту номер мобильного телефона. Отказываться от
этого не стоит. Во-первых, при звонке через SIP у вызываемого абонента
отобразится ваш номер, а не номер шлюза, через который звонок
«приземляется». Во-вторых, это добавляет возможность SMS-callback, то
есть обратного вызова.
Вообще, наличие возможности заказать
обратный вызов разными способами очень важно. Работает это так. Вы
отправляете своему оператору SMS с номером вызываемого абонента (иногда
надо указать и свой текущий номер) или проделываете то же самое через
сайт, e-mail и так далее. После этого провайдер одновременно
дозванивается до вас и до вашего собеседника — в этом режиме он работает
как мост. Для вас плата за входящий вызов либо меньше, чем за
исходящий, либо вообще равна нулю. Конечно, в таком случае вы
оплачиваете звонок по тарифам SIP-оператора до вас и до собеседника. В
любом случае это выгоднее, чем прямой звонок из роуминга на нужный
номер.
Для подтверждения номера либо присылают SMS с кодом,
который надо ввести в личном кабинете, либо звонят и наговаривают его.
Помимо всего прочего полезно разузнать, есть ли шлюзы в обычную
телефонную сеть у вашего провайдера, а также можно ли за отдельную плату
получить ещё и постоянный номер (например, городской) телефона,
привязанный к вашему SIP-аккаунту. И ещё один немаловажный момент — у
вас должен быть лёгкий способ пополнения счёта из той страны, куда вы
поедете. Впрочем, любые приличные операторы принимают карты.
Подробно
на регистрации аккаунта у каждого SIP-провайдера мы останавливаться не
будем — она ничем, в сущности, не отличается от регистрации на любом
другом веб-сервисе. Зарегистрировались? Теперь идём на сайт
http://pbxes.com и заводим там себе бесплатный аккаунт. Этот сервис
предоставляет нам виртуальную АТС. В бесплатной версии есть некоторые
ограничения: не более 2 000 минут в месяц, тайм-аут в один час на
исходящий вызов, до пяти транков и экстеншенов (о расшифровке этих
терминов чуть позже), не более двух одновременных звонков и некоторые
другие. Для наших целей такой конфигурации вполне достаточно.
Перед
настройкой придётся немного окунуться в терминологию. Представьте себе,
что наша виртуальная АТС — это некий чёрный ящик. С одной стороны к
нему подходят каналы от нескольких операторов связи, неважно каких. Так
вот, эти каналы называются транками (trunk, соединительная линия, канал
связи). С другой стороны к этому ящику подсоединяются телефоны абонентов
(опять же не суть, какие именно). Эти «соединения» называются
экстеншенами (extension, расширение), и они определяют команды, которые
выполняются в различных сценариях поведения абонентов (не ответил,
сбросил вызов и так далее).
Внутри чёрного ящика происходит
перенаправление вызовов. Это как будто вы позвонили на работу своему
другу, а девочка-секретарь говорит вам: «Подождите, я сейчас переключу
вас на Иван Михалыча». Правила, по которым происходит это
перенаправление (не ручное, конечно, — девочки там не сидят, вместо них
бездушные машины), называются правилами набора (dial-plan, диалплан).
Это самая важная часть любой АТС. На самом деле, конечно, мы привели
здесь сильно упрощённую схему работы.
Надеюсь, объяснение получилось доступным. Теперь нам надо настроить все эти транки, экстеншены и диалпланы. Делается это не так сложно. Заходим в наш аккаунт на pbxes.com и слева в меню выбираем Extensions → Add Extension → SIP. В Extension Number вводим любое число — это номер расширения, и он должен быть уникальным для каждого из них. Пусть для порядка это будет 1. В Display Name вбиваем название для расширения, а в password вводим любой понравившийся пароль. С этими данными мы впоследствии будем подключаться к АТС с помощью SIP-клиента. Нажимаем на кнопку Submit, а затем на появившуюся сверху красную полоску (You have made changes — when finished, click here to APPLY them).
Теперь добавим несколько транков. Идём в Trunks → Add Trunk → Add SIP Trunk. В Trunk Name вводим имя транка, какое угодно. Переводим dtmfmode в inband, register в yes, а в username и password указываем логин и пароль от того SIP-оператора, которого мы добавляем в транк. В SIP server or proxy и domain вводим адреса sip-сервера и домена провайдера. Как правило, они совпадают и используется стандартный порт 5060. Но, например, для подключения к транку «Мультифона» надо указывать в SIP server sbc.megafon.ru, а в domain писать multifon.ru. Более точную информацию о необходимых параметрах подключения можно узнать на сайте SIP-провайдера. Аналогичным образом надо добавить транки и для всех остальных учётных записей SIP. Не забываем про Submit и Apply.
Настроим простейшую маршрутизацию. Для входящих вызовов переходим к Inbound routing, создаем или редактируем маршрут по умолчанию «/». Выбираем в Regular Hours и After Hours пункты Extension, а в них наше SIP-расширение, которое было создано ранее. Остальные поля и значения не меняем. Сохраняем изменения.
Теперь самое интересное — маршрутизация исходящих звонков. Идём в Outbound Routing → Add Route. Для начала создаём маршрут по умолчанию, то есть тот, через который будут идти все звонки. В поле Route Name вводим название маршрута. Пусть это будет default. В Trunk Sequence выбираем нужный транк, нажимаем Add, отмечаем Valid for all numbers и сохраняем изменения. В нашем примере звонки по умолчанию будут совершаться через Sipnet, но вы можете назначить другого оператора.
Теперь добавим ещё два маршрута — для звонков в Москву плюс Санкт-Петербург и по России. Вспоминаем, что для первого случая нам нужен транк Sipnet (бесплатно), а для второго — PCTEL (1 руб./мин.). Но здесь мы зададим фильтры либо по начальным цифрам номера (Numbers starting by), либо по определённому шаблону (Custom Dial Patterns). Естественно, надо будет отметить нужный пункт в Set Destination. В каждой строке должен быть один фильтр. Правила составления очень просты — либо мы прямо указываем цифры, либо используем замену.
X — число от 0 до 9
Z — число от 1 до 9
N — число от 2 до 9
[134-7] — одно из чисел 1,3 и диапазона от 4 до 7. Это один знак, а не несколько!
. — точка заменяет любые возможные символы
Это не все возможные замены, но остальные вряд ли нам пригодятся. Разберём на примере. Международный код России +7, за ним следует 10-значный номер телефона — используем фильтр по шаблону вида +7XXXXXXXXXX. Код Москвы 495 или 499 — зададим фильтр либо по двум префиксам +7495 и +7499, либо по одному универсальному +749[59]. Аналогичным образом добавляется соответствие других направлений с транками. В качестве разминки составьте шаблон для номеров российских мобильных. Кстати, обратите внимание, что все вызовы должны производиться в международном формате. То есть при звонке в Россию вместо 8 (987) 123-45-67 надо набирать +7 (987) 123-45-67 . Не исключено, что в фильтрах придётся убрать плюсики перед записями.
Пора проверить работоспособность нашей системы. Для этого нам понадобится любой SIP-клиент. Мы для примера возьмём легковесный вариант PhonerLite в portable-версии, но вы можете выбрать любой другой по своему вкусу. Для подключения к виртуальной АТС нужно использовать логин следующего вида: имя акканута на pbxes.org+дефис+номер расширения. Например, username-1. Если сомневаетесь в правильности, то загляните в параметры расширения — там в разделе Device Options → username указан нужный логин. Сервер и домен — pbxes.org, порт 5060, предпочтительный протокол UDP, пароль такой, как в учётной записи pbxes. Возможно, придётся прописать STUN-сервер. Можно выбрать любой доступный — например stun.sipnet.ru:3478.
Сохраняем настройки и перезапускаем SIP-клиент. В нижней строке должен гореть зелёный значок, сообщающий, что подключение прошло успешно. В веб-интерфейсе pbxes переходим на вкладку Status — здесь показывается состояние всех транков и расширений. У каждого из них слева должен гореть зелёный кружок — это значит, что всё в порядке. Если же он чуть затемнён или вообще красный, то надо ещё раз перепроверить настройки транков и расширений — либо к ним не удалось подключиться, либо просто нет активных соединений. На вкладке Usage показывается число уже использованных минут и объём переданного трафика.
Теперь нам надо сделать так, чтобы все звонки, которые поступают к нам на мобильный номер (например, московский), переводились в SIP. Таким образом, вашим знакомым не придётся каждый раз, когда вы уезжаете в другую страну, записывать ваш местный номер. Вариантов может быть несколько. Например, можно купить 3G-модем с поддержкой голосовой связи и подключить его к программному шлюзу. Можно и самому собрать такой шлюз на базе Asterisk.
Ещё один способ — купить городской номер у любого российского SIP-оператора и при отъезде включать переадресацию вызовов с вашего постоянного мобильного номера на него. Однако наиболее дешёвым вариантом будет покупка SIM-карты «Мегафона» (если вы, конечно, уже не являетесь абонентом этой сети) и подключение сервиса «Мультифон». Останется только включить в «Мультифоне» опцию «Направлять входящие звонки только в Мультифон» и назначить переадресацию с вашего номера на мегафоновский номер. Ну и надо добавить ещё один транк к уже имеющимся — адреса серверов были названы выше, в качестве username надо будет указать номер «Мегафона» в формате 792XXXXXXXX, а в качестве пароля — тот, который был задан для «Мультифона».
На телефон или смартфон надо будет установить SIP-клиент, которых понаписано великое множество для каждой из мобильных платформ, а в некоторых аппаратах Nokia или на базе Android 2.3+, например, он вообще встроенный. В настройках подключения потребуется указать те же данные, что мы использовали в PhonerLite. Посоветовать какой-то конкретный клиент довольно трудно — выбирайте тот, что больше по душе (по интерфейсу, эргономике, функциям, качеству звука и так далее). Желательно, чтобы он мог работать с базой контактов в телефоне, так как это значительно упрощает вызов нужного абонента. Кстати, для домашнего использования вы можете прикупить аппаратный SIP-телефон или адаптер, да и просто звонить с ПК через SIP-клиент.
План действий по приезде в другую страну примерно такой. Для начала покупаете SIM-карту какого-нибудь местного оператора, желательно с недорогим 3G-интернетом. Суть в том, если вы всегда будете в зоне доступности бесплатного Wi-Fi или у вас будет дешёвый мобильный Интернет со скоростью не ниже 64 Кбит/с, то вы просто запускаете SIP-клиент в телефоне и звоните и принимаете вызовы исключительно через него.
Если же вас такой вариант не устраивает, то надо подыскать VoIP-дискаунтера вроде rynga или justvoip. Главное, чтобы звонок из его SIP-сети на ваш зарубежный мобильный номер стоил дёшево. После этого необходимо создать ещё один транк для этого SIP-провайдера, а в расширении, которое мы создали в самом начале, в поле Call Forking прописать номер мобильного в международном формате. Затем создаём ещё один маршрут Outbound Routing — называем его как-нибудь (пусть это будет incoming), выбираем транк с дискаунтером и в фильтре Custom Dial Patterns снова вписываем номер купленной SIM-карты.
Теперь все входящие звонки будут направляться и в SIP, и на телефон. Альтернативный вариант — создание ещё одного расширения PSTN (с указанием местного номера), объединение его в группу вызовов (Ring groups) и создание маршрута в Outbound Routing с выбором этой группы и нужного транка. Основной недостаток любого из этих двух методов в том, что вы, скорее всего, будете видеть не номер абонента, который вам звонит, а номер местного шлюза SIP, что не очень удобно.
После всего, что уже сделано, осталось только подправить список маршрутов в Outbound Routing в меню слева, упорядочив его. Все фильтры применяются в порядке очередности, и это надо обязательно учитывать. Первым в нашем примере идёт маршрут mskspb, который проверяет, не принадлежит ли вызываемый номер Москве или Питеру. Если да, то поиск маршрута останавливается и делается вызов через транк Sipnet. Если нет, то проверяется следующий маршрут и так далее, пока очередь не дойдёт до последнего (default), который готов работать с любым номером, так как фильтров в нём нет.
Для совершения исходящих вызовов удобнее, конечно, пользоваться SIP-клиентом в телефоне. Альтернативный способ — SMS callback или Web callback, когда вы указываете нужный номер в SMS или на сайте. А вот некоторые SIP-провайдеры, в частности MTT, предлагают не просто городской номер телефона, но и возможность обратного вызова с его помощью. То есть вы набираете этот номер, сбрасываете вызов, и вам автоматически поступает входящий звонок с предложением набрать в тоновом режиме номер вызываемого абонента. Это, конечно, тоже не очень удобно. Увы, всегда приходится выбирать — либо дорого и с комфортом, либо дёшево и без удобств.
На этом, пожалуй, пора заканчивать. Описанная выше схема довольно сложна в понимании и настройке. Перед тем как заморачиваться с её реализацией, неплохо бы как следует подумать, надо ли оно вам. Операторы сотовой связи недавно наконец-то снизили свои расценки. К тому же пользователю часто доступны различные тарифные опции, пакеты минут, бонусы, скидки, акции и так далее. Есть специальные туристические SIM-карты и множество других способов сэкономить. Наибольшая экономия достигается, конечно, при использовании SIP-клиента вкупе с бесплатным Wi-Fi. В остальных случаях придётся аккуратно всё подсчитать и сравнить с предложениями мобильных операторов. Вполне возможно, что выгода окажется не столь значительной. Впрочем, если вы наговариваете в роуминге несколько тысяч минут ежемесячно, то даже 10-20 % экономии будут весьма существенны. В общем, есть над чем подумать. Удачи!