Как устроена услуга "Вам звонили"?

Суть ее такова: допустим, вам звонили, а вы в тот момент были вне зоны покрытия или вообще выключили телефон. Естественно, вы о звонке ни сном, ни духом. И тут вы включаете телефон (выходите из метро, из подвала и т.п.) и вам приходит SMS примерно такого содержания: "Вам звонило 10 человек с номерами: .....".

Естественный вопрос: кто следит за вашими звонками в то время, когда вы не можете их принять?

Всё просто. Но сначала ответим на вопрос: а каков полный список причин, по которым вы можете не принять звонок?

Они таковы:

  1. Вы вне зоны покрытия/у вас выключен телефон
  2. Вы не берете трубку
  3. Вы уже разговариваете по телефону, и у вас не включен сервис приема "второго звонка", либо же он включен, но вы исчерпали его возможности, поставив "на hold" четырех (или пятерых?) собеседников
  4. Вас все задрали, и вы поставили на телефоне безусловное перенаправление звонков на телефон вашего начальника

Если вы вдруг захотите, чтобы в любом из этих случаев происходило что-то более осмысленное, чем простой "сброс" звонка и проигрывание сигнала "занято" в ухо звонящему, то вам, как говорится, и карты в руки.

В рамках системы GSM существуют так называем "условные" перенаправления (call forwards) звонков, срабатывающие только при выполнении определенных условий. Пользователь может сам конфигурировать эти условия - в известных пределах. Всего существует три вида условных перенаправлений звонков:

  1. По событию "абонент недоступен" (call forward when unreachable, CFNR)
  2. По событию "нет ответа" (call forward on "no answer", CFNA)
  3. По событию "абонент занят" (call forward when busy, CFB)

Добавим к этому безусловное перенаправление звонков (call forwarding, unconditional, CFU), и вы увидите, что в любом из описанных случаев "неприема" звонка вы сами можете "отправить" звонок на какой-то другой номер.

Но вот на какой? Редко у кого есть второй мобильник, который будет принимать тогда, когда не работает первый. Плюс, перенаправление звонков стоит денег. На выручку абоненту приходят операторы мобильной связи, была бы выручка. Только ленивый оператор не предоставляет услугу "голосовой почты" - номера, на который можно перенаправлять свои звонки, чтобы они записывались, как на обычном автоответчике (прослушивание которого стоит денег, естественно).

Теперь возвращаемся обратно к теме статьи. Как вы поняли, железяка, которая пишет вам SMS-ы о пропущенных звонках - это такой специальный "автоответчик", который не записывает сообщения, а просто регистрирует время звонка и номер, с которого звонили. Плюс, он умеет засылать вам SMS со списком зарегистрированных звонков. Происходит это так:

Первый вариант: платформа после первого же пропущенного звонка отправляет вам SMS Class 0 (его получение произойдет молча, т.к. это вроде как такой ping). По получении delivery report-а о доставке этого ping-сообщения, платформа отсылает информационные SMS-ы обоим абонентам - и звонившим ("абонент снова на связи"), и тому, кому звонили.

Второй вариант: платформа сразу отправляет информационный SMS при первом же пропущенном звонке, а при каждом следующем звонке будет ее отзывать и дополнять информацией о новых звонках. Это будет происходить до тех, пока вы не появитесь в сети и SMS не доставится. Как только платформа получит delivery report, она отправит сообщения "абонент на связи" всем звонившим абонентам.

Но для начала нужно, чтобы звонки попадали на эту хитрую железку (часто называемую "сервис-платформой MCA", MCA = missed call alert), используется перенаправление "абонент недоступен" (оно же CFNR). У хитрой железки есть свой (служебный) номер телефона, на который и устанавливается перенаправление.

Кто его устанавливает? Возможны варианты:

  1. Вы сами (по инструкции от оператора)
  2. Оператор массово устанавливает перенаправление всем абонентам, которые не установили его сами.
  3. Операторское железо поддерживает функциональность вида "если абонент не задал номер для CFNR, то по дефолту будет использоваться такой-то"

Да, и последнее: что же вы увидите в SMS-е? Тут тоже возможны варианты:

  1. На каждый пропущенный звонок вам будет прислан один SMS, причем в качестве номера отправителя будет подставлен номер звонившего (чтобы телефон автоматически выбрал в вашей телефонной книге имя абонента и вы увидели его, а не номер звонившего). Это удобно вам, но расточительно для оператора.
  2. Будет прислан один SMS со списком номеров. То, насколько удобно вам будет разбираться с этим списком, зависит исключительно от интеллекта вашего телефона.
  3. Будет прислан один SMS со списком номеров. Но - на вашей SIM-карте находится какой-нибудь умный applet, который преобразует эти номера в имена из вашей телефонной книги, или что-то в этом роде.

Комментировать в LiveJournal

blog comments powered by Disqus