Comments 26
Ничем, скачал оба варианта, с первым же заработало без нареканий и сразу, а в чем преимущество chan_dongle читал, что произошел от datacard, но выраженных плюсов не увидел.
Огромнейший плюс — disovery. Можно вместо пачки ttyUSB* (а они ведь и местами поменяться могут, и поменяются) вписать imsi и/или imei, dongle сам найдет, где какой модем.
В следующий раз буду иметь в виду, я и не лазил на тот сервер больше с момента поднятия, работает нормально, если что отвалится — попробую для интереса disovery, а пока просто лень.
UFO landed and left these words here
UFO landed and left these words here
Проверка орфографии включена в браузере, к сожалению грамотная письменная речь не мой конек, практики мало. В дальнейшем постараюсь исправиться.
Я немного не в теме, поэтому вопрос слегка ламерский. Правильно ли я понимаю, что USB-модем — это выход во внешний мир? Т.е. вызовы на городские и мобильные номера пойдут через него?
Ну вообще в статье описан вариант создания дешевого GSM шлюза. Через него можно пустить и городские и сотовые без проблем.

З.Ы. Вот уж не знаю почему ТС выбрал chan datacard — но определенно по стабильности работы больше понравился именно chan_dongle.
Городские номера получили через sip-транк, там ничего примечательного в настройке нет, заполнить 5 строк, выданных sip провайдером и готово. Про настройку остальных полезных функций, таких как очереди звонков, голосовое меню, запись и т.п напишу отдельно, как будет устоявшийся вариант. Сейчас эти настройки постоянно меняются, пытаюсь подобрать оптимальные.
Большое спасибо за подробное описание, давно уже руки чесались разобраться с Asterisk!

С нетерпением жду продолжения (плюсонуть статью не могу ввиду низкой кармы).

Особенно интересно будет в будущем узнать характеристики железа и результаты работы под нагрузкой.

Если будете использовать в будущем распределение исходящего трафика на разные модемы (для экономии на звонках, с Life на Life, с Djuce на Djuce и т.д.) будет также интересно посмотреть на правила Asterisk.
Ничего сложного нету. Просто в диалплане можно использовать нечто схожее с:

[outgoing_calls_mobile]
exten => _050XXXXXXX,1,Dial(${GSM_MTS}/${EXTEN},60,tT)		; МТС
exten => _050XXXXXXX,n,Hangup()
exten => _066XXXXXXX,1,Dial(${GSM_MTS}/${EXTEN},60,tT)		; МТС
exten => _066XXXXXXX,n,Hangup()
exten => _095XXXXXXX,1,Dial(${GSM_MTS}/${EXTEN},60,tT)		; МТС
exten => _095XXXXXXX,n,Hangup()
exten => _099XXXXXXX,1,Dial(${GSM_MTS}/${EXTEN},60,tT)		; МТС
exten => _099XXXXXXX,n,Hangup()
exten => _067XXXXXXX,1,Dial(${GSM_KS}/${EXTEN},60,tT)		; Киевстар
exten => _067XXXXXXX,n,Hangup()
exten => _068XXXXXXX,1,Dial(${GSM_KS}/${EXTEN},60,tT)		; Киевстар
exten => _068XXXXXXX,n,Hangup()
exten => _096XXXXXXX,1,Dial(${GSM_KS}/${EXTEN},60,tT)		; Киевстар
exten => _096XXXXXXX,n,Hangup()
exten => _097XXXXXXX,1,Dial(${GSM_KS}/${EXTEN},60,tT)		; Киевстар
exten => _097XXXXXXX,n,Hangup()
exten => _098XXXXXXX,1,Dial(${GSM_KS}/${EXTEN},60,tT)		; Киевстар
exten => _098XXXXXXX,n,Hangup()


Ну и так далее в том же духе.

Ну а сами глобальные переменные GSM_MTS, GSM_KS указываем в [globals] как:
[globals]
GSM_KS = DAHDI/1
GSM_MTS = DAHDI/2

Это, конечно, при условии правки конфигов напрямую.
О!!! Супер! Огромное спасибо за оперативность. Осталось только узнать как оно под нагрузкой будет и про железо подробнее.
Относительно нагрузки — это уже зависит от необходимого количества одновременных вызовов и еще нескольких факторов. Подробнее можете почитать тут.
У меня похоже, но немного не так:
[macro-gsm-out]
exten => s,1,ChanIsAvail(Dongle/${ARG2},j)
exten => s,2,Dial(Dongle/${ARG2}/${ARG1},,T)
exten => s,3,Hangup()

[outer-call]
exten => _068XXXXXXX,1,Macro(gsm-out,${EXTEN:-10},gsm_bl)

exten => _050XXXXXXX,1,Macro(gsm-out,${EXTEN:-10},gsm_mt)
exten => _066XXXXXXX,1,Macro(gsm-out,${EXTEN:-10},gsm_mt)
exten => _095XXXXXXX,1,Macro(gsm-out,${EXTEN:-10},gsm_mt)
exten => _099XXXXXXX,1,Macro(gsm-out,${EXTEN:-10},gsm_mt)

exten => _067XXXXXXX,1,Macro(gsm-out,${EXTEN:-10},gsm_ks)
exten => _096XXXXXXX,1,Macro(gsm-out,${EXTEN:-10},gsm_ks)
exten => _097XXXXXXX,1,Macro(gsm-out,${EXTEN:-10},gsm_ks)
exten => _098XXXXXXX,1,Macro(gsm-out,${EXTEN:-10},gsm_ks)

exten => _0XXXXXXXXX,1,Macro(gsm-out,${EXTEN:-10},gsm_ks)

exten => _+380XXXXXXXXX,1,Goto(${EXTEN:-10},1)
exten => _380XXXXXXXXX,1,Goto(${EXTEN:-10},1)
exten => _80XXXXXXXXX,1,Goto(${EXTEN:-10},1)
exten => _XXXXXXXXX,1,Goto(0${EXTEN:-9},1)



Сейчас ищу, как ставить исходящие звонки в очередь, если Dongle занят.
Для Drupal недавно появился модуль VoIP Drupal обещают много вкусностей. В совокупности с другими модулями drupal(CRM, LDAP) можно сделать неплохую платформу.
У самого стоит подобная задача, после беглого чтения статьи, да и вообще изучения темы на просторах инета сразу возникает вопрос: зачем собирать из сырцов (тут хоть деб пакеты через чекинсталл сделаны), если в репах есть готовые пакеты, которые считаются стабильными для текущей версии ОС? Плюс не понятен момент с апачем, который работает от астериска…
Из сырцов собирают по 3м причинам:
1) Хочется текущую версию, вот прямо сейчас.
2) Нужны некоторые опции сборки, которые отсутствуют в версиях из репозиториев.
3) Несовместимость некоторых компонентов между собой в версиях из репов. (Как пример попробуйте одновременно поставить percona и ZendServer используя только версии из репозиториев).
А в чем собственно проблема? Я много собираю из репов и перекладываю в свой реп, для личного пользования. Чем это хуже чем подключать чужие и угадывать при какой фазе луны и с какими опциями собирался нужный пакет. При общей стабильности системы, стабильность некоторых компонентов не настолько критична, как появившийся функционал.
Апач работает от asterisk для того, чтобы FreePBX мог полностью управлять астером. Можно использовать apache2-mpm-itk, можно дать пользователю www-data права на asterisk, можно запилить отдельный пул для nginx — тут кому что роднее.
adduser asterisk --disabled-password --gecos «Asterisk PBX

Вы в этой строчке кавычку забыли. Исправьте пожалуйста.
Подправил спасибо, хотя не уверен что статья еще актуальна, год прошел, возможно все поменялось уже. Хотя телефония, на основе которой писалась статья, все еще работает.
Актуальна, собрал по ней астериска без особых трудностей.
Only those users with full accounts are able to leave comments. Log in, please.