Рубрика «телефония» - 30

Когда отпускное настроение и билеты в теплые страны или регионы нашей страны радуют предвкушением настоящих приключений, звонков родным и близким со словами “Угадай, откуда я тебе звоню!”, фотографий иностранных красивостей и экзотических блюд в соцсетях, задумываться о стоимости звонков или интернета как-то не очень хочется, но если включить в список дел пункт “подключить пару услуг для удешевления роуминга”, можно существенно (порой до 100 раз) сэкономить на связи и не сожалеть о подаренных капиталистам бесцельно потраченных деньгах.

За последний год с момента публикации предыдущего обзора операторы сотовой связи, на удивление, стали добрее к людям и человечнее: предупреждают о нахождении в роуминге, предлагают подключить удешевляющие роуминг услуги, напоминают о необходимости пополнить счет и отключить использование интернета, если он вам не необходим. В итоге если не игнорировать все эти попытки операторов связи заработать на вас меньше, отдых или командировка будут гораздо менее затратными. Разберем же возможности сэкономить на связи в путешествиях. Так как я из Краснодара первый пункт — это роуминг в ЮФО, если вы у вас симка Краснодарского края.
Если же вы живете в другом регионе — проматывайте до роуминга по России и миру.

Читать полностью »

Asterisk в примерах: балансировка каналовВсё больше и больше организаций выбирают для телефонии не астрономически дорогие, жутко запутанные и ограниченные по функционалу готовые ATC, а современный, расширяемый и абсолютно бесплатный софт, который можно установить на любой дистрибутив Linux. Самым известным и широко распространённым решением для телефонии на базе Linux является, безусловно, Asterisk.

К сожалению для системных администраторов, Asterisk недалеко ушёл от корпоративных АТС в плане простоты настройки. Безусловно, Asterisk может, пожалуй, всё, что только возможно вообразить, но ценой этому является далеко не тривиальная настройка.

У меня за время работы с Asterisk накопилось множество различных примеров конфигурации. Полностью цифровые факсы с возможностью отправки из любого приложения в один клик, интеллектуальная запись звонков, всякие штуки с IVR и т.д. и т.п. Будет заинтересованность — со временем выложу.

В этом же посте хотелось бы поделиться системой простой балансировки исходящих соединений исходя из «веса» канала. Простейший пример, для чего это может понадобиться — звонки через обычные SIM нескольких операторов с безлимитными тарифами. У всех операторов есть некое максимальное значение минут, которые можно бесплатно проговорить в рамках тарифа в месяц. Поэтому хотелось бы распределить исходящие звонки по симкам в некой пропорции.
Читать полностью »

В данном посте я расскажу вам о возможностях отправки уведомлений о пропущенных звонках с помощью Asterisk. Я постараюсь привести простые примеры конфигурации и подробнее раскрыть данную тему, далее вы можете экспериментировать по своему усмотрению или потребностям. Asterisk предлагает довольно широкие возможности для решения различных задач, поэтому одну и ту же задачу можно решать по разному, главное результат — стабильная работа ваших сервисов.

Отправка отчета о пропущенном звонке на email

Что имеем:
Входящая многоканальная линия с номером +7 (495) 1234567, IVR, 4 оператора в очереди вызова.

Задачи:
1. Отправлять отчет о пропущенном звонке, с указанием номера звонящего, времени поступления звонка и времени ожидания на линии.
2. Если абонент ждал на линии более 10 секунд и по какой-либо причине положил трубку, не дождавшись ответа оператора — отправляем отчет о пропущенном звонке.
3. Заносить в БД (в текущем примере MySQL) данные о том, какой оператор в очереди ответил звонок и фиксируем время в которое разговор был завершен.

В качестве решения приведу пример конфигурации (один из возможных вариантов решения), с комментариями на самых интересных по-моему мнению моментах.
Вот так выглядит конфигурация IVR рабочего времени + очереди вызова:

[globals]
CIDFILE=/etc/asterisk/inc-calls/call-noanswer
SQLHOST=db.domain.ru
SQLUSER=asterisksql
SQLPASS=Gt6Rju8FkS
SQLDB=asteriskdb
IVRWORK=custom/IVR_company_wav

[incoming-74951234567]
exten => h,1,Set(WAITTIME=10)
exten => h,n,Set(CTALL=$[${CDR(duration)}])
exten => h,n,Set(CTANSWER=$[${CDR(billsec)}])
exten => h,n,Set(CTDTIME=$[${CTALL}-${CTANSWER}])
exten => h,n,NoOP(${CDR(disposition)})
exten => h,n,NoOP(${CTDTIME})
exten => h,n,GotoIf($["${CDR(disposition)}" = "NO ANSWER"]?timecheck:n1)
exten => h,n(n1),GotoIf($["${CDR(disposition)}" = "BUSY"]?timecheck:n2)
exten => h,n(n2),GotoIf($["${CDR(disposition)}" = "FAILED"]?timecheck:n3)
exten => h,n(n3),GotoIf($["${CDR(disposition)}" = "ANSWERED"]?n4:misscall)
exten => h,n(n4),MYSQL(Connect connid ${SQLHOST} ${SQLUSER} ${SQLPASS} ${SQLDB})
exten => h,n,MYSQL(Query resultid ${connid} UPDATE office_calls SET active=0 WHERE asterisk_id='${QID}')
exten => h,n,MYSQL(Clear ${resultid})
exten => h,n,MYSQL(Disconnect ${connid})
exten => h,n(hang),Hangup()
exten => h,n(timecheck),GotoIf($[${CTDTIME} > ${WAITTIME}]?misscall:hang)
exten => h,n(misscall),Goto(noanswer,s,1)
exten => s,1,NoOp(${CALLERID(num)})
exten => s,n,Set(CALLID=74951234567)
exten => s,n,Set(CALLER=${CALLERID(num)})
exten => s,n,Set(__QID=${CDR(uniqueid)})
exten => s,n(begin),GotoIfTime(10:00-22:00,mon-sat,*,*?workdays:outofoffice)
exten => s,n(workdays),NoOp(Incoming CALL from ${CALLERID(num)} to ${EXTEN})
exten => s,n,Answer()
exten => s,n,ResetCDR(w)
exten => s,n,Wait(1)
exten => s,n,Background(${IVRWORK})
exten => s,n,Queue(operators,t,,,300,,startflag1)
exten => s,n,NoOp(${DIALSTATUS})
exten => s,n,Goto(noanswer,s,1)
exten => s,n,Hangup()

Читать полностью »

imageПока я готовил ежегодный обзор стоимости роуминга от различных операторов (будет доступен в ближайшее время, есть обязательства перед СМИ, предыдущая версия — тут) прикатила вообще фантастическая новость от Теле2 — «подсимка» — сверхтонкая наклейка на SIM-карту со встроенным процессором, благодаря которой абонент может пользоваться двумя номерами в одном обычном телефоне. Эта штукенция может довольно фантастические вещи.

Читать полностью »

image
Различные социальные сервисы, какими бы мы их не представляли: программы общения (Skype, ICQ, Viber, Message me, Trillian), социальные сети (Facebook, Вконтакте, Одноклассники) основаны в первую очередь на своей бесплатности. Попытки монетизировать данные сервисы сводятся в основном к продаже рекламы. Классические варианты монетизации уже были описаны ранее на хабре, вот тут: habrahabr.ru/post/126766/
Некоторые сервисы никак не монетизируют свои продукты, так как боятся потерять имеющихся пользователей и отпугнуть новых, ну и поэтому страдают от недоедания недополучения денег. Но почему стоит двигаться в определенных, уже заданных рамках, которые действительно пугают пользователей, ведь есть варианты монетизировать свой социальный сервис, при этом без потерь имеющихся пользователей, а с привлечением новых. Один из них будет описан под катом.
Читать полностью »

Термины, жаргон, определения Android
Очень часто, разбираясь с незнакомым программным продуктом или операционной системой, мы чуствуем трудности в понимании значений терминов. Иногда мы их встречаем впервые и это заставляет нас искать в интернете описания и статьи. Хуже, если написание термина совпадает с тем, что мы знали раньше, а значение другое. Особенно это усугубляется при чтении статей на иностранном языке. Потому представляю вашему вниманию перевод терминов взятый из Android Terms,Slang,Definitions & Guides
Оригинальный текст состоит из семи частей, который кроме терминов включает в себя описания и инструкции как выполнить некоторые распространенные действия со смартфоном. Это первая часть, где собраны наиболее встречающиеся термины. Этот набор терминов очень удобно использовать перед первым занятием по программированию под Android, в качестве раздаточного материала, чтобы слушатели, ознакомившись, могли понимать о чем ведется речь, если вдруг проскочит жаргонное слово в вопросе или ответе. В основном термины предназначены для начинающих и связаны с настройкой операционной системы. Как сами определения, так и перевод не претендует на исключительную уникальность, правильность, точность и строгость. Любые предложения и исправления принимаются с радостью и благодарностью.
Читать полностью »

Вчера Nokia представила смартфон, который уже мелькал в сети какое-то время назад как N9mini. На деле это оказался обновленный смартфон серии Asha, что, собственно, несложно было предсказать. А вот практически скопированный (судя по роликам) пользовательский интерфейс MeeGo Harmattan лично для меня оказался неожиданностью.

Читать полностью »

Прослушав второй выпуск подкаста ЛинкМиАп опубликованного на habrahabr.ru у меня возникло желание дополнить и немного поправить сказанное в первой части выпуска посвященной SDH/PDH. Но так как все мои мысли не умещались в рамки обычного комментария, то я воспользовавшись майскими праздниками написал это пост.
Читать полностью »

Есть задача, в начале каждого месяца выгружать из недр Naumen Phone Outsourcing (для простоты, буду звать его далее NPO) записи разговоров за предыдущий месяц с сортировкой по проектам и по дням месяца. Как это реализовать?Читать полностью »

На северо-восток от Архангельска есть алмазное месторождение Гриба, на котором работает несколько тысяч человек. Поселений как таковых в районе нет, только временные дома с рабочими. И вот как раз этим людям нужна связь, чтобы иметь возможность поговорить с родными или просто выйти в сеть за электронной почтой.

Для размещения базовой станции понадобилось строительство вот такой вышки. На ней антенны сотовой связи и часть оборудования:

Как мы делали связь на месторождении алмазов имени Гриба
42-метровая вышка

Строительство мачты является самым дорогим и долгим этапом строительства базовой станции. Такая высокая мачта – 42 метра – была нужна для того, чтобы обеспечить связью довольно большую территорию. Площадь большая, плюс сложный рельеф самого месторождения. Зона покрытия 8-12 км. Ближайших соседей нет. Наша ближайшая базовая станция располагается на расстоянии более 150 километров. Канал связи с «большой сетью» — спутниковый, сама базовая станция – распределённого типа. Читать полностью »


https://ajax.googleapis.com/ajax/libs/jquery/3.4.1/jquery.min.js