В данной статье рассмотрим ещё один полезный модуль из базового функционала FreePBX 13 — Set CallerID. Данный модуль позволяет влиять на идентификатор вызывающего абонента (CID- СallerID) в рамках процесса установления вызова. Например, если у вас несколько провайдеров по-разному отдают CallerID, в данном модуле можно привести их к общему виду для корректного отображения в CDR или добавить к определенным входящим звонкам уникальный префикс.
Мы собрали концентрат всех must have знаний в одном месте, которые позволяют тебе сделать шаг вперед на пути к экспертному владению Asterisk
Настройка модуля Set CID
Перейдём к настройке. Традиционно, для всех примеров, будем использовать FreePBX версии 13. Для того, чтобы попасть в модуль Set CallerID, с главной страницы, переходим по следующему пути: Applications -> Set CallerID. По умолчанию, данная вкладка пустая, нажимаем на кнопку Add
Откроется следующее окно добавления нового CID, в котором необходимо заполнить следующие пункты.
Рассмотрим подробнее каждый из пунктов:
- Description — Предлагается ввести описательное название нового CID, которое поможет определить его назначение. Например: “Sales CID”
- CallerID Name — Здесь настраивается на что будет заменено имя звонящего (caller ID name). Если предполагается изменение текущего имени, то необходимо включить соответствующие переменные. Если же оставить данное поле пустым, то имя звонящего останется пустым.
- CallerID Number — Здесь настраивается на что будет заменён номер звонящего (caller ID number). Если предполагается изменение текущего номера, то необходимо включить соответствующие переменные. Если же оставить данное поле пустым, то номер звонящего останется пустым.
- Destination — Здесь выбирается назначение для продолжения звонка. Звонок будет перенаправлен по данному назначению с новыми именем и номером (CallerID Name/ Number)
Пример модификации Caller ID Name
Давайте рассмотрим несколько примеров, чтобы понять, как работает данный модуль, а заодно и принципы работы с переменными.
Допустим, мы хотим добавить некий префикс к номерам, которые маршрутизируются с нашего IVR. Мы знаем, что на нашем IVR настроен маршрут для соединения с отделом продаж по клавише “3” и хотим, чтобы у всех звонков, отправленных по данному маршруту был префикс “Sales” перед номером.
Для этого, сначала создаём новый шаблон в модуле.
- В поле Description пишем “Sales CID”
- В поле CallerID Name пишем “Sales:” перед $, это действие и добавляет необходимый префикс.
- Поле CallerID Number оставляем без изменений
- Наконец, в поле Destination, выбираем назначение для данного шаблона – внутренний номер менеджера по продажам (7771 Sales Manager)
Не забываем нажимать Submit и Apply Config
Далее, отправляемся в модуль IVR и настраиваем соответствующее правило.
Готово, теперь все абоненты, попавшие на IVR и нажавшие клавишу “3” на телефоне, попадут на менеджера по продажам, но их номера на дисплее телефона менеджера, будут иметь префикс “Sales”, так менеджер поймёт, что звонок поступил с IVR.
Если Вы хотите подробнее ознакомиться с возможностями модуля IVR, прочитайте нашу соответствующую статью о настройке модуля IVR во FreePBX 13.
Пример модификации Caller ID Number
Рассмотрим другой пример. Допустим, наш провайдер отдаёт нам callerID в формате 8ХХХХХХХХХХ. Но звонить в город мы должны через префикс “9”. Если нам придёт звонок с номера 8ХХХХХХХХХХ, мы должны будем сначала набрать “9”, чтобы дозвониться. Данную задачу можно решить с помощью модуля Set CallerID.
Создадим новый шаблон.
- В поле Description пишем “Outbound Prefix 9”
- Поле CallerID Name оставляем без изменений
- В CallerID Number
- Наконец, в поле Destination, выбираем назначение для данного шаблона, например ринг-группа — (4543 Managers)
Готово, теперь, при поступлении внешнего звонка на ринг-группу Managers, к номеру звонящего автоматически будет добавлен необходимый префикс “9”, таким образом, все участники из ринг-группы, смогут очень просто сразу вызвать абонента заново.
Если Вы хотите побольше узнать о группах вызова, прочитайте нашу соответствующую статью о настройке модуля Ring Groups во FreePBX 13.
Синтаксис
Обобщим все вышесказанное и сведем в таблицу принципы формирования переменных:
Пример | Описание |
---|---|
$ | убирает одну цифру спереди. Например, если звонок приходит вам с Caller ID Number +74951234567, то запись вида $ преобразует его в 74951234567 |
$ | тоже самое, только цифры буду удаляться с конца. Например, при записи $ номер +74951234567 будет преобразован в +749512345 |
$ | Данную запись следуют интерпретировать так: начиная с символа s удалить n символов. Например, запись вида $ преобразует номер +74951234567 в +741234567 |
Базовый курс по Asterisk
Мы собрали концентрат всех must have знаний в одном месте, которые позволяют тебе сделать шаг вперед на пути к экспертному владению Asterisk
Полезно?
Почему?
😪 Мы тщательно прорабатываем каждый фидбек и отвечаем по итогам анализа. Напишите, пожалуйста, как мы сможем улучшить эту статью.
😍 Полезные IT – статьи от экспертов раз в неделю у вас в почте. Укажите свою дату рождения и мы не забудем поздравить вас.
Источник
Подмена исходящего caller id num
Добрый день. Прошу помощи, помогите разобраться. Установлена сборка freepbx стабильная версия. Облазал весь интернет, но конкретно под свой случай понятный рабочий вариант так найти и не смог, отовсюду нацеплял кусочки, но полной картины не понимаю.
Нужно на определенный sip транк (транк назвал Asterisk1 (в настройках транка context не указан), с исходящим правилом в Outbound routes — назвал также Asterisk1) отдавать на другую атс все внутренние номера с добавлением префикса перед номером, т.е. добавить нужно 5 в начало.
Т.е. помогите понять, каким образом сделать так, чтобы это заработало: exten => _X.,1,Set(CALLERID(num)=5$) ?
Прописать этом могу в freepbx только в extensions_custom.conf, т.к. другие конфиги не правятся во freepbx.
Что пробовал и что вычитал. Пробовал добавлять такой конфиг [from-internal-custom] exten => _X.,1,Set(CALLERID(num)=5$) exten => _X.,2,Goto(outbound-allroutes,$,1)
Но здесь я так понимаю правило работает для всего, а мне нужно отдельное правило для отдельного транка, плюс в таком случае со своей атс я звоню на другую и там подставляется 5, а в обратную сторону почему-то любые звонки перестают проходить. С правилом что-то не так, подскажите как должно быть.
Также вычитал, что чтобы во freepbx использовать свои contexts, то нужно скачать модуль custom contexts, модуль скачал установил, с ним все понятно, но как его применить и сделать так чтобы работало. Создавал в этом модуле контекст, затем в настройках транка прописывал этот context, ну тут явно что-то делаю не так, т.к. не работает.
Также еще вычитал, что во freepbx нужно в extensionsoverridefreepbx прописывать исключения, чтобы использовать контексты, но тут тоже понимания нет.
Источник
VoIP телефония. Asterisk. Нестандартный подход ко всему. Часть 1
Ровно год назад к нам обратились бывшие коллеги, с предложением принять участие в модификации движка VoIP оператора связи. Задача сводилась к полной переделке личного кабинета, обеспечению масштабирования системы, создания системы биллинга, LCR, мониторинга расходов пользователей, контроля длительности разговоров, аналитики по звонкам. История закончилась печально, т.к. заложенный нами расширенный функционал системы якобы не соответствовал ТЗ, никак не формализованному на бумаге и находящемуся только в головах менеджеров оператора. В связи с тем, что за разработанный функционал, который заказчику очень понравился, менеджеры платить не захотели, отношения мы разорвали. NDA и договора у нас не было, поэтому посоветовавшись с коллегами мы решили часть наработок выложить в свободный доступ. Я думаю, что это будет серия статей. И начнём пожалуй с базовых вещей и архитектуры.
Каждый администратор, который хотя бы раз в жизни имел дело с IP телефонией знает, что услуги IP телефонии могут предоставляться конечному абоненту несколькими способами:
- Аренда номера у оператора связи. В данном случае пользователю выдаётся личный логин/пароль к которому «привязан» телефонный номер. При использовании связки логин/пароль для подключения к оборудованию оператора, пользователь может принимать звонки на арендованный номер и совершать звонки другим абонентам с этого номера.
- Аренда блока номеров и подключение через SIP Trunk(транк). При подключении через SIP Trunk, оператор связи отправляет на заранее согласованный IP адрес все вызовы, приходящие на арендованные у этого оператора номера. В зависимости от способа организации SIP транка, может использоваться или не использоваться парольная аутентификация. В данном случае установка правильного CallerID, который будет видеть вызываемая сторона при исходящих звонках лежит на плечах администратора IP АТС.
- Покупка DID номеров у операторов связи без покупки исходящего трафика. Оператор просто перенаправляет вызов, пришедший на данный номер, на указанный сервер.
- Покупка исходящего трафика. Есть довольно много операторов связи продающих исходящий трафик. При этом в зависимости от тарифного плана передаваемый вызываемой стороне CallerID может передаваться или теряться при прохождении через цепочку операторов терминирующих(доставляющих до конечного клиента) трафик нужного направления. Довольно часты случаи, когда звонок на московский номер через московского оператора может прийти скажем с лондонского номера или с бельгийского, потому что маршрут был дешевле.
Компании имеющие представительства в нескольких странах или желающие получить присутствие в другой стране, могут купить, для удобства своих клиентов, телефонный номер скажем в Великобритании и обрабатывать поступающие звонки в Москве. При этом оператор предоставивший им такой номер может не заниматься доставкой звонков в Великобританию. Некоторые страны, например республика Беларусь, не предоставляют номера нерезидентам.
Итак, исходим из следующих начальных требований:
- Сервер для приёма вызовов может стоять где угодно
- Количество серверов не ограничено
- Количество операторов связи не ограничено
- Приём вызова может происходить при любом типе аренды номера (логин/пароль или транк)
- Вызов с определенным CallerID должен происходить только с того сервера и только с той учётной записи, к которой на данный момент привязан этот CallerID, либо через оператора позволяющего менять CallerID
- Вызовы между соседними серверами должны проходить прозрачно без потери информации о вызываемом абоненте. Например переадресация лондонского номера на внутренний, мобильный или стационарный телефон в другом регионе
- Для исходящих вызовов, в зависимости от тарифного плана, должен выбираться наиболее дешевый маршрут с резервированием через более дорогие. В целях контроля качества связи необходимо обеспечить мониторинг ABR, ASR(статистические параметры, определяющие качество связи в заданном направлении через определённый узел телефонии)
- Если есть внешние пользователи использующие систему, они должны видеть в realtime свой текущий баланс и совершаемые на данный момент разговоры
- При достижении значения текущего баланса менее определенной суммы пользователь должен получать голосовое сообщение об отрицательном балансе с прекращением разговора
- Пользователь должен иметь возможность совершать звонки через веб браузер(WebRTC)
- Сервера обработки входящих и исходящих вызовов, а также сервера обслуживающие абонентов могут быть разделены
- Для аналитики и маршрутизации вызова нужна геолокация входящих и исходящих звонков
Небольшая ремарка: описываемая конфигурация является универсальной, но в большей степени подходит для сервисов имеющих клиенто-ориентированное направление, например call центров, в случаях когда необходима персонализация клиентов и привязка клиента к одному менеджеру или группе менеджеров. Большинство описываемых механизмов универсально и может эффективно использоваться в других конфигурациях.
Требований довольно много, так с чего начать? Принимать и совершать звонки будет Asterisk, подготовкой вызовов будет заниматься Application Server на python, все рабочие данные мы будем хранить в MariaDB, а большинство логики будет реализовано в виде процедур. Это позволит нам максимально дистанцировать логику работы asterisk от лишних правил в диалплане и обеспечить масштабируемость совместно с унификацией конфигурации.
Трафик
Определимся с нашим трафиком. Нам необходимо присутствие скажем на Кипре, Америке, Великобритании и России. С точки зрения Российского трафика выгоднее работать через Российских операторов связи. Например Весткол, IPPort и прочих. Российские(московские) операторы также по довольно приемлемой цене предоставляют в аренду телефонные номера в кодах 495 и 499. Присутствие на Кипре, в Америке и Великобритании мы можем обеспечить себе купив номера у Zadarma, Multilel или кого-то другого. Так как международные вызовы у Российских операторов довольно дороги, то можно купить трафик у зарубежных операторов для примера VoiceBuy или VoxBeam.
При подключении к оператору связи в варианте «логин/пароль» звонки на нашу АТС будут приходить с IP адреса сервера оператора, на котором происходит регистрация. Однако в случае исходящих звонков адрес сервера может быть другим.
При подключении к оператору через SIP транк входящие звонки могут приходить с нескольких серверов из пула оператора, а исходящие звонки осуществляются по единому DNS имени, на котором в большинстве случаев находится несколько IP адресов. Как мы уже определились ранее, оператор может иметь возможность замены CallerID для исходящего вызова, что может регулироваться тарифным планом либо договором. Замена CallerID(подмена номера) в России при исходящих вызовах запрещена. С зарубежными операторами дело обстоит намного проще и замена CallerID вполне себе поддерживается.
Создаём базу данных.
Большинство публикуемых в данной статье данных и таблиц являются выдержками из ядра реальной базы данных, за исключением номеров телефонов и IP адресов
В связи с тем, что у нас имеются мультивалютные операторы связи, в таблице операторов связи должна присутствовать ссылка на таблицу валют. Чуть позже мы рассмотрим возможность мультивалютного пересчёта тарифов операторов.
currency
id | iso | name_en | name_ru | numcode |
---|---|---|---|---|
96 | RUB | Russian Ruble | Российский рубль | 643 |
122 | USD | US Dollar | Доллар США | 840 |
156 | EUR | Euro | Евро | 978 |
providers
id | providername | currency_id | noncli_prefix | cli_prefix | premcli_prefix | cli_allowed | dynamic_calls | append_plus | dynamic_calls_caller_id |
---|---|---|---|---|---|---|---|---|---|
3 | Zadarma | 96 | N | N | 1 | ||||
4 | Multitel | 122 | N | N | 1 | ||||
7 | WestCall | 96 | Y | N | 74951815283 | ||||
8 | VoxBeam | 122 | 0011103 | 0011101 | 0011102 | Y | Y | 1 | |
11 | VoiceBuy | 122 | 9991 | 9992 | 9993 | Y | Y | 1 | |
16 | IPPort | 96 | N | N | 1 |
Обычно у зарубежных операторов 2-3 тарифа по которым они доставляют трафик до вызываемого абонента. Про различия CLI и NonCLI техник можно прочитать здесь.
Для выбора тарифного плана обычно используется префикс (noncli_prefix, cli_prefix, premcli_prefix) указываемый перед вызываемым номером в процессе формирования строки вызова.
- providername — наименование оператора
- currency_id — валюта оператора
- noncli_prefix — тариф без поддержки CLI
- cli_prefix — тариф с поддержкой CLI
- premcli_prefix — тариф премиального уровня
- cli_allowed — указывает на то, что оператор позволяет менять CLI для исходящих вызовов
- dynamic_calls — указывает, что оператор позволяет осуществлять звонки по любым направлениям с любым CLI.
- append_plus — добавлять или не добавлять «+» перед вызываемым номером. Часть операторов требует «+», часть нет.
- dynamic_calls_caller_id — CID для оператора по умолчанию.
В случае с WestCall и другими операторами предоставляющими подключение через SIP транк, вы покупаете пул номеров и осуществляя вызовы можете менять исходящий номер на любой номер из данного пула. IPPort как и прочие операторы, при использовании схемы логин/пароль с единственным купленным номером, не позволяют менять исходящий номер. Операторы VoxBeam и VoiceBuy используются для исходящих звонков для любых направлений и позволяют менять исходящий номер на любой другой. Правда здесь есть одно но! И заключается оно в том, что конечные операторы связи доставляющие звонок до вызываемого абонента, могут отклонить вызов или поменять номер вызывающего абонента на свой, если вызывающий номер соответствует внутреннему номеру страны или местности. Т.е. скажем при звонке из России в Украину(Киев) мы меняем CallerID на украинский номер в Киеве и оператор связи через которого идёт вызов может данный звонок просто «отбить», т.к. он не соответствует внутренней политике обработки звонков «Звонок через внешний входящий международный транк не может содержать внутренних номеров». Операторы Zadarma и Multitel у нас будут использоваться в качестве поставщиков номеров и исходящий трафик мы через них отправлять не будем, хотя при желании могли бы.
Важным аспектом обработки вызова является безопасность. Довольно часто встречаются ситуации, когда неверно настроенный сервер IP телефонии позволяет пропускать сквозь себя чужие звонки. Для обеспечения безопасности контуров обрабатывающих входящие и исходящие звонки, дополнительно к разделению операторов по различным контекстам, стоит создать базу IP адресов операторов связи предоставляющих нам услуги связи. Во первых это позволит настроить экспорт адресов в firewall и убрать лишние попытки «прозвона» через нас, во вторых даст более полную информацию о способах подключения к операторам связи.
providers_ips
id | provider_id | ipaddress | domainname | direction | proto |
---|---|---|---|---|---|
1 | 8 | 2130706433 | sbc.voxbeam.com | OUT | SIP |
2 | 8 | 1607694320 | 95.211.119.240 | IN | SIP |
7 | 3 | 2130706433 | sip.zadarma.com | OUT | SIP |
16 | 3 | 3106773121 | proxy-1.fr.zadarma.com | IN | SIP |
17 | 3 | 3106773122 | proxy-2.fr.zadarma.com | IN | SIP |
31 | 16 | 1506852360 | 89.208.190.8 | IN | SIP |
33 | 16 | 1506852357 | 89.208.190.5 | IN | SIP |
34 | 16 | 1506852354 | sip.n1.ipport.net | OUT | SIP |
35 | 11 | 2991415097 | sip.voicebuy.com | OUT | SIP |
42 | 4 | 3514573416 | 209.124.34.104 | OUT | SIP |
44 | 7 | 3277775106 | 195.94.225.2 | IN/OUT | SIP |
51 | 4 | 3514573417 | 209.124.34.105 | IN | SIP |
52 | 4 | 3514573446 | 209.124.34.134 | IN | SIP |
- provider_id указывает привязку адреса к оператору из таблицы providers
- ipaddress является Int представлением fqdn адреса сервера оператора для конвертации при помощи встроенной функции INET_NTOA.
- domainname указывает fqdn имя сервера оператора осуществляющего обработку вызова.
- direction указывает направление вызова для указанного IP адреса(OUT только на выход, IN только на вход, IN/OUT и на вход и на выход)
- proto указывает протокол по которому происходит взаимодействие с оператором связи(SIP/IAX2/H323)
Таким образом связка оператора и адресов будет выглядеть следующим образом.
vw_providers
id | providername | proto | aa | direction |
---|---|---|---|---|
16 | IPPort | SIP | 89.208.190.5 [89.208.190.5] | IN |
16 | IPPort | SIP | sip.n1.ipport.net [89.208.190.2] | OUT |
16 | IPPort | SIP | 89.208.190.8 [89.208.190.8] | IN |
4 | Multitel | SIP | 80.97.55.105 [80.97.55.105] | IN |
4 | Multitel | SIP | 209.124.34.104 [209.124.34.104] | OUT |
4 | Multitel | SIP | 41.218.96.199 [41.218.96.199] | IN |
11 | VoiceBuy | SIP | sip.voicebuy.com [178.77.95.57] | OUT |
8 | VoxBeam | SIP | sbc.voxbeam.com [127.0.0.1] | OUT |
8 | VoxBeam | SIP | 95.211.119.240 [95.211.119.240] | IN |
7 | WestCall | SIP | 195.94.225.2 [195.94.225.2] | IN/OUT |
3 | Zadarma | SIP | proxy-1.fr.zadarma.com [185.45.152.129] | IN |
3 | Zadarma | SIP | proxy-3.ri.zadarma.com [195.122.19.11] | IN |
3 | Zadarma | SIP | siplv.zadarma.com [195.122.19.17] | IN |
3 | Zadarma | SIP | proxy-8.fr.zadarma.com [185.45.152.136] | IN |
3 | Zadarma | SIP | sip.zadarma.com [127.0.0.1] | OUT |
3 | Zadarma | SIP | siplv1.zadarma.com [195.122.19.17] | IN |
3 | Zadarma | SIP | mediarelay-1.zadarma.com [185.45.152.162] | IN |
Для чего это нужно ?
- Входящий вызов на номер телефона, арендованного нами у конкретного оператора, должен приходить из пула IP адресов серверов этого оператора. Поэтому в момент входящего вызова стоит проверить номер привязанный к оператору с таблицей IP адресов оператора
- Оператор может иметь несколько серверов обрабатывающих исходящие вызовы от нашего сервера, поэтому это нужно учесть при формировании очереди дозвона
- Данная схема позволяет мгновенно получать строку вызова. При этом замена domainname на имя транка определенного в sip.conf или iax.conf не нарушает работу системы
- Номера могут быть «размазаны» по нескольким серверам для отказоустойчивости, а могут быть жёстко закреплены за каждым сервером. Нет смысла обслуживать вызов на сервере, к которому этот номер не прикреплён.
Попробуем получить строку вызова для номера 74957777777.
Запрос строки дозвона
dial_string |
---|
SIP/sip.zadarma.com/74957777777 |
SIP/westcall/74957777777 |
SIP/sbc.voxbeam.com/001110174957777777 |
SIP/sip.voicebuy.com/999274957777777 |
SIP/sip.n1.ipport.net/+74957777777 |
Как мы видим, мы получили готовые данные для дозвона, которые нужно передать приложению Dial сервера Asterisk. На этом пока остановимся.
Для привязки арендованных у оператора связи номеров, нам необходимо задать список серверов на которых данные номера будут обслуживаться.
servers
id | servername | location | ipaddress | comment | sip | iax2 | iax2control | protocol |
---|---|---|---|---|---|---|---|---|
undefined | 2130706433 | SIP | ||||||
1 | asterisk-macomnet | 189 | 3557129729 | SIP/212.5.126.1 | IAX2/macomnet@macomnet | IAX2/macomnetcontrol@macomnet | IAX2 | |
2 | asterisk-msm | 189 | 1506807809 | SIP/89.208.16.1 | IAX2/msm@msm | IAX2/msmcontrol@msm | IAX2 | |
5 | asterisk-corbina | 189 | 1399234817 | SIP/83.102.161.1 | IAX2/corbina@corbina | IAX2/corbinacontrol@corbina | IAX2 |
- servername — внутреннее имя сервера
- location — географическая зона в которой находится сервер. В данном случае Россия
- ipaddress — реальный IP адрес сервера
- sip — SIP URL для соединения с сервером
- iax2 — Связка RSA ключа с идентификатором сервера для переадресации звонков между серверами
- iax2control — специальный канал команд для удалённого управления серверами и межсерверного взаимодействия. Длина команды до 80 символов
- protocol — информационное поле для сортировки по типу межсерверной связи
Для чего нужна эта таблица и почему она такая странная? Для межсерверного соединения серверов asterisk удобнее всего использовать протокол IAX. Причин несколько:
- весь транзитный трафик между серверами можно зашифровать
- в отличие от SIP протокола — более простое прохождение через Firewall операторов связи(для работы нужен всего 1 UDP порт)
- невозможность установки соединения злоумышленником с сервером без наличия ключей шифрования
- возможность передавать данные между серверами. например сессионные переменные. В SIP протоколе можно добавлять данные в заголовки сессионных пакетов, но зачастую лишние заголовки просто «вычищаются» промежуточными серверами из пакетов. В IAX протоколе можно перед установкой соединения передать необходимые переменные в потоке
- чёткая привязка хоста и связки пользователей/ключей к контексту на сервере
С серверами на начальном этапе разобрались. Теперь необходимо сделать привязку арендуемых номеров к определенному серверу. Это необходимо для корректной маршрутизации вызовов.
CREATE TABLE numbers_pool (
id INT(11) UNSIGNED NOT NULL AUTO_INCREMENT,
number VARCHAR(50) NULL DEFAULT ‘0’ COMMENT ‘Арендуемый номер’ COLLATE ‘utf8mb4_unicode_ci’,
provider_id INT(11) UNSIGNED NOT NULL DEFAULT ‘0’ COMMENT ‘Прикрепление номера к оператору’,
server_id INT(11) UNSIGNED NOT NULL DEFAULT ‘0’ COMMENT ‘Прикрепление номера к серверу’,
enabled BIT(1) NOT NULL DEFAULT b’1′ COMMENT ‘Включение/отключение номера’,
direction ENUM(‘IN’,’OUT’,’IN/OUT’) NULL DEFAULT ‘IN’ COMMENT ‘Направление звонка по умолчанию’ COLLATE ‘utf8mb4_unicode_ci’,
virtualflag BIT(1) NOT NULL DEFAULT b’1′ COMMENT ‘Виртуальный или реальный номер’,
echotest TINYINT(1) UNSIGNED NOT NULL DEFAULT ‘0’ COMMENT ‘Тестирование номера 0/1 — выключено/включено’,
PRIMARY KEY ( id ),
UNIQUE INDEX number ( number ),
INDEX FK_number_assignment_copy_providers ( provider_id ),
INDEX FK_number_assignment_servers ( server_id ),
INDEX number btree ( number ),
CONSTRAINT FK_provider FOREIGN KEY ( provider_id ) REFERENCES providers ( id ),
CONSTRAINT FK_server FOREIGN KEY ( server_id ) REFERENCES servers ( id )
)
COLLATE=’utf8mb4_unicode_ci’
ENGINE=InnoDB
AUTO_INCREMENT=1
;
numbers_pool
id | number | provider_id | server_id | enabled | direction | virtualflag | echotest |
---|---|---|---|---|---|---|---|
125 | 37167859001 | 4 | 1 | 1 | IN | 1 | |
126 | 37167859002 | 4 | 1 | 1 | IN | 1 | |
278 | 4971122954000 | 4 | 1 | IN | 1 | ||
279 | 74951815000 | 7 | 1 | 1 | IN/OUT | ||
280 | 74951815001 | 7 | 1 | 1 | IN/OUT | ||
281 | 74951815002 | 7 | 1 | 1 | IN/OUT | ||
426 | 74951339501 | 3 | 2 | IN/OUT | 1 | ||
427 | 74951339502 | 3 | 1 | IN/OUT | 1 | ||
515 | 74957952301 | 16 | 1 | 1 | IN/OUT | ||
516 | 74957952302 | 16 | 2 | 1 | IN/OUT | ||
529 | 442038070121 | 11 | 1 | 1 | IN | 1 | |
531 | 442038070123 | 11 | 1 | 1 | IN | 1 |
- number — номер в международном формате
- provider_id — привязка номера к оператору
- server_id — привязка номера к серверу
- enabled — обслуживать вызовы на данном номере или нет
- direction — обслуживаемые номером направления вызова
- virtualflag — номер является «реальным» или «виртуальным». «Реальные» номера привязаны к диалпирам, «виртуальные» не имеют привязки
- echotest — включение режима тестирования номера. если режим включен, то вызов переадресовывается на приложение Echo() сервера Asterisk
На момент разработки системы количество арендованных номеров было около 400 штук, количество серверов 4. Для тестирования маршрутизации вызовов даже добавляли Мультифон от Мегафона. При использовании «реальных» номеров, привязанных к логину/паролю, необходимо обеспечить осуществление вызова через правильный диалпир. Так как asterisk не может знать через какой диалпир должен маршрутизироваться вызов, необходимо создать таблицу связей.
gates
id | numbers_pool_id | serverid | gatename | gatenumber | cid_support | contextname | comment |
---|---|---|---|---|---|---|---|
1 | 516 | 1 | sip_peer_msm_2302 | 74957952302 | Y | sip_msm_74957952302 | |
2 | 515 | 1 | sip_peer_msm_2301 | 74957952301 | Y | sip_msm_74957952301 | |
8 | 279 | 1 | westcall | 74951815000 | Y | westcall | |
9 | 280 | 1 | westcall | 74951815001 | Y | westcall | |
10 | 281 | 1 | westcall | 74951815002 | Y | westcall |
- numbers_pool_id — идентификатор номера из таблицы numbers_pool
- serverid — привязка гейта к серверу
- gatename — имя гейта
- gatenumber — номер подключенный к гейту
- cid_support — поддерживается ли установка callerid при исходящем вызове
- contextname — контекст на сервере, который обслуживает исходящие вызовы по данному номеру
На этом настройка базы для обслуживания вызовов практически закончена. Я намеренно не рассматриваю сейчас работу тарификатора и систем контроля вызова, так как это очень большая тема, которую стоит вынести в отдельную статью.
В связи с тем, что основная логика обработки и маршрутизации вызова вынесена из Asterisk в Application Server, а процедуры находятся в MariaDB, необходимо обеспечить механизмы отладки и контроля работы процедур. Для этого можно использовать следующую схему.
Для хранения отладочной информации создаём дополнительную базу данных debug и создаём там таблицу debug_records
Для записи в данную таблицу данных создаём процедуру debug
Теперь отладка и контроль работы процедуры на этапе разработки превращается в удовольствие. В начале каждой процедуры мы определяем две переменные, первая — это название процедуры, вторая — это флаг определяющий включена отладка или нет. И далее в различных местах, где процедура может повести себя некорректно — предварительно добавляем запись в отладочный журнал.
Обращаю Ваше внимание на то, что использование данной логики не рекомендовано. в продакшн режиме на больших нагрузках, так как вывод отладочной информации может сильно снизить быстродействие.
Настройка Asterisk
Перейдём к настройке Asterisk сервера. Стандартная процедура обработки вызовов попадающих в контекст public, в большинстве существующих конфигураций, выглядит следующим образом
обработка исходящего вызова из контекста dialout выглядит так
В общем кто как привык и кому как нравится. Как мы видим при такой организации исходящих вызовов практически нет информации о состоянии вызова. Мы модифицировали Dialplan обработки звонков и добавили в него сервисные функции
Контекст [service] содержит в себе сервисные функции такие как:
- getip — определение IP адреса входящего сервера
- set_handler — установка обработчиков на текущий исходящий вызов. Данный обработчик вызывается перед осуществлением вызова при создании канала
- outbound_handler — обработчик завершения вызова. Вызывается во всех случаях отбоя со стороны вызываемого абонента
- no_more_paths — используется если исчерпаны все доступные варианты вызова абонента
Контекст [predial] вызывается перед соединением абонентов при успешном поднятии трубки на вызываемой стороне.
В контекст [public] попадают все внешние звонки.
В контекст [redirect] попадают все звонки, которые необходимо переадресовать с сервера на сервер.
Контекст [users_context] является основным контекстом пользователей для подготовки маршрутов для вызовов.
Контекст [make_a_call] является основным контекстом при осуществлении исходящего вызова.
Рассмотрим более подробно процедуру обработки входящего вызова:
- Вызов поступает с сервера оператора и попадает в контекст [public]
- Вызывается процедура определения IP адреса сервера с которого пришёл вызов на основе заголовков SIP пакета
- Вызывается AGI приложение incoming.py осуществляющее начальную обработку входящего вызова.
- Внутренняя логика приложения подключается к базе данных и отправляет в процедуру проверки подключений начальные имеющиеся параметры: IP адрес сервера, вызываемый номер, идентификатор сервера. Идентификатор сервера является уникальным, соответствует таблице серверов и определяется в файле asterisk.conf.
- Если с идентификацией номера всё нормально, то производится поиск ранее использованных звонков пользователей звонящему абоненту. В случае успешного поиска вызов переадресовывается на инициатора предыдущего звонка. В случае неуспешного поиска вызов переадресовывается на дежурного оператора. Если с идентификацией номера возникли проблемы, то производится голосовая «отбивка».
Все внутренние и внешние исходящие вызовы происходят через контексты [users_context] и [make_a_call].
Рассмотрим подробнее процедуру исходящего вызова:
- Внутренний абонент набирает номер вызываемого абонента
- Вызов попадает в контекст [users_context]
- Исходные данные для осуществления вызова передаются в AGI приложение make_a_route.py, внутренняя логика которого, используя данные базы данных, формирует очередь маршрутов для осуществления вызова. На основе полученного списка маршрутов, который состоит из:
- оператора через которого происходит вызов
- исходящего диалпира для осуществления вызова
- CallerID для исходящего вызова
- стоимости вызова через оператора
- …
приложение make_a_route.py меняет контекст на [make_a_call] или [redirect] и передаёт в них идентификатор сформированной очереди
- Контекст [redirect] используется в случаях, когда жёстко привязанный к серверу номер, с которого необходимо сделать вызов, находится на другом сервере.
- Контекст [make_a_call] представляет собой цикл дозвона с мониторингом состояния. В нашей конфигурации мы ограничиваем количество итераций в цикле дозвона до 10 штук. Поэтому при обращении в контекст дозвона, мы устанавливаем в 1 внутреннюю переменную итераций дозвона, действующую только в текущей сессии.
- Данные очереди полученные из предыдущего контекста и номер текущей итерации дозвона передаются в AGI приложение incoming_dialer.py, которое возвращает сформированный заранее, в AGI приложении make_a_route.py, DialString для осуществления вызова.
- Для осуществления мониторинга вызова, используются дополнительные опции приложения Dial, а именно U и b. Опция b позволяет вызвать подпрограмму после создания канала связи, но перед самим вызовов. В данном случае эта опция используется для установки AGI приложения, которое будет вызвано при разрыве соединения. Одновременно с вызовом данной опции, в базу данных, заносится информация о текущем осуществляемом вызове. Опция U позволяет вызвать подпрограмму при установлении соединения с абонентом, т.е. в момент поднятия вызываемым абонентом трубки. Это позволяет гарантированно отследить начало разговора и начать отсчёт времени.
- Если соединение с абонентом не удалось и код возврата не равен 17(Занято), следует новая итерация цикла.
- Вся информация о завершении соединения через текущий канал связи заносится в базу данных. Что позволяет считать ABR, ASR и прочую аналитику путём обычного запроса к базе данных
- Если количество циклов дозвона превысило имеющееся в базе данных, то происходит переход в контекст [no_more_paths], который может осуществлять информирование клиента о невозможности соединения с абонентом
На этом логика работы сервера Asterisk заканчивается. Используя данную связку базы данных и приложений, добавление серверов в обслуживающий кластер происходит путём копирования конфигурационной директории сервера Asterisk, сменой имени сервера, генерацией новых RSA ключей для IAX соединений и прописыванием идентификационных данных сервера в одной таблице. Вся остальная логика работы формируется через веб интерфейс путём привязки номеров и операторов к серверам.
Использование AGI приложений на Python обусловлено единообразием среды разработки при проектировании Application сервера. Начальная версия AGI приложений использовала прямое подключение к базе. После запуска системы и отладки работы ядра, AGI приложения были переписаны под использование протокола HTTP и Application Server на uwsgi. Часть операций не требующих проверки условий и вычислений, например проверка категорий номеров, была переписана для скорости на использование CURL в диалплане.
Следующая статья посвящена тарификатору, LCR и определению геопозиции вызываемых или вызывающих абонентов.
Источник
В рамках данной статьи рассмотрим общие принципы доработки, позволяющей изменять свой CallerID (отображаемое имя при звонке) в модуле UCP FreePBX. Также рассмотрим создание режима администратора, позволяющего изменять не только свой CallerID, но также CallerID других пользователей. Кому может быть полезно Данная доработка может быть полезна для системных администраторов больших компаний, в которых достаточно часто меняются […]
В рамках данной статьи рассмотрим общие принципы доработки, позволяющей изменять свой CallerID (отображаемое имя при звонке) в модуле UCP FreePBX. Также рассмотрим создание режима администратора, позволяющего изменять не только свой CallerID, но также CallerID других пользователей.
Кому может быть полезно
Данная доработка может быть полезна для системных администраторов больших компаний, в которых достаточно часто меняются пользователи телефонии. При этом приходится отвлекаться от более важных задач на смену имён пользователям, которое можно было бы поручить администраторам Call-центра, либо самим пользователям.
Данная доработка существует в двух вариантах: для UCP 13 и 14 версии. В данной статье мы будем рассматривать только 14 версию.
Использование функционала
В данном разделе рассмотрим основные возможности доработки, а также изменения в веб-интерфейсе.
Для того, чтобы воспользоваться доработанным функционалом необходимо авторизоваться в UCP и открыть панель пользовательских настроек (User Settings). Переход на данную панель находится в левом нижнем углу экрана, а иконка её выглядит следующим образом:
Панель пользовательских настроек выглядит следующим образом:
Необходимо перейти на вкладку User Details.
Далее рассмотрим два различных функционала: пользователя (доступно изменение только своего имени) и администратора (доступно изменение имён всех внутренних номеров АТС).
Функционал пользователя
Для изменения собственного имени необходимо отредактировать поле Display Name. Чтобы изменения применились в системе необходимо нажать на клавишу ‘Enter’.
Функционал администратора
Кроме изменения собственного имени, администратору системы доступно также изменение имени любого другого внутреннего номера системы. При этом вкладка User Details для администратора имеет вид:
Как видим, добавилось новое поле Extension, в котором есть возможность выбора внутреннего номера, имя которого собираемся изменить.
Способ изменения имени такой же, как и у пользователей: в поле Display Name вводим новое имя и подтверждаем изменение нажатием клавиши ‘Enter’.
Назначение роли администратора
Для того, чтобы назначить пользователю роль администратора необходимо в FreePBX перейти по следующему пути: Admin -> User Management. В появившемся списке выбираем пользователя, которому собираемся выдать соответствующие права и открываем его для редактирования настроек.
В появившемся окне переходим на вкладку UCP:
В отрывшейся вкладке находим настройку Administrator и выставляем её в Yes.
Чтобы подтвердить выбор необходимо нажать кнопку Submit на этой же странице.
Если у пользователя на момент применения изменений уже открыта вкладка UCP, то её необходимо обновить нажатием клавиши F5.
Рассмотрим доработку на примере изменения пользователем своего имени.
Описание доработки
Первым делом необходимо добавить обработчик, реагирующий на изменение поля displayname в настройках UCP. Для этого открываем файл /var/www/html/admin/modules/ucp/htdocs/modules/Settings/assets/js/global.js, находим в нём функцию displaySimpleWidgetSettings
и в неё вставляем следующий код:
$("#displayname").change(function() {
$.post("ajax.php?module=Settings&command=settings", {
key: "extrename",
displayname: $("#displayname").val()
}
});
В результате выполнения данного кода отправится AJAX-запрос на ajax.php?module=Settings&command=settings с ключом extrename.
Теперь необходимо написать обработчик этого AJAX-запроса. Делается это в файле /var/www/html/admin/modules/ucp/htdocs/modules/Settings/Settings.class.php. Находим функцию ajaxHandler
. В ней находим switch($_POST['key'])
. Здесь опишем обработчик extrename
:
case 'extrename':
$displayname = htmlentities(strip_tags($_REQUEST['displayname']));
$ext_num = $user['default_extension'];
$this->UCP->FreePBX->Core->updateUsername($ext_num, $displayname);
$this->UCP->FreePBX->Userman->updateUserExtraData ($user['id'], array('displayname' => $displayname));
$ret = array(
"status" => true
);
break;
Также в этом же switch переписываем обработчик case 'displayname'
на следующий:
case 'displayname':
$ret = array(
"status" => true
);
break;
Теперь осталось только реализовать функцию updateUsername
в модуле Core, которая будет обновлять имя пользователя. Для этого открываем файл /var/www/html/admin/modules/core/Core.class.php. В него добавляем следующий код:
/**
* Update username by extension number
* @param {int} $ext The user extension
* @param {String} $new_name The new name of extension
*/
public function updateUsername($ext, $new_name)
{
global $astman;
$sql = "UPDATE users SET name = ? WHERE extension = ?";
$sth = $this->database->prepare($sql);
$sth->execute(array($new_name,$ext));
if($astman->connected())
$astman->database_put("AMPUSER",$ext."/cidname",$new_name);
else
error_log("Astman not Connected!");
}
Теперь каждый пользователь, у которого есть доступ к UCP может изменить свой CallerID.
На это статья-обзор по изменению CallerID разных пользователей в настройках модуля UCP FreePBX завершена.
Вам необходимо обновить браузер или попробовать использовать другой.
- Дней с нами
- 1.136
- Розыгрыши
- 3
- Сообщения
- 670
- Репутация
+/- -
28
- Реакции
- 664
-
#1
Примеров тут масса, хотим мы протолкнуть пак, занимаетесь вы нигерийским скамом или просто надо подтвердить по телефону транзу палки и так далее и тому подобное…
И так начнем, что нам надо:
1) Звонилка для винды X-Lite можно скачать тут counterpath.com/x-lite или twinkle если вы используете linux, он ставится из коробки.
2) Носки, в моём случаи это будет vip72.
3) Sip service, тут можно своё нагуглить но я покажу на примере callwithus.com, также хорошо зарекомендовали себя narayana или sip24.pw (НЕ РЕКЛАМА, к сервисом никакого отношения не имею).
4) Временная почта, я юзаю бываeт эту temp-mail.org
И так регаемся на callwithus.com с носками, данные берем левые, почту одноразовую.
Потом заходим на My Account с данными что пришли по мылу и закидываем через биткоин баланс, много закидывать не надо 10$ макс.
Теперь берем данные для X-Lite в закладке VoIP Accounts. Запускаем X-Lite, идём на SIP Account и прописываем там:
User ID = @CALLWITHUS_USERNAME@
Domain = sip.callwithus.com
Password = @CALLWITHUS_PASSWORD@
Всё X-Lite готов делать звонки. Проверить соединение с сервером можно набрав тест номер 3246. Всегда советую звонить с openvpn, на прямую не звоните!!!
Осталось выставить страну куда будем звонить и телефон.
Идем в закладку SPEED DIAL и выбираем Select Dialing rule: Russia (если в России) или 0 for long distance, 00 for Internacional. Replace 0 with country codе 44 (если Англия).
Потом самое интересное и это надо будет делать каждый раз когда мы хотим сменить номер.
Идем в закладку ADD CALLER ID, жмем на ADD CALLER ID на против нашего VoIP Account и пишем +447911123456, делаем true.
Всё теперь набираем любой номер и на другом конце высветится +447911123456, надо сделать другой номер меняем ADD CALLER ID и всё.
Удачи !
PS:Тема не моя
- Дней с нами
- 3.229
- Розыгрыши
- 3
- Сообщения
- 2.878
- Репутация
+/- -
165
- Реакции
- 5.188
-
#2
Бывают довольно часто ситуации что надо позвонить куда то и чтобы у нашего собеседника отбился телефон который нам надо.
Примеров тут масса, хотим мы протолкнуть пак, занимаетесь вы нигерийским скамом или просто надо подтвердить по телефону транзу палки и так далее и тому подобное…И так начнем, что нам надо:
1) Звонилка для винды X-Lite можно скачать тут counterpath.com/x-lite или twinkle если вы используете linux, он ставится из коробки.
2) Носки, в моём случаи это будет vip72.
3) Sip service, тут можно своё нагуглить но я покажу на примере callwithus.com, также хорошо зарекомендовали себя narayana или sip24.pw (НЕ РЕКЛАМА, к сервисом никакого отношения не имею).
4) Временная почта, я юзаю бываeт эту temp-mail.orgИ так регаемся на callwithus.com с носками, данные берем левые, почту одноразовую.
Потом заходим на My Account с данными что пришли по мылу и закидываем через биткоин баланс, много закидывать не надо 10$ макс.Теперь берем данные для X-Lite в закладке VoIP Accounts. Запускаем X-Lite, идём на SIP Account и прописываем там:
User ID = @CALLWITHUS_USERNAME@
Domain = sip.callwithus.com
Password = @CALLWITHUS_PASSWORD@
Всё X-Lite готов делать звонки. Проверить соединение с сервером можно набрав тест номер 3246. Всегда советую звонить с openvpn, на прямую не звоните!!!Осталось выставить страну куда будем звонить и телефон.
Идем в закладку SPEED DIAL и выбираем Select Dialing rule: Russia (если в России) или 0 for long distance, 00 for Internacional. Replace 0 with country codе 44 (если Англия).
Потом самое интересное и это надо будет делать каждый раз когда мы хотим сменить номер.
Идем в закладку ADD CALLER ID, жмем на ADD CALLER ID на против нашего VoIP Account и пишем +447911123456, делаем true.Всё теперь набираем любой номер и на другом конце высветится +447911123456, надо сделать другой номер меняем ADD CALLER ID и всё.
Удачи !
PS:Тема не моя
Круто. Очень круто. Пойду проверю.
Похожие темы
Подключайте к активному разговору в АТС в режиме суфлера или прослушивания
все новости
В API добавлены методы сквозной аналитики для бесплатной CRM
все новости
С 16 декабря 2022 года изменится сумма минимального платежа в сервисе.
все новости
Телефонизируйте офис за 5 минут благодаря бесплатной облачной АТС Zadarma. В вашем распоряжении множество полезных функций — голосовое меню, перевод/перехват/переадресация звонков, запись и статистика разговоров, речевая аналитика, автоответчик. Настроить все эти функции очень легко благодаря понятному мастеру настройки в личном кабинете.
> 2 000 000
зарегистрированных пользователей из 160 стран мира
24/7
многоуровневая круглосуточная служба поддержки
До 90%
экономия на телефонизации офиса и дома
Более 15 лет
непрерывного совершенствования сервиса
5 минут
время конфигурации любой услуги
30 000
виртуальных номеров в 150 крупнейших городах мира доступны для быстрого включения
На выбор телефонные номера в 100 странах мира, включая номера 8800 и мобильные номера с функцией приема SMS. Виртуальный номер поможет телефонизировать ваш офис за считанные минуты даже без географического присутствия — звонки можно принимать не только через Интернет, но и переадресовать на любой телефон.
Экономьте на телефонных звонках вместе с Zadarma благодаря нашим оптимальным предложениям: безлимитные тарифы, бесплатные пакеты звонков, посекундная тарификация, передача вашего номера при звонке, фирменные приложения для смартфона или компьютера и, конечно, самое высокое качество разговора.
Система управления взаимоотношениями с клиентами полностью интегрированная с облачной АТС. Звоните и принимайте звонки прямо из браузера, создавайте карточки клиентов, сделки, задачи, следите за эффективностью работы менеджеров и воронкой продаж. Управляйте командой и выстраивайте правильный бизнес вместе с CRM.
В CRM можно звонить и принимать звонки прямо из веб-интерфейса, создавать задачи, прослушивать записи разговоров и главное — отображать в карточке клиента все, что нужно бизнесу.
Есть сразу все – и телефония, и сама система работы с клиентами, и главное цена, точнее её отсутствие.
Меньше проводов, больше функций и экономии — девиз самого современного вида телефонной связи
Особенности сервиса Zadarma позволяют ему лидировать на рынке
Инструмент абсолютно бесплатный, клиент платит только за распознавание разговоров. Система умеет распознавать 50+ языков .
При подключении европейского номера вы получаете возможность не только принимать звонки, но и звонить по самым выгодным внутренним тарифам. Ведь ваш виртуальный офис уже находится в Европе
Сервис заточен на технические решения для бизнеса и частных клиентов, причем никто никому не навязывает услуги телефонии, принцип компании, возведенный в культ — «Один программист лучше десяти продажников».
Проект Zadarma продолжает расширять покрытие и совершенствовать уровень качества услуг
Виртуальная АТС от Zadarma – это современный сервис с массой как привычных, так и неочевидных возможностей
Все статьи
Change what displays on your outgoing caller ID on Android
Updated on August 25, 2021
What to Know
- AT&T: On the website, go to Profile > Account users > select the number > Select Edit > make your changes > Continue.
- T-Mobile/Sprint: Call customer service and request the change. Former Sprint customers might be able to change it online.
- Verizon: Select Account > Add-ons & apps > See All > Share Name ID > Product details > Manage…ID > follow prompts > Save changes.
This article explains how to change your Caller ID on AT&T, T-Mobile/Sprint, and Verizon using their websites.
Change Your Caller ID on AT&T
You can change your Caller ID name via AT&T’s website. The Caller ID name is the one that displays on landlines with Caller ID. If you’re saved in someone’s cell phone as a contact, it won’t override that information.
Here’s how to change your Caller ID information from AT&T’s website.
-
Go to Profile > Account users.
-
Select your account from the drop-down.
-
Select your number.
-
Click Edit.
-
Enter the information you want to display and select Continue.
You may have to sign out and back in to see the changes. It can take up to 72 hours (weekdays only) for a landline to show the updated Caller ID name, and it might not change until people clear your number from their Caller ID logs.
Change Your Caller ID on T-Mobile/Sprint
Former Sprint customers who have moved to T-Mobile service post-merger might be able to make the change online. T-Mobile subscribers need to call customer service (dial 611 from your cell phone) and request the change their Caller ID name.
Here’s how to make the change on Sprint’s website.
-
Go to the Sprint website and sign in.
-
Click the My Preferences tab.
-
Click Change Caller ID Name.
-
Make your edits.
-
Click Save.
Change Your Caller ID on Verizon
Verizon refers to caller ID as Share Name ID. The company doesn’t guarantee the Share Name ID will display on outgoing calls because other carriers may not support it. In addition, your Share Name ID won’t override saved contact details in someone’s phone.
You can make the change on Verizon’s website or mobile app.
Verizon’s Website
Here’s how to make the change on Verizon’s website. Sign into My Verizon first.
-
Hover over Account and select Add-ons and apps.
-
Click See All.
-
Click Product details under the Share Name ID.
-
Click Manage Share Name ID.
-
Select the line.
-
Select an option. You can choose from a custom name, billing party
name, or your 10-digit phone number. -
Click Save changes.
It can take up to 24 hours to process the change.
Change Caller ID Name from My Verizon App
You can also use the My Verizon mobile app to change your Caller ID.
-
From the app, tap the Account tab.
-
Tap Manage device for your mobile number.
-
Tap Share Name ID.
-
Edit the name. Check I accept the Terms and Conditions.
-
Tap Update.
Other Ways to Change Your Android’s Caller ID
If caller ID change doesn’t work, you can also hide your number with star 67 or use a «burner» number for specific phone calls.
FAQ
-
How can you hide your caller ID while making calls on Android?
If you sign up for a Google Voice number, you can choose to use that as your caller ID instead of your phone number. Once you have a Google Voice number, go to voice.google.com on your computer and click on the Settings icon. Then select Calls. Toggle on Show my Google Voice number as caller ID when forwarding calls.
-
What can you do if your caller ID is spoofed?
While there’s no surefire way to deal with spoofing, there are some measures you can take if you believe someone is using your phone number to scam others. Check your phone bill for signs of identity theft. Change your voicemail PIN or password. Also, inform your carrier about potentially suspicious activity. You can even get a new phone number as a last resort. Check out Lifewire’s guide to phone spoofing for even more tips.
Thanks for letting us know!
Get the Latest Tech News Delivered Every Day
Subscribe
Change what displays on your outgoing caller ID on Android
Updated on August 25, 2021
What to Know
- AT&T: On the website, go to Profile > Account users > select the number > Select Edit > make your changes > Continue.
- T-Mobile/Sprint: Call customer service and request the change. Former Sprint customers might be able to change it online.
- Verizon: Select Account > Add-ons & apps > See All > Share Name ID > Product details > Manage…ID > follow prompts > Save changes.
This article explains how to change your Caller ID on AT&T, T-Mobile/Sprint, and Verizon using their websites.
Change Your Caller ID on AT&T
You can change your Caller ID name via AT&T’s website. The Caller ID name is the one that displays on landlines with Caller ID. If you’re saved in someone’s cell phone as a contact, it won’t override that information.
Here’s how to change your Caller ID information from AT&T’s website.
-
Go to Profile > Account users.
-
Select your account from the drop-down.
-
Select your number.
-
Click Edit.
-
Enter the information you want to display and select Continue.
You may have to sign out and back in to see the changes. It can take up to 72 hours (weekdays only) for a landline to show the updated Caller ID name, and it might not change until people clear your number from their Caller ID logs.
Change Your Caller ID on T-Mobile/Sprint
Former Sprint customers who have moved to T-Mobile service post-merger might be able to make the change online. T-Mobile subscribers need to call customer service (dial 611 from your cell phone) and request the change their Caller ID name.
Here’s how to make the change on Sprint’s website.
-
Go to the Sprint website and sign in.
-
Click the My Preferences tab.
-
Click Change Caller ID Name.
-
Make your edits.
-
Click Save.
Change Your Caller ID on Verizon
Verizon refers to caller ID as Share Name ID. The company doesn’t guarantee the Share Name ID will display on outgoing calls because other carriers may not support it. In addition, your Share Name ID won’t override saved contact details in someone’s phone.
You can make the change on Verizon’s website or mobile app.
Verizon’s Website
Here’s how to make the change on Verizon’s website. Sign into My Verizon first.
-
Hover over Account and select Add-ons and apps.
-
Click See All.
-
Click Product details under the Share Name ID.
-
Click Manage Share Name ID.
-
Select the line.
-
Select an option. You can choose from a custom name, billing party
name, or your 10-digit phone number. -
Click Save changes.
It can take up to 24 hours to process the change.
Change Caller ID Name from My Verizon App
You can also use the My Verizon mobile app to change your Caller ID.
-
From the app, tap the Account tab.
-
Tap Manage device for your mobile number.
-
Tap Share Name ID.
-
Edit the name. Check I accept the Terms and Conditions.
-
Tap Update.
Other Ways to Change Your Android’s Caller ID
If caller ID change doesn’t work, you can also hide your number with star 67 or use a «burner» number for specific phone calls.
FAQ
-
How can you hide your caller ID while making calls on Android?
If you sign up for a Google Voice number, you can choose to use that as your caller ID instead of your phone number. Once you have a Google Voice number, go to voice.google.com on your computer and click on the Settings icon. Then select Calls. Toggle on Show my Google Voice number as caller ID when forwarding calls.
-
What can you do if your caller ID is spoofed?
While there’s no surefire way to deal with spoofing, there are some measures you can take if you believe someone is using your phone number to scam others. Check your phone bill for signs of identity theft. Change your voicemail PIN or password. Also, inform your carrier about potentially suspicious activity. You can even get a new phone number as a last resort. Check out Lifewire’s guide to phone spoofing for even more tips.
Thanks for letting us know!
Get the Latest Tech News Delivered Every Day
Subscribe