Чем больше живу с N900, тем больше поражаюсь какой у неё потеницал и как тщательно это запрятали разработчики от Nokia. Пытаясь разрулить примитивную (с точки зрения обычного телефона) проблему безусловной переадресации входящих звонков, неожиданно узнал и ещё о некоторых недокументированных возможностях, которые и решил опубликовать тут.
Мне по-жизни часто нужна безусловная переадресация на автоответчик. Но в N900 её штатно включить не возможно. В имеющемся апплете настройки телефонного модуля есть только 2 режима “нет переадресации” и “переадресация по не ответу в течение 20 секунд, занятости или недоступности”. А это совсем не то. Например переадресация по не ответу мне вообще сильно усложняет жизнь зимой. Пока я пойму, что телефон звонит и залезу в карман – она уже сработает. Вот я и начал поиск решения проблемы управления переадресацией.
Самое простое решение лежало в репозитариях – Call Forwarding Applet написанный Mikko Mehtonen. Им я и попытался воспользоваться. Но у меня все попытки установить безусловную переадресацию с его помощью вызывали только сообщение “No allowed” – не поддерживается.
Следующей попыткой я пошёл на веб страницу поддержки автоответчика моего оператора, где написаны универсальные USSD последовательности по управлению переадресацией. Известно, что в прошивках 1.0, 1.1 и 1.1.1 N900 USSD не поддерживается, но опять же, свободные девелоперы быстро заполнили эту пустоту. Спустя очень короткое время появился пакет ussd-widdget разрабатываемый Гусейновым Алексеем, которым я и попытался воспользоваться. Но опять не успешно. Обычные команды типа запроса баланса обрабатывались успешно, а вот запросы на переадресацию типа **21*+79217700000*11# отбрасывались. Списавшись с Алексеем мне удалось узнать, что его пакет USSD запросы транслирует в AT команды, которые передаёт штатному приложениею pnatd, являющимся CLI к модему. Но на самом деле эти шаманские последовательности переадресации не являются USSD запросами к оператору, а должны транслироваться в иные AT команды, которые ussd-widget не поддерживает.
Так я докатился до уровня модема при общении с N900. Порыскав по интернету я легко нашёл Нокиевское руководство по AT командам. В результате я наконец-то смог начать управлять безусловной переадресацией. Поэкспериментировав я понял как надо вклбючать/выключать. Единственное что я не научился – это как выходить из программы. Приходилось просто закрывать консоль. Итак волшебная последовательность включения:
$ sudo gainroot
$ pnatd
AT+CCFC=0,3,”+79217700000″,145
AT+CCFC=0,1
Первая команда задаёт номер для переадресации, вторая – включает. Выключить проще:
$ sudo gainroot
$ pnatd
AT+CCFC=0,0
Ну и посмотреть текущее состояние:
$ sudo gainroot
$ pnatd
AT+CCFC=0,2
Муторно, но заработало. Правда удовлетворения мне это не принесло, разве что я убедился, что безусловную переадресацию на N900 включить можно и просто нет GUI интерфейса для этого. Тогда я решил вернуться к апплету Call Forwarding и попытаться узнать почему он не работает. Cписался с Mikko Mehtonen с вопросом “почему”. Первоначальное его предположение было, что у меня “левый” оператор, который не умеет делать такие вещи правильно
Подискутировав на тему операторов, программ и телефонов он решил отвязаться от меня, сообщив, что с телефоной частью он общается на уровне dbus и прислал мне шаманские строки общения через этот интерфейс для управления переадресацией, предложив самому продолжить поиски, почему у меня не работает то, что работает у других. Подёргавшись, погуглив и пообщавшись с другими разработчиками, в конце концов я научился включать и выключать переадресацию и через этот интерфейс, но попутно я нашёл и ещё другие, неизвестные возможности, управляемые через dbus интерфейс. Часть из них мне была уже известна по wiki, а вот новые я здесь и выкладываю.
Проверка переадресации.
dbus-send –system –print-reply –dest=com.nokia.csd /com/nokia/csd/ss com.nokia.csd.SS.DivertCheck uint32:<reason>
где <reason>:
1 = unconditional
2 = busy
3 = no reply
4 = out of reach
Отмена переадресации.
dbus-send –system –print-reply –dest=com.nokia.csd /com/nokia/csd/ss com.nokia.csd.SS.DivertCancel uint32:<reason>
где <reason>:
0 = all
1 = unconditional
2 = busy
3 = no reply
4 = out of reach
5 = not available
Установка переадресации.
dbus-send –system –print-reply –dest=com.nokia.csd /com/nokia/csd/ss com.nokia.csd.SS.DivertActivate uint32:<reason> string:”<number>” uint32:<delay>
где <reason>:
1 = unconditional
2 = busy
3 = no reply
4 = out of reach
5 = not available
<number> – номер для переадресации в формате +XXXXXXXXXXX
<delay> – задержка. Для всех reason, кроме 3 и 5 должна быть 0. А для 3 и 5 – число секунд.

February 18th, 2010 at 2:31 pm
Дополнение. Mikko поправил Call Forwarding апплет и теперь есть работающее гуёвое приложение и пляски с CLI бубном не нужны
March 3rd, 2010 at 4:10 am
Аркадий, здравствуйте!
Чем вы сейчас пользуетесь для навигации?
March 3rd, 2010 at 10:19 am
В авто – TomTom Go 920 с прошивкой 9.026 и картой Европы с кирилицей версии 8.45.
К лету надеюсь подтянется софт для N900 – Mapper вроде как уже вполне рабочий – на велосипедах думаю буду по нему рулить.
Для пешеходной – посмотреть где хватает N900, а для поиска мест и пешеходного автороутинга – Nokia 5800 жены
March 3rd, 2010 at 9:07 pm
Спасибо! Вы не изучали чем отличаются TomTom Go 920 от 930 и 950? Странная ситуация на веб сайте TomTom – очень сильно отличается предложение автомобильных навигаторов по странам, региональный сайт для США предлагал возможность сравнения до 6ти разных моделей, но у них 900ой сери нет как класса, что-то странное…
Еще раз спасибо за Ваши любезные комментаирии!
March 3rd, 2010 at 10:27 pm
930 – это ицправленный по железу 920. 950 – другой девайс, с встроенным GSM модемом и рассчитанный на Live сервисы. Он не работатет с внешним телефоном, а только со встроенным в качестве доступа в сеть и информацией о пробках. Я не очень владею информацией о Live подписках в Латинской Америке. В Европе она есть в очень ограниченном списке стран.
Но вроде к 950 будет выпущен внешний RDS-TMC приёмник.
March 4th, 2010 at 2:28 am
Еще раз спасибо! Подписок на Live сервисы в Латинской Америке нет, к слову – ее нет и для Испании, хотя в соседних Португалии и Франции она есть.
Очень удивила разница в ценах на TomTom GO 950 – 300 евро и на мотоциклетный
TomTom RIDER Europe 2nd edition – 600 евро. Вы никогда не интересовались мотоциклетными навигаторами? Из-за чего такая разница в ценах?
Я хочу подобрать себе навигатор для пеших и автомобильных путешествий по Западной Европе, желательно от TomTom. Что бы Вы могли посоветовать на основе Вашего богатого опыта?
March 4th, 2010 at 8:25 am
Rider в защищённом исполнении вроде. Он ударов и воды не боится.
Если не нужен пульт беспроводный – 7х0 серии. У них максимально наворотов в виде акселерометров, гироскопов. Если по подписке через ГСМ трафик и внешний телефон не планируете брать информацию о пробках – х50 серии. К ним можно и RDS-TMC приёмник потом докупить. Ну или 930 сразу с приёмником и пультом.
Но! ТомТом’овские девайсы мало пригодны для пешей навигации. У них малая ёмкость аккумуляторов (время жизни) и в картах практически нет информации для пеших маршрутов. Для пеших а бы, как ни смешно, Nokia Maps посоветовал.
March 4th, 2010 at 8:02 pm
Значит буду изучать вариант с Nokia Maps, т.к. нужно длительное время автономной работы. Спасибо!
March 4th, 2010 at 9:08 pm
Если захочется именно девайса, а не телефона с софтом – смотрите на Гармины
March 8th, 2010 at 6:34 am
Смотрю на Гармины – их чертовски много! И понять в чем основные отличия внутрии серии а тем более между сериями не так-то просто, но с этим разберусь.
Всего лишь одна модель обещает время автономной работы до 5ти часов, а так – до 4х часов и до 3х часов, что не очень отличается от заявленного для ТомТома.
Был бы навигатор для ОС Андроид! Тогда бы задумался о покупке Андроид -телефона или интернет-таблетки от Арчос.
Удивительная ситуация – навигаторов предлагают много и разных, а ощущение такое что если не нужна информация о трафике то вполне можно обойтись и ТомТом на ТТ3 с внешним ГПС приёмником (мне очень нравятся на чипсете МТК – очень экономичные и быстро и точно координаты определяют).
Дело дошло до того, чдо уже рассматриваю покупку китайской коробки с диагональю 4 дюйма, с ОС Вин СЕ и предустановленным иГо – всё за 100 долларов.
К моему большому удивлению покупка навигатора оказалась непростой задачей.