Вот нашел модули , правда они в состоянии "бэты" для звонков с * в GSM сети посредством USB модемов Huawei E169 , K3520 (Модемы для мобильного интернета с возможностью передачи голоса)
В дистрибе эластикса модуля не оказалось , ну и фиг с ним. Связался с Артемом (makhutov.org). Говорит, что контачит с автором chan_sebi, в общем, есть надежда на то, что модуль канала будет жить. Он же еще и СМСки отправляет. (а почему нет? это же AT команды). И вообще, код основан на chan_mobile.
Кстати, модемы E1550 которые продаются по 1190 руб вполне должны подходить для задач, в них заявлена поддержка голоса, так же как и в Huawei E169. Я приобрел один такой, он оказался к тому же не залоченым под оператора(!!!). На днях попробую взлететь на нем и отписаться о результатах.
Я попробовал оба варианта , оба работоспособные , правда datacard иногда подвисает + если ребутнулся ком по нужно руками менять ttyUSB , в sebi это сделано автоматом , но там нету DTMF.
Гоняли звонки через коробку дебианом :
GSM -> E169 -> * -> Wi-FI -> PC x-lite - Нарисовалася странная проблема , скорее всего локального характера , исходящий звонок через 30 сек обрывался , при входящем все хорошо.
GSM -> E169 -> * -> Wi-FI -> PC XpressTalk - В обе стороны все хорошо GSM -> E169 -> * -> LinkSys SPA-921 - Тоже все хорошо
SMS не тестили.
Хороший вариант для дома , для семьи. Если есть у провайдера тарифный план который обеспечивает бесплатные звонки между абонентами сети , у нас такой есть , то можно для себя сделать выход и на сип провайдера , и друзей подключить , и сам всегда доступен для них
Насчет 30-ти секунд у меня есть подозрение... Звоню на МТС номер 111 (автоинфоматор), там электронная тетка уже вовсю распинается, а X-lite все еще показывает состояние ringing, и в консоли:
Код:
test-asterisk*CLI> core show channels verbose Channel Context Extension Prio State Application Data CallerID Duration Accountcode BridgedTo Datacard/datacard0-d datacard-incoming 9111 1 Down AppDial (Outgoing Line) 9111 00:01:33 (None)
* Find a way how to proper detect remote side alerting
Added after 3 hours 26 minutes:
хм.. после
Код:
svn co http://www.makhutov.org/svn/chan_datacard/trunk/
и компиляции состояние канала теперь работает нормально DTMF тоже работает, если в SIP аккаунте с которого звоню выставить dtmfmode=info, иначе нет.. (странно)
я тут пророком Артема выступаю )) произошло еще одно обновление в коде теперь вроде бы исходящий DTMF работает как положено, заморочка была в AT командах брелка, посылающих тоны
В дистрибе эластикса модуля не оказалось , ну и фиг с ним.
есть, но в 1.6
latv писал(а):
Кстати, модемы E1550 которые продаются по 1190 руб вполне должны подходить для задач, в них заявлена поддержка голоса, так же как и в Huawei E169. Я приобрел один такой, он оказался к тому же не залоченым под оператора(!!!). На днях попробую взлететь на нем и отписаться о результатах.
а тут есть подводные камни эти модемчики выпускаются двух разновидностей. и некоторые не умеют голос. в частности с логотипом "3" и мегафоновские - не умеют точно! зато МТС и УТЕЛ точно умеют.
не умение перепрошивкой не лечится, видимо какое-то отличие на уровне железа.
Я 1.6 и качал... где он там? или после обновления из репозитория?
Что касается модемов, спасибо за инфу. У меня как раз МТС. Еще взять, что ли?
Еще нарыл момент, cusd команды не работают в лоб, тк модем не понимает текстовое кодирование, ему USSD номера нужны закодированные, в частности *100# это AA180C3602 см. например тему http://forum.ubuntu.ru/index.php?topic=58408.0
Хотел купить huawei e169 или k3520, нигде в Киеве не могу найти. Как можно определить е1550 умеет работать с голосом или нет? Или где в Киеве можно купить е169?
Уже не хочется рисковать пробовал с chan_mobile, перепробовал несколько аппаратов, нормального решения найти не получилось, 100у.е. коту под хвост, теперь стараюсь аккуратнее, хотя эксперемент интересный.
попросить вставить брелок в ноут с лялихом на минутку определяется в лялихе моментально - если появляется три /dev/ttyUSB*, то голос есть (/dev/ttyUSB1)
насчет стабильности - да, бубушка на двое сказал, надо пробовать но явно это лучше чем блютус
а вообще, на сайте оператора если написано - "есть голос", то можно смело брать, тк если его нет, то вернуть не составит труда у МТС написано, что есть http://www.mts.ru/phones/models/huawei/e1550/
Цитата:
# Основные характеристики: # возможность использования в качестве flash-накопителя (поддержка карт памяти MicroSD); # поддержка USSD; # поддержка голосовых вызовов; # возможность отправки SMS-сообщений; # Plug&Play – автоматическая установка.
брал два модема e1550 от киевстара, первый - изпервой партии с новой прошивкой (FCLASS=? 0,1, CVOICE=? 0) на голос не завёлся (а может так ломанули...) второй недавно взял, отличается только CVOICE=0,8000,16,ещё_чтото_там компельнул chan_datacard под asterisk-1.6.1.9-1.fc11.i586 завелось с полоборота! качество звука - идеальное, счастью небыло предела... пока не стал проверять входящие sms/voice так вот оказывается этот момед сливает служебную инфу И инфу о входящих звонках/смс на третий порт /dev/ttyUSB2 chan_datacard конечто же не смотрит на него, а ждеёт ифы от /dev/ttyUSB0 в котором тишина
В chan_sebi кроме sebi.conf есть еще sebi_devices.conf , которая заполняется автоматом. Там пишутся именно 2 порта: data = /dev/ttyUSB1 voice =/dev/ttyUSB2 У меня эти порты меняются - в sebi_devices.conf - меняются записи
ну что, докладываюсь. долго напрягал моск, патчил sebi, в результате откомпилил этот модуль под свой астер 1.6 модем опятьже поднялся, ttyUSB1 он определил как голосовой, ttyUSB2 как порт для данных, ну поверил набрал номер, пошли гудки, автомат ответил, слышал я его наверное секунду-другую. после этого посыпались voice write error (или чтото в этом роде) оказалось момед отвалился, переподключился (udev ещё не настраивал, поэтому не запустился usb_modeswitch), а астер его уже потерял. зато входящие вызовы заработали. так что на данном этапе считаю chan_dtatcard - самым интересным из двух модулей
Вот здесь если что тоже кто-то chan_sebi под asterisk 1.6 подогнал. Но тоже вроде пишет, что не идёт. Значет надо тэстывать chan_datacard? А что на счёт меняющихся портов? Нельза ли посмотреть как это делается в chan_sebi и сделать так, чтобы chan_datacard тоже автоматически порты опозновала?
и так, продолжаем: переписал немного chan_datacard.c для модемов, которые часть информации выводят в порт ttyUSB2 добавил в конфиг параметр info, теперь конфиг фыглядит приерно так6 audio=/dev/ttyUSB1 data=/dev/ttyUSB0 info=/dev/ttyUSB2 модем принимает входящие звонки (sms не проверял) тестировал на e1550 - работает, также стал показывать уровень сигнала RSSI
если кому будет интересно - сброшу правленный файл (или патч)
заметил такой ньюанс, не связанный с астериском - иногда модем переподключается, а т.к. udev ещё не освободило порты ttyUSB0-2 модем вешается на порты ttyUSB2-4 неприятная ситуювина...
@ SVLD: Покажи свою chan_datacard.c - я хочу тоже испытать.
EDIT: Я сделал (почти) всё так, ка написанно в этом Howto. Вроде всё пашет. SMS не пробовал, но голос идёт.
Код:
debian:/usr/src/chan_datacard# asterisk -r Asterisk 1.6.2.0, Copyright (C) 1999 - 2009 Digium, Inc. and others. Created by Mark Spencer Asterisk comes with ABSOLUTELY NO WARRANTY; type 'core show warranty' for details. This is free software, with components licensed under the GNU General Public License version 2 and other licenses; you are welcome to redistribute it under certain conditions. Type 'core show license' for details. ========================================================================= Connected to Asterisk 1.6.2.0 currently running on debian (pid = 18958) Verbosity is at least 3 debian*CLI> -- Registered SIP '30' at 192.168.178.22 port 5060 [Dec 31 16:39:58] NOTICE[18986]: chan_sip.c:18190 handle_response_peerpoke: Peer '30' is now Reachable. (2ms / 5000ms) == Using SIP RTP CoS mark 5 -- Executing [08003301000@default:1] Dial("SIP/30-00000000", "Datacard/datacard0/08003301000") in new stack -- Called datacard0/08003301000 -- Datacard/datacard0-1f4d is making progress passing it to SIP/30-00000000 -- Datacard/datacard0-1f4d is ringing -- Datacard/datacard0-1f4d answered SIP/30-00000000 == Spawn extension (default, 08003301000, 1) exited non-zero on 'SIP/30-00000000' debian*CLI>
Осталос теперь только испытать, будет ли всё работать сутками без ошибок сразу с двумя модемами.
А япытал chan_sebi на debian lenny. Шум, задержки голоса. На убунте 9.10 после исходящего звонка дистрибутив ругается, говорит, что теперь стал нестабильным. Посоветуйте дистрибутив
Собирал Chan_datacard rev. 15 на Ubuntu Server 2.6.31-16-generic-pae SMP i686 Собрался с такими предупреждениями:
root@skyme:/usr/src/chan_datacard/chan_datacard/trunk# make cc -Wall -g -O2 -fPIC -D_GNU_SOURCE -DAST_MODULE=\"chan_datacard\" -shared -o chan_datacard.so chan_datacard.c chan_datacard.c: In function ‘do_monitor_phone’: chan_datacard.c:3258: warning: enumeration value ‘AT_A’ not handled in switch chan_datacard.c:3258: warning: enumeration value ‘AT_D’ not handled in switch chan_datacard.c:3258: warning: enumeration value ‘AT_E0’ not handled in switch chan_datacard.c:3258: warning: enumeration value ‘AT_DDSETEX’ not handled in switch chan_datacard.c:3258: warning: enumeration value ‘AT_CVOICE’ not handled in switch chan_datacard.c:3258: warning: enumeration value ‘AT_CHUP’ not handled in switch chan_datacard.c:3258: warning: enumeration value ‘AT_CKPD’ not handled in switch chan_datacard.c:3258: warning: enumeration value ‘AT_CMGS’ not handled in switch chan_datacard.c:3258: warning: enumeration value ‘AT_VGM’ not handled in switch chan_datacard.c:3258: warning: enumeration value ‘AT_VGS’ not handled in switch chan_datacard.c:3258: warning: enumeration value ‘AT_VTS’ not handled in switch chan_datacard.c:3258: warning: enumeration value ‘AT_DTMF’ not handled in switch chan_datacard.c:3258: warning: enumeration value ‘AT_CMGF’ not handled in switch chan_datacard.c:3258: warning: enumeration value ‘AT_CNMI’ not handled in switch chan_datacard.c:3258: warning: enumeration value ‘AT_CLVL’ not handled in switch chan_datacard.c:3258: warning: enumeration value ‘AT_CPMS’ not handled in switch chan_datacard.c:3258: warning: enumeration value ‘AT_SIMST’ not handled in switch chan_datacard.c:3258: warning: enumeration value ‘AT_SRVST’ not handled in switch chan_datacard.c: In function ‘load_module’: chan_datacard.c:3740: warning: passing argument 2 of ‘ast_register_application2’ from incompatible pointer type /usr/include/asterisk/module.h:427: note: expected ‘int (*)(struct ast_channel *, void *)’ but argument is of type ‘int (*)(struct ast_channel *, const char *)’ chan_datacard.c:3741: warning: passing argument 2 of ‘ast_register_application2’ from incompatible pointer type /usr/include/asterisk/module.h:427: note: expected ‘int (*)(struct ast_channel *, void *)’ but argument is of type ‘int (*)(struct ast_channel *, const char *)’
Работает нормально, качество голоса хорошее. Но с смс проблемы! 1. Не определяет номер отправителя смс ( переменная SMSSRC пустая ). 2. Не понимает кириллицу, вместо букв выводит UTF code units: 2010-01-02 01:50:23 - Datacard/datacard2-a97d - : 043A043804400438043B043B043804460430
Ну, не знаю, что изменилось, но.... голос побежал без задержек и в отличном качестве с datacard. Переставил ubuntu 9.10.(2.6.31-14-generic), поставил * 1.6.2.0 и chan_datacard (Revision 19 из trunk) SMS, правда, отправить на datacard не могу. Телефон пишет, что невозможно отправить SMS.
Купил только что модем от МТС. Только он залоченый под опеатора. Как разблокировать? Пока попадаются тоько платные программы разблокировки. Раньше на форуме gsmforum.ru писали коды разблокировки, но сейчас эту веку закрыли. Может кто-нибудь поделиться программой для Unlock?
Купил только что модем от МТС. Только он залоченый под опеатора. Как разблокировать? Пока попадаются тоько платные программы разблокировки. Раньше на форуме gsmforum.ru писали коды разблокировки, но сейчас эту веку закрыли. Может кто-нибудь поделиться программой для Unlock?
На unlockers.ru сходите. Там есть ветка по модемам МТС е1550. Код дадут. По крайней мере, мне неделю назад дали.
Работает нормально, качество голоса хорошее. Но с смс проблемы! 1. Не определяет номер отправителя смс ( переменная SMSSRC пустая ). 2. Не понимает кириллицу, вместо букв выводит UTF code units: 2010-01-02 01:50:23 - Datacard/datacard2-a97d - : 043A043804400438043B043B043804460430
брал два модема e1550 от киевстара, первый - изпервой партии с новой прошивкой (FCLASS=? 0,1, CVOICE=? 0) на голос не завёлся (а может так ломанули...) второй недавно взял, отличается только CVOICE=0,8000,16,ещё_чтото_там так вот оказывается этот момед сливает служебную инфу И инфу о входящих звонках/смс на третий порт /dev/ttyUSB2 chan_datacard конечто же не смотрит на него, а ждеёт ифы от /dev/ttyUSB0 в котором тишина
собственно вопрос: как быть?
Дай первые 8 цифр IMEI твоих модемов... В новых партиях 35881103 голос предактивированный как и в Российском МТС в остальных е1550 его надо активировать при помощи HUAWEI MAGIC TOOL но это платно. если у тебя другие IMEI то скорее всего тебе активировали голос при помощи этой программы.. На данный момент времени никто кроме неё голос не активирует..
esveka писал(а):
Какие же все-таки АТ команды для подключения голосовых функций Е1550?
Я просто активирую при помощи HUAWEI MAGIC TOOL купленной. и не забиваю себе голову.
Added after 2 minutes:
dsa046 писал(а):
Купил только что модем от МТС. Только он залоченый под опеатора. Как разблокировать? Пока попадаются тоько платные программы разблокировки. Раньше на форуме gsmforum.ru писали коды разблокировки, но сейчас эту веку закрыли. Может кто-нибудь поделиться программой для Unlock?
Программы только платны... халяву прикрыли... от тебя требуется как минимум IMEI твоего модема
А как перед тем, как модем соединиться с модемом послать ему AT-команды? Это сразу решит проблемы с вводом PIN-кода и выбора частотного диапазона (актуально, где UMTS работает лучше GSM).
Что-то не получается запустить chan_datacard. Модем e1550.
У меня нет таких устройств, как написано в datacard.conf по умолчанию. (ttyUSB) Вот какие есть:
Цитата:
dsa@compaq:~$ sudo ls /dev/ |grep USB dsa@compaq:~$ sudo ls /dev/ |grep usb usbdev1.1_ep00 usbdev1.1_ep81 usbdev1.5_ep00 usbdev1.5_ep01 usbdev1.5_ep02 usbdev1.5_ep81 usbdev1.5_ep82 usbdev2.1_ep00 usbdev2.1_ep81 usbdev3.1_ep00 usbdev3.1_ep81
Выделенные появляются при подключении флешки. Почему их 4? какие из них надо подключать? Почему они не опознаются как ttyUSBx? Попробовал наобум прописать в datacard.conf - получилось следующее:
Код:
== Found> -- Datacard datacard1 trying to connect on /dev/ttyUSB5... [Jan 5 12:13:41] WARNING[10536]: chan_datacard.c:1279 opentty: Unable to open '/dev/ttyUSB5' -- Datacard datacard0 trying to connect on /dev/usbdev1.5_epp01... [Jan 5 12:13:41] WARNING[10536]: chan_datacard.c:1279 opentty: Unable to open '/dev/usbdev1.5_epp01'
PS Операционка - Убунту.
Код:
dsa@compaq:~$ uname -a Linux compaq 2.6.27-11-generic #1 SMP Wed Apr 1 20:57:48 UTC 2009 i686 GNU/Linux
пардоньте, праздники - ветку не заглядывал, потому и не отвечал shurass посмотрел имейку - действительно последняя партия начинается с 358811031
всем кто просил datacard немножко попускаюсь, надо сырцы копать дальше, после первого звонка модуль начинает работать неставбильно время вроде немного появилось - покопаю, хотя былбы тут программер... я то так - побелить, покрасить
Да, действительно, нет у Вас /dev/ttyUSB. Где-то попадалось на глаза(не в блоге ли участника этой ветки latv), что старые ядра не умеют создавать ttyUSB. Нужен линь со свежим ядром.
брал два модема e1550 от киевстара, первый - изпервой партии с новой прошивкой (FCLASS=? 0,1, CVOICE=? 0) на голос не завёлся (а может так ломанули...) второй недавно взял, отличается только CVOICE=0,8000,16,ещё_чтото_там компельнул chan_datacard под asterisk-1.6.1.9-1.fc11.i586 завелось с полоборота! качество звука - идеальное, счастью небыло предела... пока не стал проверять входящие sms/voice так вот оказывается этот момед сливает служебную инфу И инфу о входящих звонках/смс на третий порт /dev/ttyUSB2 chan_datacard конечто же не смотрит на него, а ждеёт ифы от /dev/ttyUSB0 в котором тишина
собственно вопрос: как быть?
Эксперимент со сборкой asterisk-1.6.2.0 решил поставить в VirtualBox. Итак, поставил я в VirtualBox Ubuntu 9.10 (Linux ubuntu-vbox 2.6.31-16-generic #53-Ubuntu) на ноут с Вистой. В ноутбук воткнул E1550, а свойствах машины сделал проброс USB-портов. После чего запустил ВМ. Определились: /dev/ttyUSB0 /dev/ttyUSB1 /dev/ttyUSB2
Команда "datacard show devices" выдавала подключенный Huawei E1550. Кроме того, указывались RSSI, Mode, Submode (!=0), и модем Huawei E1550 принимал входящие вызовы на context=default. DTMF исправно работал. Команда "datacard show devices":
Код:
ID Group Connected State Voice SMS RSSI Mode Submode Provider Name Manufacturer Model Firmware IMEI datacard0 1 Yes Free Yes Yes 15 3 3 Beeline huawei E1550 11.608.12.00.143 35712303XXXXXXX
Затем, я сношу Asterisk 1.4 на моём рабочем сервере (Linux server 2.6.28-17-server #58-Ubuntu), ставлю Asterisk 1.6.2.0, datacard. Втыкаю Huawei E1550 - не определяется.
С прошлого лета у меня имеется Huawei E169G. Решил проверить. Подключил. Определились три интерфейса: /dev/ttyUSB0 /dev/ttyUSB1 - audio /dev/ttyUSB2 - data
Звонит, принимает звонки, выдает информацию о RSSI, Mode, Submode. Обрадовался :)
Решил продолжить битву с E1550. На одном из форумах нашел инструкции (раз, два):
В итоге, модем определился: /dev/ttyUSB3 - data /dev/ttyUSB4 - audio /dev/ttyUSB5
Делаю "datacard show devices":
Код:
ID Group Connected State Voice SMS RSSI Mode Submode Provider Name Manufacturer Model Firmware IMEI datacard1 2 Yes Free Yes Yes 0 0 0 Beeline huawei E1550 11.608.12.00.143 35712303XXXXXXX datacard0 1 Yes Free Yes Yes 13 3 3 MegaFon huawei E169G 11.314.13.00.143 35305802XXXXXXX
Через модем E1550 можно только позвонить - входящие звонки не принимает.
Интересуют следующие вещи: 1. Что такое group=1 (calling group) и как ей пользоваться? 2. Как можно увеличить громкость - собеседник меня, практически, не слышит? Я слышу замечательно при rxgain=5.
Кто может объяснить, почему в виртуальной машине модем отлично принимал входящие звонки? Может, ему нужно сообщить на какой порт информацию сливать или что-то ещё...
Перекинули на 3 порт - принимает звонки, но какой-то шум. У SVLD fedora 11 - шума нет, всё хорошо, если бы модем не перегружался. В общем, как рабочее решение использовать пока никак нельзя.
Где-то попадалось на глаза(не в блоге ли участника этой ветки latv), что старые ядра не умеют создавать ttyUSB. Нужен линь со свежим ядром.
Обновил ядро. ttyUSBx обнаружились. Как точно определить какой из них для чего предназначен?
Я выяснял методом тыка. Выяснил что audio=/dev/ttyUSB1, data=/dev/ttyUSB2. Входящие звонки прнимаются, слышимость нормальная. Исходящие - какое-то скрипение, рипение, на некоторых частоах пробивается музыка(слушал музыку на холде). А четырьмя поставми выше наоборот, только на исходящих работает. Вот бы узнать от чего это зависит.
P.S. Модем E1550.
Added after 34 minutes:
Тестировал тестировал, вот что выяснил. Если в диалплане поставить Answer(), то глюки со скрипениями пропадают. И исходящий и входящий слышны становятся нормально. Но всеравно один косяк есть который не смог побороть. Исходщие вызовы прерываются через 30 секунд, в логах ничего подозрительного, на мой взгляд. Лог во вложении.
Последний раз редактировалось: dsa046 (Пт Янв 08, 2010 14:03)
group=1 В chan_mobile, пользователи одной группы, типа, могли общаться бесплатно. Сам не пробовал-не знаю. Здесь было че-то. В аглицком не силен, может, не так понял. Правда, применение какое этому найти, даже если в datacard то же самое, не знаю.
Мне кажется там немного другое: если адресовать звонок не на конкретный адаптер, а в конкретную группу, то будет звонить любой из сободных адаптеров в этой группе.
* валится при попытке воспроизвести файл, как у alexht
alexht писал(а):
При входящем звонке есть такая проблема
Код:
-- Executing [s@ivr:6] BackGround("Datacard/ks-df18", "secretar") in new stack -- Playing 'secretar.slin' (language 'en') *** glibc detected *** asterisk: double free or corruption (!prev): 0x09369dd8 ***
и астериск падает, что это может быть?
только без строки *** glibc detected *** asterisk: double free or corruption (!prev): 0x09369dd8 ***
Звоники проходят в обе стороны без проблем, смс принимаются. Но как только любая попытка воспроизвести файл, то облом. Куда копать даже ума не приложу... Прошу у кого есть возможность попробуйте, как у вас дела с этим обстоят? Ubuntu 9.10 server, Asterisk 1.6.2.0
Насчет 30-ти секунд у меня есть подозрение... Звоню на МТС номер 111 (автоинфоматор), там электронная тетка уже вовсю распинается, а X-lite все еще показывает состояние ringing, и в консоли:
Что за подозрение? Почему исходящий звонок отрубается через эти 30 секунд? Только у меня так? Описание и дебаг звонка на предыдущей странице форума, внизу.
А через 30 секунд звонок обрубается если x-lite используете ? Если да то у него в насройках есть фишка , что если он в течении 30 секунд не видит RTCP пакетов то завершать звонок. А group=1 , это если несколько модемов объединяить в группу , и тогда в dial команда будет такой Dial(datacard/1/${EXTEN}) , по идее тогда он должен выбирать свободный на данный момент модем.
sael, спасибо большое. Действиельно в этой настройке X-lite дело. Теперь запустить бы эту штуку еще и на FreeBSD, но похоже что это не так просто. Она не определяется как ttyUSB в дефолтном ядре Generic в 7.1 У меня вообще не определилась.
А group=1 , это если несколько модемов объединяить в группу , и тогда в dial команда будет такой Dial(datacard/1/${EXTEN}) , по идее тогда он должен выбирать свободный на данный момент модем.
соверщенно верно, это вообще стандартный параметр астериска, только правильно писать /datacard/g1/${EXTEN}
и кстати с 31 ревизии в datacard присутствует и rxgain и txgain
Просьба к тем кто победил проблему смены ttyUSB при перезагрузке модема , расскажите как это сделать. С никс система не настолько дружен , поэтому что там с udev сделать я не понял. Спасибо.
что значит "при перезагрузке модема"? или при перезагрузке системы? просто если первый случай - тут проблема не в привязке модема к портам, а вылете модуля option, вроде как у меня получилось вылечить при помощи перевода модема в режим "только модем" AT^U2DIAG=0 если второй вариант, то это странно (может модем не один в компе или ещё есть устройства в системе УСБ-ные?), но тогда можно правилами привязать устройства к портам.
# checking for datacards which have state "Busy" for card in `asterisk -rx "datacard show devices" | grep -i busy | sed -n -r "s/(card\w{1,})(.*)/\1/p"`.. # assume that datacard ID start with "card" do echo $card # check if channel also busy # ATTENTION!!! to work lenght of datacard ID must me NOT MORE then 10 chars channel=$(asterisk -rx "core show channels" | grep -i $card) if [ -z "$channel" ] then # if datacard is Busy but channel is Free then something wrong echo "channel $card FREE" # notify me by email echo "reset datacard $card" | sendEmail -f v.pupkin@gmail.com -t v.pupkin@gmail.com -s myhost.com -u "RESET DATACARD" # reset datacard asterisk -rx "datacard reset $card" else echo "channel $card BUSY" fi done
exit 0
Не лучше ли первой строкой сделать "#asterisk -rx "datacard show devices" | grep -i busy | awk '{print $1}' " как это предлагает pknw ?
согласен. с awk '{print $1}' правильнее
Цитата:
Script вроде должен пахать, но как он может работать, если в один момент две cardы будут иметь status BUSY?
Вот живой пример
Код:
CLI> datacard show devices ID Group State RSSI Mode Submode Provider Name Model Firmware IMEI Number cardUMC1 1 Busy 15 3 3 UMC E1550 11.608.12.02.174 cardUMC2 1 Busy 16 3 3 UMC E1550 11.608.12.02.174 cardKS1 2 Free 20 3 3 KYIVSTAR E1550 11.608.12.02.174 cardDJ1 3 Free 21 3 3 DJUICE E1550 11.608.12.02.174 cardDJ2 3 Free 20 3 3 DJUICE E1550 11.608.14.11.174 cardDJ3 3 Free 21 3 3 DJUICE E1550 11.608.12.02.174
а часто они у Вас бывают? можете привести логи на момент зависания? (интересуют dmesg и логи asterisk'а с debug level 5)
с момента написания сообщения (т.е. с 06/08/2010) было только ОДНО зависание. Скрипт его продетектировал. Модем ресетнул. к сожалению к этому моменту лог уже погиб.
из серии "погадать на кофейной гуще" можно предположить что на стабильность работы положительно повлияло переключение всех модемов на один активный USB хаб.
Это для чего? Номера на сим карте сохранять? Расскажите кто знает.
Да. Сохранить собственный номер на сим карте, чтобы его было видно по команде datacad show devices Вобщем то с сохраненным номером жить удобнее. Например легче понять какой номер пополнить нужно.
Впрочем, по моему опыту, в современных сим картах собственый номер и так прописан. Не было его в карточках 3-5 летней давности.
В продолжении к моим проблемам по дисконекту модемов. Вот более подробный лог, т.е. модем не зависает, но отваливается на отключении линии:
Код:
== Spawn extension (macro-to-dongle, s, 2) exited non-zero on 'SIP/srv_talk37-00000021' in macro 'to-dongle' == Spawn extension (ext-from-talk37, +79xxxxxxxxx, 1) exited non-zero on 'SIP/srv_talk37-00000021' [Sep 15 11:33:41] ERROR[4707]: __at_response.c:800 at_response_error: [dc_mts] Error sending hangup, disconnecting -- Datacard dc_mts has disconnected -- No one is available to answer at this time (1:0/0/0) -- Auto fallthrough, channel 'SIP/srv_talk37-00000022' status is 'NOANSWER' -- Datacard dc_mts trying to connect on /dev/ttyUSB2... -- Datacard dc_mts has connected, initializing... -- Datacard dc_mts initialized and ready
Самое плохое, что при последующей попытке позвонить через этот же модем.. он с большой долей вероятности тут же дисконектится. Вот что посоветуете с этим делать?
disablesms=yes ; chan_datacard has currently a bug with SMS reception. When a SMS gets in during a ; call chan_datacard might crash. Enable this option to disable sms reception. ; Default = no
Поставил.. очень надеюсь, что поможет и дело было именно в этом.
Хм, странно видеть такие проблемы. Может с самими карточками что-то не так? У меня например все карточки c прошивкой 11.608.12.02.174, и должен сказать что ведут себя по-разному, одна например, может отвалится если ussd на левый номер отправлю, но она сразу же переинициализируется и через неё можно будет звонить. Иногда, правда, еще руками даю карточкам команду AT+CMGD=1,4 для удаления смс. Кстати разработчики chan_datatard постоянно улучшают код.
Demon_ru - тебе следовало бы выложить debug лог и описание карточек.
+CLIP: "+380999999999",145,,,,0 ] [Sep 18 02:03:20] DEBUG[13762] __at_read.c: [datacard1] receive 12 byte, used 12, free 2036, read 0, write 12 [Sep 18 02:03:20] DEBUG[13762] __at_read.c: [datacard1] [ ^RSSI:20 ] [Sep 18 02:03:22] DEBUG[13762] __at_read.c: [datacard1] receive 8 byte, used 8, free 2040, read 0, write 8 [Sep 18 02:03:22] DEBUG[13762] __at_read.c: [datacard1] [ RING ] [Sep 18 02:03:22] DEBUG[13762] __at_read.c: [datacard1] receive 35 byte, used 35, free 2013, read 0, write 35 [Sep 18 02:03:22] DEBUG[13762] __at_read.c: [datacard1] [ +CLIP: "+380999999999",145,,,,0 ] [Sep 18 02:03:22] DEBUG[13759] __at_read.c: [datacard4] receive 12 byte, used 12, free 2036, read 0, write 12 [Sep 18 02:03:22] DEBUG[13759] __at_read.c: [datacard4] [ ^RSSI:10 ] [Sep 18 02:03:23] DEBUG[13762] __at_read.c: [datacard1] receive 20 byte, used 20, free 2028, read 0, write 20 [Sep 18 02:03:23] DEBUG[13762] __at_read.c: [datacard1] [ ^CEND:1,0,104,16 ] [Sep 18 02:03:23] DEBUG[13762] __at_response.c: [datacard1] CEND: call_index: 1 [Sep 18 02:03:23] DEBUG[13762] __at_response.c: [datacard1] CEND: duration: 0 [Sep 18 02:03:23] DEBUG[13762] __at_response.c: [datacard1] CEND: end_status: 104 [Sep 18 02:03:23] DEBUG[13762] __at_response.c: [datacard1] CEND: cc_cause: 16 [Sep 18 02:03:23] DEBUG[13762] __at_response.c: [datacard1] Line disconnected [Sep 18 02:03:23] DEBUG[13762] __at_response.c: [datacard1] hanging up owner [Sep 18 02:03:23] DEBUG[13830] pbx.c: Spawn extension (gw-in,s,9) exited non-zero on 'Datacard/datacard1-57d7' [Sep 18 02:03:23] DEBUG[13830] channel.c: Soft-Hanging up channel 'Datacard/datacard1-57d7' [Sep 18 02:03:23] DEBUG[13830] pbx.c: Expression result is '0' [Sep 18 02:03:23] DEBUG[13830] pbx.c: Launching 'GotoIf' [Sep 18 02:03:23] DEBUG[13830] pbx.c: Not taking any branch [Sep 18 02:03:23] DEBUG[13830] pbx.c: Expression result is '0' [Sep 18 02:03:23] DEBUG[13830] pbx.c: Launching 'GotoIf' [Sep 18 02:03:23] DEBUG[13830] pbx.c: Not taking any branch [Sep 18 02:03:23] DEBUG[13830] pbx.c: Function result is '+380999999999' [Sep 18 02:03:23] DEBUG[13830] pbx.c: Function result is '2010-09-18 02:03:23' [Sep 18 02:03:23] DEBUG[13830] pbx.c: Launching 'System' [Sep 18 02:03:24] DEBUG[13830] pbx.c: Launching 'NoOp' [Sep 18 02:03:24] DEBUG[13830] channel.c: Hanging up channel 'Datacard/datacard1-57d7' [Sep 18 02:03:24] DEBUG[13830] __channel.c: [datacard1] Hanging up device [Sep 18 02:03:24] DEBUG[9796] devicestate.c: No provider found, checking channel drivers for Datacard - datacard1 [Sep 18 02:03:24] DEBUG[9796] __channel.c: Checking device state for device datacard1 [Sep 18 02:03:24] DEBUG[9796] devicestate.c: Changing state for Datacard/datacard1 - state 1 (Not in use) [Sep 18 02:03:24] DEBUG[9796] devicestate.c: device 'Datacard/datacard1' state '1' [Sep 18 02:03:24] DEBUG[9796] devicestate.c: No provider found, checking channel drivers for Datacard - datacard1 [Sep 18 02:03:24] DEBUG[9796] __channel.c: Checking device state for device datacard1 [Sep 18 02:03:24] DEBUG[9796] devicestate.c: Changing state for Datacard/datacard1 - state 1 (Not in use) [Sep 18 02:03:24] DEBUG[9796] devicestate.c: device 'Datacard/datacard1' state '1' [Sep 18 02:03:24] DEBUG[9803] app_queue.c: Device 'Datacard/datacard1' changed to state '1' (Not in use) but we don't care because they're not a member of any queue. [Sep 18 02:03:24] DEBUG[9803] app_queue.c: Device 'Datacard/datacard1' changed to state '1' (Not in use) but we don't care because they're not a member of any queue. [Sep 18 02:03:24] DEBUG[13762] __at_read.c: [datacard1] receive 13 byte, used 13, free 2035, read 0, write 13 [Sep 18 02:03:24] DEBUG[13762] __at_read.c: [datacard1] [ ^MODE:3,3 ] [Sep 18 02:03:25] DEBUG[13759] __at_read.c: [datacard4] receive 12 byte, used 12, free 2036, read 0, write 12 [Sep 18 02:03:25] DEBUG[13759] __at_read.c: [datacard4] [ ^RSSI:10 ]
Здесь видно что при входящем звонке появляется AT+CLVL. В то же время sudo cat /dev/ttyUSB02 показывает:
Код:
RING
+CLIP: "+380999999999",145,,,,0
RING
+CLIP: "+380999999999",145,,,,0
^RSSI:21
RING
+CLIP: "+380999999999",145,,,,0
^CEND:1,0,104,16
^RSSI:17
^MODE:3,3 ^C
Т.е. скорее всего у тебя что-то с системой...
Поработал над скриптом переинициализации - теперь только 2 требования: 1) запускать от рута; 2) иметь откомпилированый hub-ctrl. Информацию, на каком порту, какого хаба, висит карточка - получаем через udev!
Код:
#!/bin/bash # Filename: gsm-keeper # Version: 0.4c # Purpose: This script checking for datacards which have "Busy" state # Authors: asteriskforum' users (asteriskforum.ru), (c) Sergey Fenko # License: This code is licensed under the GPL v2. ################################################################################
# NOTICE: You need to run this script with root privilegies!
DCCONF=/etc/asterisk/datacard.conf # Path to the datacards configuration file. HUBCTL=./hub-ctrl # Path to the "hub-ctrl" program. SLEEPTIME="1m 20s" # SLEEPTIME is an amount of time that we will wait for changes taking effect.
is_dc_binded_to_chan() { asterisk -rx "core show channels" | sed -n "s/^\(Datacard\/$DC-[^ \t]*\)\( *\t*.\+\)/\1/p" }
case $1 in -t) bdp_by_name $2; exit 0 ;; -T) hubctl_bdp $(bdp_by_name $2); exit 0 ;; -h) echo -e "Usage: $0 -[(t|T) \$CARDNAME]\ \n\t-t\t- to view bus, dev, port information;\ \n\t-T\t- to toggle power of card.\ \n\tUse no arguments to automatically check for freezed datacards."; exit 0 esac
if [ -x $HUBCTL ] then echo "Cheking busy DataCards:" else echo "There is no $HUBCTL file or it is not executable" exit 1 fi
for DC in $(busy_dcs) do CHAN=$(is_dc_binded_to_chan) if [ -z "$CHAN" ] then { echo "$DC is busy and not assigned to any channel - probably freezed - REINITIALIZING" asterisk -rx "datacard reset $DC" let WILLCHECK=1 # this variable toggles to making control } else echo "$DC is busy and assigned to channel $CHAN - OK" fi done
if [ "$WILLCHECK" = "1" ] then { echo -e "Waiting some time for changes taking effect.\nIf any problems - will toggle power." sleep $SLEEPTIME for DC in $(busy_dcs) do if [ -z "$(is_dc_binded_to_chan)" ] then echo -e "\n$DC is busy and not assigned to any channel - probably deeply freezed - TOGGLE POWER!)" hubctl_bdp $(bdp_by_name $DC) fi done } fi exit 0
Чтобы проверить как поведёт себя функция bdp_by_name(), которая ищет через datacard.conf и udev путь к карточке, выполните скрипт с ключем -t "имя_карточки". Должно выдать три цифры: шина, устройство, порт. Чтобы принудительно передёрнуть питание какой-либо карточки выполните с ключем -T "имя_карточки". Тестируем!
Хм, странно видеть такие проблемы. Может с самими карточками что-то не так? У меня например все карточки c прошивкой 11.608.12.02.174, и должен сказать что ведут себя по-разному, одна например, может отвалится если ussd на левый номер отправлю, но она сразу же переинициализируется и через неё можно будет звонить. Иногда, правда, еще руками даю карточкам команду AT+CMGD=1,4 для удаления смс. Кстати разработчики chan_datatard постоянно улучшают код.
Demon_ru - тебе следовало бы выложить debug лог и описание карточек.
Хаб: D-Link Corp. DUB-H7 7-port USB 2.0 hub Три USB-донгла: два от МТС разлоченных (написано хуавей E1550) и один от билайна.. (так же написано хуавей E1550). Билайновский появился чуть позже... ронялось всё и до этого.
В этот раз стабильно проработало часов 10... и вот снова отвалилось.
Лог lsusb
Код:
Bus 003 Device 005: ID 12d1:1001 Huawei Technologies Co., Ltd. E620 USB Modem Bus 003 Device 004: ID 12d1:1001 Huawei Technologies Co., Ltd. E620 USB Modem Bus 003 Device 003: ID 12d1:1001 Huawei Technologies Co., Ltd. E620 USB Modem Bus 003 Device 002: ID 2001:f103 D-Link Corp. DUB-H7 7-port USB 2.0 hub
лог datacard show devices:
Код:
ID Group State RSSI Mode Submode Provider Name Model Firmware IMEI IMSI Number dc_smarts 3 Free 27 3 3 MTS RUS E1550 11.608.13.02.00 xxxxxxxx xxxxxxxx Unknown dc_megaphone 1 Free 27 3 3 MegaFon E1550 11.608.13.02.00 xxxxxxxx xxxxxxxx xxxxxxxx dc_mts 2 Free 31 3 2 CMAPTC - GSM E1550 11.608.13.02.00 xxxxxxxx xxxxxxxx Unknown
Лог verbose:
Код:
[Sep 20 13:40:12] VERBOSE[8025] app_dial.c: == Everyone is busy/congested at this time (1:0/1/0) [Sep 20 13:40:12] VERBOSE[8025] pbx.c: -- Auto fallthrough, channel 'SIP/srv_talk37-000000a5' status is 'CONGESTION' [Sep 20 13:40:13] VERBOSE[2801] netsock.c: == Using SIP RTP CoS mark 5 [Sep 20 13:40:13] VERBOSE[2801] netsock.c: == Using SIP VRTP CoS mark 6 [Sep 20 13:40:13] VERBOSE[2801] netsock.c: == Using SIP TRTP CoS mark 5 [Sep 20 13:40:13] VERBOSE[2801] netsock.c: == Using UDPTL CoS mark 5 [Sep 20 13:40:13] VERBOSE[8026] pbx.c: -- Executing [+79085696211@ext-from-talk37:1] Macro("SIP/srv_talk37-000000a6", "to-dongle,352445049138002,+79085696211") in new stack [Sep 20 13:40:13] VERBOSE[8026] pbx.c: -- Executing [s@macro-to-dongle:1] NoCDR("SIP/srv_talk37-000000a6", "") in new stack [Sep 20 13:40:13] VERBOSE[8026] pbx.c: -- Executing [s@macro-to-dongle:2] Dial("SIP/srv_talk37-000000a6", "Datacard/i:352445049138002/+79085696211") in new stack [Sep 20 13:40:13] VERBOSE[8026] app_dial.c: -- Called i:352445049138002/+79085696211 [Sep 20 13:40:13] VERBOSE[8026] app_dial.c: -- Datacard/dc_mts-8da7 is making progress passing it to SIP/srv_talk37-000000a6 [Sep 20 13:40:13] VERBOSE[8015] app_macro.c: == Spawn extension (macro-to-dongle, s, 2) exited non-zero on 'SIP/srv_talk37-000000a2' in macro 'to-dongle' [Sep 20 13:40:13] VERBOSE[8015] pbx.c: == Spawn extension (ext-from-talk37, +79203666310, 1) exited non-zero on 'SIP/srv_talk37-000000a2' [Sep 20 13:40:16] WARNING[8016] __channel.c: [dc_smarts] Don't know how to indicate condition 20 [Sep 20 13:40:16] VERBOSE[8016] app_macro.c: == Spawn extension (macro-to-dongle, s, 2) exited non-zero on 'SIP/srv_talk37-000000a3' in macro 'to-dongle' [Sep 20 13:40:16] VERBOSE[8016] pbx.c: == Spawn extension (ext-from-talk37, +79109879029, 1) exited non-zero on 'SIP/srv_talk37-000000a3' [Sep 20 13:40:16] ERROR[2797] __at_response.c: [dc_smarts] Error sending hangup, disconnecting [Sep 20 13:40:16] VERBOSE[2797] chan_datacard.c: -- Datacard dc_smarts has disconnected [Sep 20 13:40:28] VERBOSE[8026] app_dial.c: -- Datacard/dc_mts-8da7 answered SIP/srv_talk37-000000a6 [Sep 20 13:40:28] WARNING[8026] __channel.c: [dc_mts] Don't know how to indicate condition 20 [Sep 20 13:40:30] VERBOSE[2796] chan_datacard.c: -- Datacard dc_smarts trying to connect on /dev/ttyUSB8... [Sep 20 13:40:30] VERBOSE[2796] chan_datacard.c: -- Datacard dc_smarts has connected, initializing... [Sep 20 13:40:30] VERBOSE[8027] __at_response.c: -- Datacard dc_smarts initialized and ready [Sep 20 13:41:17] WARNING[8026] __channel.c: [dc_mts] Don't know how to indicate condition 20 [Sep 20 13:41:17] VERBOSE[8026] app_macro.c: == Spawn extension (macro-to-dongle, s, 2) exited non-zero on 'SIP/srv_talk37-000000a6' in macro 'to-dongle' [Sep 20 13:41:17] VERBOSE[8026] pbx.c: == Spawn extension (ext-from-talk37, +79085696211, 1) exited non-zero on 'SIP/srv_talk37-000000a6' [Sep 20 13:41:17] ERROR[2799] __at_response.c: [dc_mts] Error sending hangup, disconnecting [Sep 20 13:41:17] VERBOSE[2799] chan_datacard.c: -- Datacard dc_mts has disconnected [Sep 20 13:41:30] VERBOSE[2796] chan_datacard.c: -- Datacard dc_mts trying to connect on /dev/ttyUSB2... [Sep 20 13:41:30] VERBOSE[2796] chan_datacard.c: -- Datacard dc_mts has connected, initializing... [Sep 20 13:41:30] VERBOSE[8028] __at_response.c: -- Datacard dc_mts initialized and ready [Sep 20 13:43:34] VERBOSE[2801] netsock.c: == Using SIP RTP CoS mark 5 [Sep 20 13:43:34] VERBOSE[2801] netsock.c: == Using SIP VRTP CoS mark 6 [Sep 20 13:43:34] VERBOSE[2801] netsock.c: == Using SIP TRTP CoS mark 5 [Sep 20 13:43:34] VERBOSE[2801] netsock.c: == Using UDPTL CoS mark 5
лог дебага:
Код:
[Sep 20 13:40:13] DEBUG[2801] chan_sip.c: Stopping retransmission on '1862af86307d52e7062edb311fc75e5f@talk37.ru' of Request 102: Match Found [Sep 20 13:40:13] DEBUG[2801] chan_sip.c: Destroying SIP dialog 1862af86307d52e7062edb311fc75e5f@talk37.ru [Sep 20 13:40:13] DEBUG[8026] rtp.c: Ooh, format changed from unknown to ulaw [Sep 20 13:40:13] DEBUG[8026] rtp.c: Created smoother: format: 4 ms: 20 len: 160 [Sep 20 13:40:15] DEBUG[2799] __at_read.c: [dc_mts] receive 11 byte, used 11, free 2037, read 0, write 11 [Sep 20 13:40:15] DEBUG[2799] __at_read.c: [dc_mts] [ ^CONF:1 ] [Sep 20 13:40:15] DEBUG[2797] __at_read.c: [dc_smarts] receive 12 byte, used 12, free 2036, read 0, write 12 [Sep 20 13:40:15] DEBUG[2797] __at_read.c: [dc_smarts] [ ^RSSI:16 ] [Sep 20 13:40:15] DEBUG[2798] __at_read.c: [dc_megaphone] receive 12 byte, used 12, free 2036, read 0, write 12 [Sep 20 13:40:15] DEBUG[2798] __at_read.c: [dc_megaphone] [ ^RSSI:17 ] [Sep 20 13:40:16] DEBUG[2801] chan_sip.c: **** Received BYE (8) - Command in SIP BYE [Sep 20 13:40:16] DEBUG[2801] chan_sip.c: Setting SIP_ALREADYGONE on dialog 3faad9f47209818f595dc17d5845eb85@talk37.ru [Sep 20 13:40:16] DEBUG[2801] chan_sip.c: Session timer stopped: -1 - 3faad9f47209818f595dc17d5845eb85@talk37.ru [Sep 20 13:40:16] DEBUG[2801] chan_sip.c: Received bye, issuing owner hangup [Sep 20 13:40:16] DEBUG[2801] chan_sip.c: Trying to put 'SIP/2.0 200' onto UDP socket destined for 109.60.132.3:5060 [Sep 20 13:40:16] DEBUG[8016] channel.c: Didn't get a frame from channel: SIP/srv_talk37-000000a3 [Sep 20 13:40:16] DEBUG[8016] __channel.c: [dc_smarts] Requested indication 20 [Sep 20 13:40:16] DEBUG[8016] channel.c: Bridge stops bridging channels SIP/srv_talk37-000000a3 and Datacard/dc_smarts-dbb1 [Sep 20 13:40:16] DEBUG[8016] channel.c: Hanging up channel 'Datacard/dc_smarts-dbb1' [Sep 20 13:40:16] DEBUG[8016] __channel.c: [dc_smarts] Hanging up device [Sep 20 13:40:16] DEBUG[8016] __at_send.c: [dc_smarts] [AT+CHUP ] [Sep 20 13:40:16] DEBUG[8016] __at_fifo_queue.c: [dc_smarts] add command 'AT+CHUP' expected response 'OK' [Sep 20 13:40:16] DEBUG[2792] devicestate.c: No provider found, checking channel drivers for Datacard - dc_smarts [Sep 20 13:40:16] DEBUG[2792] __channel.c: Checking device state for device dc_smarts [Sep 20 13:40:16] DEBUG[2792] devicestate.c: Changing state for Datacard/dc_smarts - state 1 (Not in use) [Sep 20 13:40:16] DEBUG[2792] devicestate.c: device 'Datacard/dc_smarts' state '1' [Sep 20 13:40:16] DEBUG[2795] app_queue.c: Device 'Datacard/dc_smarts' changed to state '1' (Not in use) but we don't care because they're not a member of any queue. [Sep 20 13:40:16] DEBUG[2792] devicestate.c: No provider found, checking channel drivers for Datacard - dc_smarts [Sep 20 13:40:16] DEBUG[2792] __channel.c: Checking device state for device dc_smarts [Sep 20 13:40:16] DEBUG[2792] devicestate.c: Changing state for Datacard/dc_smarts - state 1 (Not in use) [Sep 20 13:40:16] DEBUG[2792] devicestate.c: device 'Datacard/dc_smarts' state '1' [Sep 20 13:40:16] DEBUG[2795] app_queue.c: Device 'Datacard/dc_smarts' changed to state '1' (Not in use) but we don't care because they're not a member of any queue. [Sep 20 13:40:16] DEBUG[8016] rtp.c: Channel '' has no RTP, not doing anything [Sep 20 13:40:16] DEBUG[8016] app_dial.c: Exiting with DIALSTATUS=ANSWER. [Sep 20 13:40:16] DEBUG[8016] app_macro.c: Spawn extension (macro-to-dongle,s,2) exited non-zero on 'SIP/srv_talk37-000000a3' in macro 'to-dongle' [Sep 20 13:40:16] DEBUG[8016] pbx.c: Spawn extension (ext-from-talk37,+79109879029,1) exited non-zero on 'SIP/srv_talk37-000000a3' [Sep 20 13:40:16] DEBUG[8016] channel.c: Soft-Hanging up channel 'SIP/srv_talk37-000000a3' [Sep 20 13:40:16] DEBUG[8016] channel.c: Hanging up channel 'SIP/srv_talk37-000000a3' [Sep 20 13:40:16] DEBUG[8016] chan_sip.c: Hangup call SIP/srv_talk37-000000a3, SIP callid 3faad9f47209818f595dc17d5845eb85@talk37.ru [Sep 20 13:40:16] DEBUG[2792] devicestate.c: No provider found, checking channel drivers for SIP - srv_talk37 [Sep 20 13:40:16] DEBUG[2792] chan_sip.c: Checking device state for peer srv_talk37 [Sep 20 13:40:16] DEBUG[2792] devicestate.c: Changing state for SIP/srv_talk37 - state 1 (Not in use) [Sep 20 13:40:16] DEBUG[2792] devicestate.c: device 'SIP/srv_talk37' state '1' [Sep 20 13:40:16] DEBUG[2795] app_queue.c: Device 'SIP/srv_talk37' changed to state '1' (Not in use) but we don't care because they're not a member of any queue. [Sep 20 13:40:16] DEBUG[2797] __at_read.c: [dc_smarts] receive 9 byte, used 9, free 2039, read 0, write 9 [Sep 20 13:40:16] DEBUG[2797] __at_read.c: [dc_smarts] [ ERROR ] [Sep 20 13:40:16] DEBUG[2797] __at_fifo_queue.c: [dc_smarts] remove command 'AT+CHUP' expected response 'OK'
народ, в астериксе я полный ноль, в линуксе, разве что в убунте на уровне пользователя, но очень хочется и необходимо реализовать VOIP-GSM шлюз? желательно на базе роутера D-Link DIR-320. От сюда такие вопросы:
latv, можете ли всё таки уже выложить готовый образ (http://www.powerpbx.ru/blog/?p=157) со всем последними доработками, как вы хотели ещё в начале темы?
utya, получилось ли у вас реализовать шлюз на базе DIR-320? Идея весьма актуальная, особенно для меня, дабы у самого такая железка установлена, но правда прошит он DD-WTR. Если удалось, то сможете ли поделиться опытом?
http://www.vpm.net.ua/?p=68 http://www.vpm.net.ua/?p=90 но OpenWrt Wi-Fi очень тормозит. Предподчтительнее http://www.dd-wrt.com/wiki/index.php/Что_такое_DD-WRT%3F версии V24_pre_sp2 K24, дабы на сегодняшний день она самая лучшая. так-то там есть прошивки с поддержкой астерикса, но про интересующую конфигурацию не слова. Причём астерикс есть только в меге, которая расчитана на 8 МБ флешку, в длинке же её всего 4. ОЗУ в стандарте 32 МБ, но многие меняют флешку на 64, что сделал и я.
Народ, подскажите плиз, в какую сторону копАть что бы побороть данную ошибку:
__at_response.c:1308 at_response_cusd: [datacard0] Error parsing CUSD (convert UCS-2 to UTF-8 ) : 5590353(и т.д., набор букв и цифр)
которая сыпется в консоль после запроса USSD. Данная ошибка наблюдается только на СИМках МТС. Для других операторов, USSD запросы, модуль датакарты обрабатывает чётко.
PS Попался в руки USB HUB на 10 портов. Во вложении фото "чуда" китайской электроники знаменитой фирмы noname, стоимостью 7$ по lsusb выдаёт нижеследующее:
lsusb Bus 008 Device 001: ID 1d6b:0001 Linux Foundation 1.1 root hub Bus 007 Device 001: ID 1d6b:0001 Linux Foundation 1.1 root hub Bus 006 Device 001: ID 1d6b:0001 Linux Foundation 1.1 root hub Bus 005 Device 001: ID 1d6b:0001 Linux Foundation 1.1 root hub Bus 004 Device 001: ID 1d6b:0001 Linux Foundation 1.1 root hub Bus 003 Device 001: ID 1d6b:0001 Linux Foundation 1.1 root hub Bus 002 Device 001: ID 1d6b:0002 Linux Foundation 2.0 root hub Bus 001 Device 038: ID 12d1:1001 Huawei Technologies Co., Ltd. E620 USB Modem Bus 001 Device 036: ID 12d1:1001 Huawei Technologies Co., Ltd. E620 USB Modem Bus 001 Device 034: ID 12d1:1001 Huawei Technologies Co., Ltd. E620 USB Modem Bus 001 Device 032: ID 12d1:1001 Huawei Technologies Co., Ltd. E620 USB Modem Bus 001 Device 015: ID 12d1:1001 Huawei Technologies Co., Ltd. E620 USB Modem Bus 001 Device 013: ID 12d1:1001 Huawei Technologies Co., Ltd. E620 USB Modem Bus 001 Device 012: ID 12d1:1001 Huawei Technologies Co., Ltd. E620 USB Modem Bus 001 Device 011: ID 12d1:1001 Huawei Technologies Co., Ltd. E620 USB Modem Bus 001 Device 010: ID 1a40:0101 TERMINUS TECHNOLOGY INC. Bus 001 Device 009: ID 1a40:0201 TERMINUS TECHNOLOGY INC. Bus 001 Device 008: ID 12d1:1001 Huawei Technologies Co., Ltd. E620 USB Modem Bus 001 Device 006: ID 12d1:1001 Huawei Technologies Co., Ltd. E620 USB Modem Bus 001 Device 003: ID 1a40:0101 TERMINUS TECHNOLOGY INC. Bus 001 Device 002: ID 1a40:0201 TERMINUS TECHNOLOGY INC. Bus 001 Device 001: ID 1d6b:0002 Linux Foundation 2.0 root hub
#hub-ctrl -v Hub #0 at 001:010 INFO: ganged switching. WARN: Port indicators are NOT supported. Hub Port Status: Port 1: 0000.1100 indicator power Port 2: 0000.0503 highspeed power enable connect Port 3: 0000.0100 power Port 4: 0000.0503 highspeed power enable connect Hub #1 at 001:009 INFO: ganged switching. Hub Port Status: Port 1: 0000.0503 highspeed power enable connect Port 2: 0000.0100 power Port 3: 0000.0503 highspeed power enable connect Port 4: 0000.0100 power Port 5: 0000.0503 highspeed power enable connect Port 6: 0000.0100 power Port 7: 0000.0503 highspeed power enable connect Hub #2 at 001:003 INFO: ganged switching. WARN: Port indicators are NOT supported. Hub Port Status: Port 1: 0000.0100 power Port 2: 0000.0503 highspeed power enable connect Port 3: 0000.0100 power Port 4: 0000.0503 highspeed power enable connect Hub #3 at 001:002 INFO: ganged switching. Hub Port Status: Port 1: 0000.0503 highspeed power enable connect Port 2: 0000.0100 power Port 3: 0000.0503 highspeed power enable connect Port 4: 0000.0100 power Port 5: 0000.0503 highspeed power enable connect Port 6: 0000.0100 power Port 7: 0000.0503 highspeed power enable connect
в общем, скриптОм, что был любезно предоставлен SERGII - за что ему отдельное СПАСИБО, порты замечательно передёргиваются
В комплекте идёт слабенький блок питания на 5V 0,2A, заменил на 5V 3A. Вторые сутки по 5 модемов в кажном - полёт нормальный.
Relner, главным условием по крайней мере было наличие ядра 2.6.30, сейчас на сколько мне известо в исходниках на сайте chan_datacard написано 2.6.33+. Поэтому фиг его знает как это получится. Я тогда подза*ся немног в итоге шумы, сейчас готов снова попробовать, правда пока dir -320 под рукой нет. и еще вай фай на токй такчке будет работать плохо, но мен это существо было не важно. У меня есть скомпелиный под dir open wrt который мне PsychoMantis скидывал, но он на ядре 2.4. не подходит. Я пробовал на ядре Backfire (2.6.32.10), в итоге вот скомпелиный под backfire но шумит. PsychoMantis, если можешь скомпель. в спойлере как для мипса собирать
utya, что именно подразумевается под словом "плохо"? На сколько плохо? И ещё такой момент, у меня провайдер выдаёт интернет посредством PPPoE, на крайний случай нужен static ip, если втыкать через другой роутер.
В документации CM_CALL_END_LL_CAUSE=100, rxd a reason from lower layer,look in cc_cause При этом cc_cause в сообщении ^CEND:1,0,100 отсутствует ^CEND:1,0,100,?
Прошивки менял, сейчас стоит 11.608.14.15.311
Пока что сделал костыль внутри функции chan_datacard (at_response_cend) который при end_status 100 и cc_cause 0 делает AT+CFUN=1,1, но дозвонится очень тяжело.
Кто-нибудь-таки поднял на DIR-320 или чем-то подобном aster с модемом типа E1550 ?
я пробовал поднимать на dir-320 e1550 просто как 3g-модем, работало нестабильно. не думаю, что из попытки запустить chan_datacard на dir-320 получится что-то хорошее.
а какую прошивку пробывал? И в чем была нестабильность. Я вот хочу попробывать просто номера телефонов входящих звонков определять и в лог писать - такое как думаешь - под силу на dir-320 ?
Added after 39 minutes:
Тут стал актуальным вопрос - работает ли E1550 + chan_datacard под OpenBSD или хотя бы под FreeBSD - кто пробывал и под какими ядрами? В README.TXT написано желательно FreeBSD 8.0+ - значит должно работать видимо. а под опеном кто-нить пробывал?
А есть какие-нибудь гипотезы-наработки типа "фирмварь 11.608.12.00.143 - очень глючная" или "фирмварь 11.608.14.15.311 работает стабильнее всех" ? _________________ Debian Lenny, Asterisk 1.8, chan_dongle, chan_ooh323
Приветствую, наконец-то собрал комп после краха. Система ubuntu 10.10 (2.6.36) сервер, Asterisk 1.8 chan_datacard 175 "1.8" и получил проблему при входящем звонке на модем (E1550 11.608.12.00.143 ) проигрываемый файл звучит как будто его растянули по времени. Пресобрал на Asterisk 1.6 chan_datacard 175 такая-же ерунда. [Nov 12 12:46:50] VERBOSE[7614] pbx.c: == Starting Datacard/datacard0-7841 at datacard-incoming,s,1 failed so falling back to exten 's' [Nov 12 12:46:50] VERBOSE[7614] pbx.c: == Starting Datacard/datacard0-7841 at datacard-incoming,s,1 still failed so falling back to context 'default' [Nov 12 12:46:50] VERBOSE[7614] pbx.c: -- Executing [s@default:1] Playback("Datacard/datacard0-7841", "vm-goodbye") in new stack [Nov 12 12:46:50] VERBOSE[7614] file.c: -- Playing 'vm-goodbye.gsm' (language 'en') Раньше модемы работали на другом компе нормально. Вчем может быть проблема? При входящем звонке с SIP номера на исходящий транк (модем) вызов на телефон проходит соединение устанавливается и тишина в обе стороны. Поставил Редакцию 124 звук пошёл в обе стороны gsmaster (тихий с заиканиями) даже смог ввести пароль и получить доступ к DISA. Вернул назад 175 тишина. Чем отличаются редакции?
Разобрался, оказался подгоревший hub (Dlink DUB-H7).
А есть ли в chan_datacard переменная (которую можно использовать в диалплане), которая обозначает свой номер, устанавливающийся АТ-командой? _________________ Debian Lenny, Asterisk 1.8, chan_dongle, chan_ooh323
сейчас даже стандартные ${DATACARD} PROVIDER IMEI IMSI ставятся только для входящего канала... я мягко говоря удивится, когда на канале исходящем ничего из этого не увидел.
Впрочем исправить минут 20. Добавлено: Исправленно, все переменный добавляются в любом случае, Subscriber Number ложится в CNUMBER
в общем то наверное можно и asterisk -rx 'datacard show device XXX' запусть через System() System же умеет в asterisk результаты засасывать, а ?
Последний раз редактировалось: bg1 (Пн Ноя 29, 2010 08:32)
Абсолютно не умея программировать ни на одном языке, я, по аналогии с установкой переменной IMEI, дописал в __channel.c установку переменной ${NUMBER} Добавил в двух местах pbx_builtin_setvar_helper (channel, "NUMBER", pvt->number); _________________ Debian Lenny, Asterisk 1.8, chan_dongle, chan_ooh323
ну как бы через попу автогеном а что если за время исполнерия состояние устройства поменяется...
Ох, в общем я слил патчи в одну большую кучу. Теперь разделить их и применять последовательно больше не получится. Надо цепляться за их subversion или отваливать )
Последний раз редактировалось: bg1 (Пн Ноя 29, 2010 08:33)
Извините ссылку не ту поставил а то думаю что все такие молчаливые??? кто нить умеет править chan_datacard ??? пожалуйста посмотрите эту тему.. тут мужик сделал конференц связь.. может по аналогии получится??? у кого нить рукастого а то у меня они не оттуда растут.. http://electronix.ru/forum/index.php?s=& ... p;p=668558
кстати как обычный сотовый телефон подключить?? у мобильников проблем с DTMF и конференц связью нету?? или такая же байда??
Спасибо огромное всем кто принимает участие в обсуждении.Собрал Aster 1.6 с chan_datacard Подключено к одному системнику 34 модема из них 28 линий gsm и 6 используется для рассылки смс + 4 городксих FXO на d-link 6004S 2 месяца уже работает без сбоев.Дневная нагрузка 4000 звонков и 6000 смс.
Мне оно как раз для раскидывания входящих нужно было. А для исходящих трудно дописать? _________________ Debian Lenny, Asterisk 1.8, chan_dongle, chan_ooh323
Вообще у меня руки чешуться уже раздербанить этот chan_datacard на отдельные файлы, а не как сейчас одной кучей. Скрывать символы - задача линкера а не компилятора. Ядро же никто не додумался в одну единицу компиляции стянуть
Может уже пора сделать форк, раз уже немало кодеров на форуме, понимающих, как решить проблемы. Очень просто поднять свой SVN репозиторий на http://code.google.com/intl/ru/projecthosting/ Создать проект - дело 2-х минут. Если нет желания разбираться, я могу сам создать проект и залить текущие сорцы, а так-же добавить коммитеров (тех кто может вносить изменения в код). Кроме того, хостинг от гугла - это уверенность в том, что завтра из-за того, что издох http://www.makhutov.org развитие проекта не встанет.
Внимание. Создано ответвление от основного проекта http://www.makhutov.org/svn/chan_datacard/trunk/ Отделенный от родительского с целью улучшения поддержки русскоязычных пользователей форума asteriskforum.ru и улучшения возможностей использования USB UMTC модемов производства Huaway в качестве каналов связи (транков) в PBX Asterisk
Необходим человек, который будет администратором проекта, тоесть будет добавлять или отключать участникам возможность внесения изменений вместо меня.
Инструкция по заливке: 1. Добавляем новые файлы к репозиторию (если их создали) svn add /usr/src/datacard/* 2. Заливаем обновления на сервер svn commit /usr/src/datacard -m "Комментарий, который будет виден всем" --username USER --password PASS Обратите внимание, что пароль не тот, под которым вы регистрировались, а временный, специально сгенереный и посмотреть его можно тут: https://code.google.com/hosting/settings
Отключаем от компа оба модема, вставляем первый. Даём с рута в терминале команду dmesg В ответ вываливается куча всего, но в конце — заветные строки: [291015.913221] option 1-2:1.0: GSM modem (1-port) converter detected [291015.913364] usb 1-2: GSM modem (1-port) converter now attached to ttyUSB0 [291015.913926] option 1-2:1.1: GSM modem (1-port) converter detected [291015.914026] usb 1-2: GSM modem (1-port) converter now attached to ttyUSB1 [291015.916678] option 1-2:1.2: GSM modem (1-port) converter detected [291015.916812] usb 1-2: GSM modem (1-port) converter now attached to ttyUSB2 «Кто есть ху»: После option идёт идентификатор порта. 1-2 — первый ЮСБ хост, второе устройство :1.1 — первый порт на этом устройстве. В следующей строке — инфа на тему того, каким портом стал этот наш внутренний. Нас интересуют пред-последний и последний — 1 и 2 в данном случае. 1 — порт для голоса, 2 — для данных. Теперь открываем из под рута для редактирования файл /etc/udev/rules.d/huawei.rules — тут прописываются правила для всея Хуавей-девайсов в системе. Скорее всего он будет пустым. Вбиваем строчки: KERNEL=="ttyUSB[0-9]*", ID=="1-2:1.1", NAME="%k", SYMLINK+="hv0", GROUP="root", MODE="0666" KERNEL=="ttyUSB[0-9]*", ID=="1-2:1.2", NAME="%k", SYMLINK+="hi0", GROUP="root", MODE="0666" «Всея устройства на этом конкретном порту отныне и присно зовутся ещё и hv0, а на этом — hi0! Сохраняем, Аминь!» Повторяем процесс начиная с втыкания для второго модема — появятся ещё две строчки в файле, в которых уже порты от второго модема и hv1 и hi1… Можно так и третий, и сто-тридцать-пятый добавить…
Теперь если выдернуть модемы и вставить, то по команде ls -1 /dev/hv* или ls -1 /dev/hi* — выдаст ВСЕГДА нужный девайс, главное не перепутать разъём на компе!
/etc/asterisk/datacard.conf тоже меняется — вместо безликих audio=/dev/ttyUSB1 ; tty for audio connection data=/dev/ttyUSB2 ; tty for AT commands
Появляются audio=/dev/hv0 ; tty for audio connection data=/dev/hi0 ; tty for AT commands
Мне лично пофигу под каким именем они будут создаваться, главное правильные линки создать. Для них GROUP, MODE - лишнее. у меня линки создаются по именам описывающим ГДЕ надодится порт в который воткнут свисток.
Последний раз редактировалось: bg1 (Пн Ноя 29, 2010 08:29)
Надо изменить код так, чтобы chan_datacard сам искал модэмы. А разговоры делать потом ченез IMEI. Вот это было бы классно.
Реализовать то можно, но идея не очень хорошая. Т.е. устройств может быть вагон и маленькая тележка, притом самых разных. Может получиться не очень красиво если какое-либо другое устройство вдруг получит команду АТ Да и при чтении из непонятного устройства можно получить таймаут.
В принципе можно смотреть, что за устройство на уровне USB предоставляет порт и лишнее игнорировать. На линухе это можно, но на других ос придётся повыделываться. Да и как понять какой порт для голоса какой для модема а какой для управления не сильно понятно.
Added after 3 minutes:
PsychoMantis писал(а):
Как я понял нужны идеи что ещё в код засунуть? Вот у меня есть пару: для rxgain и txgain надо ввести опцию auto - а то покаместь там только числа. Имеется в виду сhan_datacard должен само по себе понимать, что такае слишком тихо и что слишком громко и коррегировать само. Поправить работу Device_state чтобы комманда работала как и при Dial (то есть i: s: и.т.д.)
разжуй. не понял. А, , кажется вкурил... хочется чтобы DatacardStatus(Device,Variable) давал состояние устройства по его IMEI или IMSI ?
вообще там ещё есть установки AT+CLVL=5 что возможно и приводит к слишком выским уровням.
rxgain=auto txgain=auto как дожно работать? в динамике? т.е. контроль уровня потока постоянно? На линухе то это не сложно, а в других OS что делать
Added after 3 minutes:
Stan писал(а):
Ну, поправить работу dtmf для начала
частично исправлено. хотя я на самом деле думаю что проблемы с DTMF из-за слишком высокого уровня сигнала на входе.
Последний раз редактировалось: bg1 (Пн Ноя 29, 2010 08:30)
Надо чтобы работало и так: ${DEVICE_STATE(Datacard/i:123556)} (как в Dial работает).
Добававить такой код можно. Но проблема как была так и останется. В данном случае резервирование устройства просходит не атомарно с проверкой его статуса. Что произойдёт в случае, если до момента вызова Dial поступит входящий или будет исполнен другой Dial чуть раньше?
Я бы вам советовал вызывать Dial без проверки статуса. Если канал не доступен то выполение контекста продолжиться, а ${DIALSTATUS} будет содержать CHANUNAVAIL и это легко обработать.
PsychoMantis писал(а):
А насчёт rxgain/txgain = auto надо сделать так, чтобы chan_datacard ставил звук сам не громко и не тихо, а оптимално. И чтобы было на авто, если эти параметры не ставить в датакард.конф
Подумать бы надо. Сейчас энергия считается в модуле dsp для опознания DTMF. Делать что-то подобное второй раз не разумно - будет сильно греться процессор.
PsychoMantis писал(а):
Потом зделать так чтобы был context=default если параметр context не вписывать в datacard.conf
Так chan_datacard собственно и работает.
PsychoMantis писал(а):
Ну и конференция была бы классная вещь. Вот расскажу историю, чтобы понять легче было.
Эх, мечтать не вредно в R1550 ещё и GPS есть, но как включить не понятно
PsychoMantis писал(а):
И если возможно, может исправить этот сondition 20 [code] [Nov 20 12:43:27] WARNING[865]: __channel.c:883 channel_indicate: [festnetz] Don't know how to indicate condition 20 [Nov 20 12:53:36] WARNING[865]: __channel.c:883 channel_indicate: [festnetz] Don't know how to indicate condition 20
Это не баг это фича исправить легко.
PsychoMantis писал(а):
Потом можно (если ето вообще возможно) зделать так, чтобы на свистке светится лампочка, если через свисток кто-то разговаривает. А то там LED всегда мигает и всё.
Светодиодом рулит прошивка. Горит он когда ведётся передача данных, притом цвет зависит от режима EDGE/GPRS или UMTS. Кстати, цвет светодиода зависит от прошвки, красный можно поменять на зИлёный
Последний раз редактировалось: bg1 (Пн Ноя 29, 2010 08:28)
Чипы QualComm которые стоят в свистке это почти на 100% умеют. Так ещё куча всего интересного.
Однако часть этих фич не нужна производителю свистков Huaweu, и он просто не поддерживает их со стороны модема.
МТС или Beeline заказывает Huaweu вагон свистков и говорит: "нам эти фичи не нужны выкиньте их и сделайте скидку" или наоборот "мы вам приплатим по баксу за свисток" ну не нужна операторам автоматизация голосовых звонков со стороны абонентов. А нужно больше потребления дорого мобильного трафика.
Вот и может очень даже оказаться, что команда AT в природе есть. Но в данном свистке она не поддерживается.
Удержание вызова и конференция - это не одно и тоже. Как управлять переключениями удерживаемых вызовов из диалплана мне пока не понятно.
Ну максимум что можно сейчас просто на входящий при уже имеющемся активном запустить Local для контекста какого то например exten => cw,1,System(echo 'Hello, ${CALLERID(num)} calling at ${DATACARD} when other call is active' > /dev/null) Можно наверно и callback замутить
Последний раз редактировалось: bg1 (Пн Ноя 29, 2010 08:26)
OK AT+CHLD=3 ERROR AT+CHLD=3 ERROR AT+CHLD=4 ERROR
AT+CHLD=3 ERROR ATA NO CARRIER AT+CHLD=3 ERROR AT+CHLD=4 ERROR
^CEND:2,50,104,16
+CSSU: 5
^CEND:1,81,104,16
Вывод: на имеющемся оборудование + SIM карте a) Call waiting РАБОТАЕТ. b) Conference НЕ РАБОТАЕТ. Должен ли оператор предоставлять поддержку конференции?
Млин, да, должен, на этой SIM эта услуга платная
Сейчас повторю.
Последний раз редактировалось: bg1 (Вс Ноя 21, 2010 12:16)
Вывод: на имеющемся оборудование + SIM карте a) Call waiting РАБОТАЕТ. b) Conference НЕ РАБОТАЕТ. Должен ли оператор предоставлять поддержку конференции?
Здравствуйте, господа! Прошу помочь. Ставил астериск 1.6 по этому вот мануалу http://asterisk-pbx.ru/wiki/doku.php/new2. Все поставилось, скомпилировалось. Модем обнаруживается, переведен в режим только модем, голос активирован, из винды и звонит и принимает звонки.
Проблема с chan-datacard. Настроил datacard.conf и /etc/extensions.conf как указано в примере. По идее, должно быть так: при совершении звонка на модем происходит переадресация на sip (в моем случае хотелось бы sipnet). Но вот беда, при совершении звонка на модем тот просто сбрасывает звонок, на экране телефона пишет, что включена переадресация входящих звонков и номер занят. Подскажите, пожалуйста, куда копать-то.
Немного об оборудовании: Ubuntu 10.04.1 Server, ядро 2.6.36-020636-generic , Asterisk-1.6.2, chan_datacard скачан из svn-репозитория недавно, т.е свежий. Вывод команды datacard show devices таков:
megaserv*CLI> datacard show devices ID Group State RSSI Mode Submode Provider Name Model Firmware IMEI IMSI Number datacard0 1 Free 28 0 0 life:) E1550 11.608.14.11.222 35296504105ХХХХ 255061063563401 +380636163ХХХ
звоним и смотрим что происходит. Наверное проблемы в диалплане?
Added after 11 minutes:
PsychoMantis писал(а):
Всё работает на данный момент так: клиент №1 звонит на специальный номер, который всегда занят, но Астериск это регистрирует и звонит назад через первый свисток.
Нет смысла звонить на постоянно занятый номер. Можно просто сбросить без поднятия и всё.
PsychoMantis писал(а):
Клиент №1 берёт трубку, астериск это замечает и даёт DISA. Клиент №1 набирает номер и если набратый номер тоже относится к сети Vodafone, то астериск звонит через второй свисток куда надо. Вот сейчас надо просто зделать так, чтобы Астериск не прогонял звонок через второй свисток, а замечал что так как Я, астериск звоню клиенту №1 через первый свисток, то не надо прогонять звонок через второй свисток, а отставить клиента №1 на первом свистке всторонку, прогнать звонок через первый свисток, и сделать конференцию.
До этого ещё как до индокитая пешком chan_datacard никогда и не подозревал, что может быть больше одного активного звонка. Он сейчас валится даже при чтении SMS при активном голосе
PsychoMantis писал(а):
PS: @ bg1 Для TODO.TXT измени "3) Extended device name 'i:' 'p:' for DEVICE_STATE() and DatacardStatus()" на
Ну это понятно, просто при опросе по таким условиям устройств может быть много. Статус то опросить можно только у конкретного устройства. А вот Dial делается сразу на кучу, в частности r p: s: выбирают любой свободный который подошёл под условие по кругу т.е. round robin g первый свободный i: с указанным IMEI devname - с указанными именем
т.е. для p: s: может быть неоднозначность.
Последний раз редактировалось: bg1 (Пн Ноя 29, 2010 08:25)
Захожу в консоль asterisk, набирая asterisk -r, совершаю звонок, "Включена переадресация входящих вызовов" и потом абонент занят. В консоли при этом ничего не выводится, вообще ничего.
ПРиведу листинг файлов /etc/asterisk/datacard.conf and /etc/asterisk/extensions.conf
datacard.conf
Код:
[datacard0]
audio=/dev/ttyUSB1 ; tty for audio connection data=/dev/ttyUSB2 ; tty for AT commands
context=datacard-incoming ; context for incoming calls group=1 ; calling group
rxgain=3 ; increase the incoming volume txgain=3 ; increase the outgoint volume
Здравствуйте, господа! Прошу помочь. Ставил астериск 1.6 по этому вот мануалу http://asterisk-pbx.ru/wiki/doku.php/new2. Все поставилось, скомпилировалось. Модем обнаруживается, переведен в режим только модем, голос активирован, из винды и звонит и принимает звонки.
Проблема с chan-datacard. Настроил datacard.conf и /etc/extensions.conf как указано в примере. По идее, должно быть так: при совершении звонка на модем происходит переадресация на sip (в моем случае хотелось бы sipnet). Но вот беда, при совершении звонка на модем тот просто сбрасывает звонок, на экране телефона пишет, что включена переадресация входящих звонков и номер занят. Подскажите, пожалуйста, куда копать-то.
Немного об оборудовании: Ubuntu 10.04.1 Server, ядро 2.6.36-020636-generic , Asterisk-1.6.2, chan_datacard скачан из svn-репозитория недавно, т.е свежий. Вывод команды datacard show devices таков:
megaserv*CLI> datacard show devices ID Group State RSSI Mode Submode Provider Name Model Firmware IMEI IMSI Number datacard0 1 Free 28 0 0 life:) E1550 11.608.14.11.222 35296504105ХХХХ 255061063563401 +380636163ХХХ
Да, модем покупался у МТС-Украина, разлочен.
Спасибо.
Я столкнулся с подобной проблемой. Получилось дозвониться, когда сделал так: exten => s,1,Dial(SIP/sipnet/74956553322)
Где sipnet - у меня это заголовок [sipnet] в файле sip.conf или users.conf, как указано в wiki настройках для SIPNET. Номер 74956553322 - это номер на который хочу позвонить (т.е. код страны код города номер телефона без пробелов). Соответственно если звонить по Украине, то будет 38......
Только пока не решена проблема - меня слышно, а мой динамик молчит...!?
Сделал все, как вы сказали, звонок пошел!!!!!!!! НО, правда, есть одно но — голоса нет ни с одной, ни с другой стороны. Господа, нид хелп, как минимум 2 людям
При звонке на модем соединяюсь с SIPNET голосовой почтой. Автоответчик мне отвечает и предлагает 3-и действия... Т.е. записываю в этом голосовом меню свое сообщение. Могу его прослушать. Голос проходит в обоих направлениях. А в случае:
exten => s,1,Dial(SIP/sipnet/74956554433)
Мой голос проходит до вызываемого абонента, а я не слышу. Где может быть проблема?
у вас же прошивка 11.608.14.11.222 судя по всему не совсем рабоспособная
Доброго времени суток! Спасибо, что откликнулись. НЕ выходит обновить прошивку доуказанной вами версии. Программа установки доходит до стадии Download programs или как-то так и выскакивает с ошибкой Update Failure. Пробовал на 2 системах: ХР и 7(64бит, правда).
Стик переведен в режим только модем. Можете что-то посоветовать? Спасибо.
у вас же прошивка 11.608.14.11.222 судя по всему не совсем рабоспособная
Просто у меня и сервак с астериском и сам телефон с сиповским акком за натом находятся. Как думаете, можт быть в этом причина? Ибо прошивка ни в какую не заливается.
всем добрый день Есть проблема такая же как у Toldi, 1в1. МТС Коннект Е1550 прошивка 11.608.14.11.222.Установлен на Ubuntu 10.10 server + chan_datacard. Перепрошивка не удается (программа выкидывает ошибку). По сценарию (sip/zadarma/38066764XXXX) звонит но, голоса нет ни в одну сторону. И еще ведь это ж не дело что можно позвонить всего на один номер (каждый раз его менять в контексте). Подскажите как завернуть( контекстом ) к примеру в A2billing а он уже дальше сам (настроен).
консультировался с челом которій профи в перепрошивке.так вот он сказал что к примеру расшифровка 11.608.14.11.222 - 11.608 вообще не смотри, 14.11 как раз версия прошивки которая иожет влиять на функционал, 222 это только код оператора (какой то внутренний) к которому была привязка. И вот еще что он сказал что модемы МТС Украина даже разлоченные перепрошить не возможно (только разлочить).Так как при перепрошивке модему отсылается определенный сигнал и он должен вернуть сигнал типа:"я готов шиться".А Украинских МТС модемах сигнал от модема проге прошивальщику не поступает. Поэтому он сказал что можно шить все модемы (Утел,Киевстар,Лайф,МТС Россия,Мегафон), а МТС Украина нет. PS. Прийдется искать/отдавать бабло еще за один. PPS.Вот С.......
Почему-то никто не услышал! У меня были подобные проблемы с установкой новой прошивки. При установке выдавала ошибку. Прошить новую версию смог только когда откатился на более старую версию. С чем это связано не знаю. Определил экспериментально.
Результаты на сейчас такие: 1) Можно позвонить на модем. Он берёт трубу, начинает музон играть в бесконечном цикле.
Звоним ещё раз, chan_datacard понимает что у него Waiting Call Он запускает так же как при обычном входящем context, exten, priority которые и положены по настройкам в datacard.conf
Для того, чтобы определится, это Incoming или Call Waiting ложим в переменную канала статус (по ходу дела он ещё и обновляется) Если второму Call Waiting каналу (это ДРУГОЙ канал, не тот который ответил на Incoming) сказать Answer, то
а) Call Waiting принимается и по нему начинается разговор. b) Incoming Call переходит в Hold музыка начинает играть во второй call
Если после этого положить трубку call N2 (который был call waiting) то модем переключается на call N 1, это видно по экрану тилипона, что звонок снялся с удержания. НО, музыку он туда не играет. По этому вопросу примерно понятно откуда ноги растут.
Также задержка музыки при выводе в логи, и почему то после переключения на call waiting играть начинает значительно ХУЖЕ. Это тоже примерно может быть понятно, что-то видимо не отцепилось и грузит проц. Есть некоторая проблема отобрать ввод/вывод у одного канала и отдать другому.
ПО Call waiting нужно бы ещё сделать 1) Звонок Dial() на уже имеющем разговоры устройстве.
2) Явное управление вводом/выводом в Hold, например Set(CALLSTATE()=Hold) Set(CALLSTATE()=Active) 1524) Конференция и управление ею.
Почему-то никто не услышал! У меня были подобные проблемы с установкой новой прошивки. При установке выдавала ошибку. Прошить новую версию смог только когда откатился на более старую версию. С чем это связано не знаю. Определил экспериментально.
Уже пробовал вшить, что только можно. Везде один и тот же итог. Какую прошивку ставили вы?
я смотрю тут появилась старая-новая тема по разлочке модема, нашел на одном сайте, как активировать голос в меге вставляю может кому пригодится
MinimumLaw писал(а):
Я со свои Мегафон-Модемом справился. Рассказываю: Все ухищрения с прошивками идут лесом - ни одна фирмварь и ни один даш не разлочит голос. За то специализированная утилита от МТС классно справляется с представленной задачей. Правда только на МТС модемах. Внимание вопрос - а почему? А потому, что у нее родимой внутрь забита таблица IMEI и через пробел (сюрприз!) соответствующих им unlock кодов!!! МТС явно расчитывает таким образом поднять продажи модемов При этом эту таблицу нифига не проверяю на внесенные изменения. Т.е. открываем екзешник для разлочки голоса от МТС любым двоичным редактором (HVIEW и иже с ним. Я по старинке DosNavigator пользовал - F3, затем F4) и правим любую строчку от МТС на свои данные. Т.е. меняем IMEI и анлок код МТС на IMEI и анлок код от Мегафона. После этого софтина с радостью разблокирует голос. Писать утилиту, которая сделает это автоматом мне лень (у меня один модем и он УЖЕ разблокирован). Желающие могут повторить опыт, но учтите - за последствия лично я никакой ответственность не несу.
Пользуясь случаем, передаю привет программистам от МТС. Жжоте ребята. Unlock код хранить в екзешнике в открытом виде во времена когда только ленивый не реализовывал алгоритм его вычисления - верх изящества. Да и целую таблицу IMEI держать... На крайняк хотя бы UPX'ом запаковали, чтоб в глаза не бросалось. А то подарок-то реально знатный! Покупай МТС модем. Голос там уже есть, а возможность воткнуть чужую симку добрые МТС программеры просто подарили! МА-ЛАД-ЦЫ !!!
Попутно ряд вопросов.
1. У меня мать Intel DP35DP ни в какую не хочет грузиться при воткнутом модеме. Пишет 94_ на черном экране и... И всё. Кто-нить с подобным сталкивался? Как решается? BIOS прошит последний. 2. Как завести голос в OS X? Мой хакинтош наглухо не хочет работать. Т.е. при звонке удаленного абонента слышно, а удаленный меня ни в какую. Даши разные пробовал. Вот интересно, это привет от VoodooHDA или заморочка характерная для маков?
Очень хочется сии две гадости побороть...
P.S. Да, речь идет о Мегафон-Модем он же HUAWEI E1550. В файле от МТС ищите фразу "Operator=MTS" таблица почти сразу за ней. Привожу кусок екзешника в режиме просмотра по F3 в DosNavigator'e или FAR'e: ================================ Country=Russia Operator=MTS Name=PatchDataCard Version=1.0.0.3 CardType=E1550 [VALID_DATE] Date=2010-09-07 [WRITE_DEFAULT] Value=YES 353142033080865 66943352 353142033080717 52973060 353142033215354 63123375 353142033215370 39911092 .... ================================ Сомневающиеся в том, что это NCK код (он же унлок) могут забить IMEI в любой генератор кодов. Дерзайте!
Всем добрый день. Возможно есть решение следующй проблемы. Поставил сборку elastix 2.0.3 ядро 2.6.18-194.26.1.el5 (знаю что надо выше 2.6.33+). Без проблем прикрутился chan_datacard(ничего дополнительного не спросил поставился без ошибок, все как надо). Настроил экстеншены и транки. Звонки ходят с брелка и принимаются на него. С этим проблем нет. Но изначально datacard упорно не хотел видеть мой huawei 1550. Сделал из под root'a
Код:
chmod 660 /dev/ttyUSB*
Код:
chown asterisk:uucp /dev/ttyUSB*
после этого все работает, но после перезагрузки сервера опять не видит huawei 1550. Приходится вновь набирать эти команды. Видимо нехватает прав? Как это автоматизировать? Это первый вопрос. И второй, удалось ли кому либо победить плохое качество голоса на этом ядре 2.6.18-194.26.1.el5? При звонке на брелок с IP шлюза (sipnet) голос почти не искажается (небольшое метеллическое эхо). Но если позвонит с сотового телефона на брелок почти ничего не слышно. Исходящие с брелка протестировать не могу не хватает денег для звонка Да и еще все дело крутиться на wmware workstation. Asterisk 1.6.2.13. Возможно есть способ пересобрать ядро?
the lot of changes: 1) structuring sources, split, create header files 2) use compiler/linker options for symbols hide 3) fully implemented command queue 4) call-waiting support 5) hold calls support (HW BUG exists!)
7) local code simplify and join same code 8) add 'language' option
9) add cmd queue, dtmf duplication check, unhandled CMS ERROR, unhandled CVOICE, unhandled CMGS, unhandled CPMS, sms sending in PDU mode, and tune code 11) split to files join common code 12) add settings 'show device' fix exporting problem 13) use ifdef for cut memmem.c 14) Add language into manager and cli info
15) tune memmem usage 16) join all static and globals into structures 17) Rename csca to sms_scenter and change text 18) Simplefy usage of unloading_flag 19) Fix disconnect action 20) Move blocks of pvt_t 21) Rename some internal functions 22) Join initialization into task 23) Dial holdother option
24) add device stats (not shown yet) 25) remove fatal locks in channel_queue_hangup() channel_queue_control() channel_ast_hangup() 26) Add single and export for all-in-one build for compilers w/o -fvisibility=hidden or linkers w/o hide feature 27) update samples
28) update sources for build with asterisk 1.6 and 1.8 29) Add string description for sys_mode sys_submode 30) add dBm
неучтённое 31) datacard.conf: callwaiting=auto|yes|no 32) CLI> datacard callwaiting enable|disable device 33) CHANNEL(callstate) function for get and set
34) Count rings
Added 35) implement [defaults] 36) disable=yes|no for datacard.conf
Последний раз редактировалось: bg1 (Сб Ноя 27, 2010 18:39)
Ребята, кто-нибудь пытался запускать app_amd на исходящих звонках с chan_datacard? Все настройки перепробовал......... amdresult всегда один = notsure...
а у меня все собралось без ошибок попробовал отправить смс в пду, хотя в комментах и написано что данная функция не полностью поддерживается в итоге на * все прошло корректно, модем не отвалился, но на мобильник пришла уже нечитаемая смс
т.к. включение поддерживается только со стороны передачи. на данном этапе проще оставить недоделанную но выключаемую фичу, чем резать код а потом опять его вставлять.
да это понятно только ситуация не изменилась - как кириллические смс не ходили, так и не ходят тот патч я тоже попробовал - диалплан отработал без ошибок, только смс теряются - консоль говорит отправлено, а я ничего не получаю
работа продолжается. у меня тоже кракозямбы приходили, после некоторого времени потраченного на ковыряние в iconv решено было с большей пользой его применить.
Возможно также при PDU нужно ставить другую кодировку сообщений. В любом случае на выходе из iconv (char_conv.c) hex такой что видно что он неправильный.
Сейчас достаточно что TPDU SCA формируются корректно.
Консоль работает синхронно, а на устройстве очередь. Сейчас максимум что говорится - поставили в очередь успешно. Если запихали в устройство успешно отчитались, не успешно - поматерились.
А мы столкнулись с такой траблой. Модем Huawei E1550 продается нелоченый. Залили прошивку. Пробовали обе: МТС 11.608.12.00.143 и 11.608.14.15.311. Он в системе появился НО! Звонок идет. Трубу снимаешь, в ней тишина. Астер продолжает писать, что звонит, хотя трубу уже сняли. При звонке на него - вообще тишина. никаких сообщений в Астер. Из всего функционала только отсылка СМС работает. Кто-то сталкивался с подобным. В астере ошибок нет, в системе тоже.
У меня была проблема прохождения звука в одну сторону - решил пробросом IP адреса моего компьютера в маршрутизаторе вот здесь:
Advanced Setup -- NAT -- DMZ Host
The Wireless Router will forward IP packets from the WAN that do not belong to any of the applications configured in the Virtual Servers table to the DMZ host computer.
Enter the computer's IP address and click "Apply" to activate the DMZ host.
Clear the IP address field and click "Apply" to deactivate the DMZ host.
(Маршрутизатор AsusWL-600g)
Есть программка NetDetect под WIN из Oktell GSM. Попробуйте с ее помощью отладить канал SIPNET.
товарищи тут такая ситуация, в течении 3 месяцев все нормально работало, а сегодня брелок набирает номер, 2 гудка и все молчит, хотя на той стороне мобила звенит? в чем может быть косяк
Подскажите, пожалуйста, как объединить "активную" линию и линию "на удержании" в конференцию?
Возможно ли входящий вызов на GSM-шлюз перевести на другой сотовый, с помощью GSM-шлюза?
В настоящее время такой функции нет. Сначала необходимо устранить краши, вернуть early sound (добавлено: сделано), проверить что новая архитектура - рабочая. Архитектура Артёма один канал - одно устройство (один к одному) заменена на много каналов - одно устройство (многие к одному). Конференция потребует расширения архитектуры до много каналом на ОДИН звонок (многие ко многим).
Можно делать любые исходящие но если Вы хотите чтобы разговор шёл, звонить надо не через принимающий модем. Иначе входящий уйдёт в held Кстати, надо сделать проверку и запрещать это. Проверку легко сделать в 1.8 т.к. там сразу понятно для какого bridge запрашивается канал в 1.6. придётся думать.
Ночью пообщались с Артёмом, мердж запланирован примерно через 3-4 недели.
Последний раз редактировалось: bg1 (Ср Дек 01, 2010 10:46)
parameter /usr/include/stdio.h:156: error: declaration for parameter ‘rename’ but no such parameter /usr/include/stdio.h:154: error: declaration for parameter ‘remove’ but no such parameter /usr/include/stdio.h:144: error: declaration for parameter ‘stderr’ but no such parameter /usr/include/stdio.h:143: error: declaration for parameter ‘stdout’ but no such parameter /usr/include/stdio.h:142: error: declaration for parameter ‘stdin’ but no such p arameter /usr/include/libio.h:452: error: declaration for parameter ‘_IO_putc’ but no suc h parameter /usr/include/libio.h:381: error: declaration for parameter ‘__io_close_fn’ but n o such parameter /usr/include/libio.h:378: error: declaration for parameter ‘__io_seek_fn’ but no such parameter /usr/include/libio.h:345: error: parameter ‘_IO_2_1_stderr_’ has incomplete type /usr/include/libio.h:345: error: declaration for parameter ‘_IO_2_1_stderr_’ but no such parameter /usr/include/libio.h:344: error: parameter ‘_IO_2_1_stdout_’ has incomplete type /usr/include/libio.h:344: error: declaration for parameter ‘_IO_2_1_stdout_’ but no such parameter /usr/include/libio.h:343: error: parameter ‘_IO_2_1_stdin_’ has incomplete type /usr/include/libio.h:343: error: declaration for parameter ‘_IO_2_1_stdin_’ but no such parameter /usr/include/libio.h:338: error: declaration for parameter ‘_IO_FILE’ but no suc h parameter /usr/include/libio.h:177: error: parameter ‘_IO_lock_t’ has incomplete type /usr/include/libio.h:177: error: declaration for parameter ‘_IO_lock_t’ but no s uch parameter /usr/lib/gcc/i386-redhat-linux/4.1.2/include/stdarg.h:43: error: declaration for parameter ‘__gnuc_va_list’ but no such parameter /usr/include/_G_config.h:58: error: declaration for parameter ‘_G_uint32_t’ but no such parameter /usr/include/_G_config.h:57: error: declaration for parameter ‘_G_uint16_t’ but no such parameter /usr/include/_G_config.h:56: error: declaration for parameter ‘_G_int32_t’ but n o such parameter /usr/include/_G_config.h:55: error: declaration for parameter ‘_G_int16_t’ but n o such parameter /usr/include/_G_config.h:53: error: declaration for parameter ‘_G_iconv_t’ but n o such parameter /usr/include/gconv.h:177: error: declaration for parameter ‘__gconv_t’ but no su ch parameter /usr/include/gconv.h:101: error: declaration for parameter ‘__gconv_trans_end_fc t’ but no such parameter /usr/include/gconv.h:100: error: declaration for parameter ‘__gconv_trans_init_f ct’ but no such parameter /usr/include/gconv.h:97: error: declaration for parameter ‘__gconv_trans_query_f ct’ but no such parameter /usr/include/gconv.h:93: error: declaration for parameter ‘__gconv_trans_context _fct’ but no such parameter /usr/include/gconv.h:88: error: declaration for parameter ‘__gconv_trans_fct’ bu t no such parameter /usr/include/gconv.h:79: error: declaration for parameter ‘__gconv_end_fct’ but no such parameter /usr/include/gconv.h:78: error: declaration for parameter ‘__gconv_init_fct’ but no such parameter /usr/include/gconv.h:75: error: declaration for parameter ‘wint_t’ but no such p arameter /usr/include/gconv.h:72: error: declaration for parameter ‘__gconv_fct’ but no s uch parameter /usr/include/_G_config.h:35: error: declaration for parameter ‘_G_fpos64_t’ but no such parameter /usr/include/_G_config.h:30: error: declaration for parameter ‘_G_fpos_t’ but no such parameter /usr/include/wchar.h:84: error: declaration for parameter ‘__mbstate_t’ but no s uch parameter /usr/lib/gcc/i386-redhat-linux/4.1.2/include/stddef.h:355: error: declaration fo r parameter ‘wint_t’ but no such parameter /usr/lib/gcc/i386-redhat-linux/4.1.2/include/stddef.h:326: error: declaration fo r parameter ‘wchar_t’ but no such parameter /usr/include/stdio.h:62: error: declaration for parameter ‘__FILE’ but no such p arameter /usr/include/stdio.h:46: error: declaration for parameter ‘FILE’ but no such par ameter /usr/include/signal.h:396: error: declaration for parameter ‘__libc_current_sigr tmax’ but no such parameter /usr/include/signal.h:394: error: declaration for parameter ‘__libc_current_sigr tmin’ but no such parameter /usr/include/signal.h:363: error: declaration for parameter ‘sigaltstack’ but no such parameter /usr/include/signal.h:358: error: declaration for parameter ‘sigstack’ but no su ch parameter /usr/include/bits/sigstack.h:55: error: declaration for parameter ‘stack_t’ but no such parameter /usr/include/signal.h:346: error: declaration for parameter ‘siginterrupt’ but n o such parameter /usr/include/signal.h:336: error: declaration for parameter ‘sigreturn’ but no s uch parameter /usr/include/signal.h:329: error: declaration for parameter ‘sigvec’ but no such parameter /usr/include/signal.h:305: error: declaration for parameter ‘sys_siglist’ but no such parameter /usr/include/signal.h:304: error: declaration for parameter ‘_sys_siglist’ but n o such parameter /usr/include/signal.h:261: error: declaration for parameter ‘sigaction’ but no s uch parameter /usr/include/bits/siginfo.h:293: error: declaration for parameter ‘sigevent_t’ b ut no such parameter /usr/include/bits/siginfo.h:108: error: declaration for parameter ‘siginfo_t’ bu t no such parameter /usr/include/bits/siginfo.h:37: error: declaration for parameter ‘sigval_t’ but no such parameter /usr/include/signal.h:187: error: declaration for parameter ‘siggetmask’ but no such parameter /usr/include/signal.h:184: error: declaration for parameter ‘sigsetmask’ but no such parameter /usr/include/signal.h:181: error: declaration for parameter ‘sigblock’ but no su ch parameter /usr/include/signal.h:153: error: declaration for parameter ‘__sigpause’ but no such parameter /usr/include/signal.h:141: error: declaration for parameter ‘psignal’ but no suc h parameter /usr/include/signal.h:136: error: declaration for parameter ‘gsignal’ but no suc h parameter /usr/include/signal.h:129: error: declaration for parameter ‘raise’ but no such parameter /usr/include/signal.h:75: error: declaration for parameter ‘__sighandler_t’ but no such parameter /usr/include/fcntl.h:198: error: declaration for parameter ‘posix_fallocate’ but no such parameter /usr/include/fcntl.h:177: error: declaration for parameter ‘posix_fadvise’ but n o such parameter /usr/include/fcntl.h:159: error: declaration for parameter ‘lockf’ but no such p arameter /usr/include/fcntl.h:130: error: declaration for parameter ‘creat’ but no such p arameter /usr/include/fcntl.h:85: error: declaration for parameter ‘open’ but no such par ameter /usr/include/fcntl.h:76: error: declaration for parameter ‘fcntl’ but no such pa rameter /usr/include/bits/pthreadtypes.h:166: error: declaration for parameter ‘pthread_ barrierattr_t’ but no such parameter /usr/include/bits/pthreadtypes.h:160: error: declaration for parameter ‘pthread_ barrier_t’ but no such parameter /usr/include/bits/pthreadtypes.h:151: error: declaration for parameter ‘pthread_ spinlock_t’ but no such parameter /usr/include/bits/pthreadtypes.h:145: error: declaration for parameter ‘pthread_ rwlockattr_t’ but no such parameter /usr/include/bits/pthreadtypes.h:139: error: declaration for parameter ‘pthread_ rwlock_t’ but no such parameter /usr/include/bits/pthreadtypes.h:113: error: declaration for parameter ‘pthread_ once_t’ but no such parameter /usr/include/bits/pthreadtypes.h:109: error: declaration for parameter ‘pthread_ key_t’ but no such parameter /usr/include/bits/pthreadtypes.h:105: error: declaration for parameter ‘pthread_ condattr_t’ but no such parameter /usr/include/bits/pthreadtypes.h:99: error: declaration for parameter ‘pthread_c ond_t’ but no such parameter /usr/include/bits/pthreadtypes.h:79: error: declaration for parameter ‘pthread_m utexattr_t’ but no such parameter /usr/include/bits/pthreadtypes.h:73: error: declaration for parameter ‘pthread_m utex_t’ but no such parameter /usr/include/bits/pthreadtypes.h:49: error: declaration for parameter ‘__pthread _slist_t’ but no such parameter /usr/include/bits/pthreadtypes.h:43: error: declaration for parameter ‘pthread_a ttr_t’ but no such parameter /usr/include/bits/pthreadtypes.h:36: error: declaration for parameter ‘pthread_t ’ but no such parameter /usr/include/sys/select.h:112: error: declaration for parameter ‘select’ but no such parameter /usr/include/sys/select.h:78: error: declaration for parameter ‘fd_set’ but no s uch parameter /usr/include/sys/select.h:55: error: declaration for parameter ‘__fd_mask’ but n o such parameter /usr/include/bits/sigset.h:31: error: declaration for parameter ‘__sigset_t’ but no such parameter /usr/include/bits/sigset.h:23: error: declaration for parameter ‘__sig_atomic_t’ but no such parameter /usr/include/sys/types.h:206: error: declaration for parameter ‘register_t’ but no such parameter /usr/include/sys/types.h:204: error: declaration for parameter ‘u_int64_t’ but n o such parameter /usr/include/sys/types.h:203: error: declaration for parameter ‘u_int32_t’ but n o such parameter /usr/include/sys/types.h:202: error: declaration for parameter ‘u_int16_t’ but n o such parameter /usr/include/sys/types.h:201: error: declaration for parameter ‘u_int8_t’ but no such parameter /usr/include/sys/types.h:198: error: declaration for parameter ‘int64_t’ but no such parameter /usr/include/sys/types.h:197: error: declaration for parameter ‘int32_t’ but no such parameter /usr/include/sys/types.h:196: error: declaration for parameter ‘int16_t’ but no such parameter /usr/include/sys/types.h:195: error: declaration for parameter ‘int8_t’ but no s uch parameter /usr/include/sys/types.h:153: error: declaration for parameter ‘uint’ but no suc h parameter /usr/include/sys/types.h:152: error: declaration for parameter ‘ushort’ but no s uch parameter /usr/include/sys/types.h:151: error: declaration for parameter ‘ulong’ but no su ch parameter /usr/include/bits/types.h:189: error: declaration for parameter ‘__caddr_t’ but no such parameter /usr/include/bits/types.h:45: error: declaration for parameter ‘__uint32_t’ but no such parameter /usr/include/bits/types.h:44: error: declaration for parameter ‘__int32_t’ but n o such parameter /usr/include/bits/types.h:43: error: declaration for parameter ‘__uint16_t’ but no such parameter /usr/include/bits/types.h:42: error: declaration for parameter ‘__int16_t’ but n o such parameter /usr/include/bits/types.h:41: error: declaration for parameter ‘__uint8_t’ but n o such parameter /usr/include/bits/types.h:40: error: declaration for parameter ‘__int8_t’ but no such parameter /usr/include/bits/types.h:37: error: declaration for parameter ‘__u_long’ but no such parameter /usr/include/bits/types.h:36: error: declaration for parameter ‘__u_int’ but no such parameter /usr/include/bits/types.h:35: error: declaration for parameter ‘__u_short’ but n o such parameter /usr/include/bits/types.h:34: error: declaration for parameter ‘__u_char’ but no such parameter /usr/lib/gcc/i386-redhat-linux/4.1.2/include/stddef.h:214: error: declaration fo r parameter ‘size_t’ but no such parameter /usr/include/bits/errno.h:43: error: declaration for parameter ‘__errno_location ’ but no such parameter chan_datacard.c:719: error: expected ‘{’ at end of input make: *** [chan_datacard.o] Error 1
Прошу прощенья Кто знает как победить шероховатости с ДТМФ? Я видел патчи здесь но не знаю как их применить.( и работают ли тоже не знаю) А так цифры донабора двоятся, пропускаются и.т.д Может тип ДТМФ надо поставить какой то (авто.rfc2833,info не помогает) Centos 5.5 (ядро 2,6,36)+астериск 1,6+chan_datacard rev.177+2 E1550
с консоли делаю запрос и получаю результат, а точнее конечный результат не получаю, тоесть в файл /var/log/asterisk/ussd.txt не сохраняется запись:
Код:
ast-pc*CLI> datacard ussd datacard2 *101# [datacard2] Got USSD response: 'Na rakhunku 0.01 grn, dijsnyj do 29.01.2011. Taryf - Super MTS Vse Seti Dva nuli. Hity dlya GOOD'OK, muzyka, igry ta video tut *121#' -- Executing [ussd@incoming-datacard:1] Verbose("Local/ussd@incoming-datacard-b468;1", "Incoming USSD: Na rakhunku 0.01 grn, dijsnyj do 29.01.2011. Taryf - Super MTS Vse Seti Dva nuli. Hity dlya GOOD'OK, muzyka, igry ta video tut *121#") in new stack [Jan 4 13:11:34] WARNING[7597]: app_verbose.c:97 verbose_exec: 'Incoming USSD: Na rakhunku 0.01 grn' is not a verboser number dijsnyj do 29.01.2011. Taryf - Super MTS Vse Seti Dva nuli. Hity dlya GOOD'OK, muzyka, igry ta video tut *121# -- Executing [ussd@incoming-datacard:2] System("Local/ussd@incoming-datacard-b468;1", "echo '2011-01-04 13:11:34 - datacard2: Na rakhunku 0.01 grn, dijsnyj do 29.01.2011. Taryf - Super MTS Vse Seti Dva nuli. Hity dlya GOOD'OK, muzyka, igry ta video tut *121#' >> /var/log/asterisk/ussd.txt") in new stack -- Executing [ussd@incoming-datacard:3] Hangup("Local/ussd@incoming-datacard-b468;1", "") in new stack == Spawn extension (incoming-datacard, ussd, 3) exited non-zero on 'Local/ussd@incoming-datacard-b468;1'
С другой симки, где нету рекламного сообщения сохраняется все ок:
Код:
ast-pc*CLI> datacard ussd datacard0 *111# [datacard0] Got USSD response: 'Na Vashomu rahunku 195.76 grn.' -- Executing [ussd@incoming-datacard:1] Verbose("Local/ussd@incoming-datacard-77e4;1", "Incoming USSD: Na Vashomu rahunku 195.76 grn.") in new stack Incoming USSD: Na Vashomu rahunku 195.76 grn. -- Executing [ussd@incoming-datacard:2] System("Local/ussd@incoming-datacard-77e4;1", "echo '2011-01-04 13:14:06 - datacard0: Na Vashomu rahunku 195.76 grn.' >> /var/log/asterisk/ussd.txt") in new stack -- Executing [ussd@incoming-datacard:3] Hangup("Local/ussd@incoming-datacard-77e4;1", "") in new stack == Spawn extension (incoming-datacard, ussd, 3) exited non-zero on 'Local/ussd@incoming-datacard-77e4;1'
Есть какой то способ отрезать часть сообщения, или сохранять вывод консоли Астериска в файл как в bash ?
и в ${SMS} будет содержаться знак двойных кавычек ("), то тоже будут проблемы?
[MTS1] Got SMS from +380503333333: 'Вы " ошиблись' -- Executing [sms@incoming-chan_datacard:1] Verbose("Local/sms@incoming-chan_datacard-ee10;1", ""[04-01-2011 22:01:03 - MTS1] Incoming SMS from +380503333333: Вы " ошиблись"") in new stack [04-01-2011 22:01:03 - MTS1] Incoming SMS from +380503333333: Вы ошиблись -- Executing [sms@incoming-chan_datacard:2] System("Local/sms@incoming-chan_datacard-ee10;1", "echo "04-01-2011 22:01:03 - MTS1 - +380503333333: Вы " ошиблись" >> /var/log/asterisk/sms.txt") in new stack
... видим, что кавычки съело при выводе в консоль. Кроме того в файл sms.txt не сохранило ничего _________________ https://github.com/nixonch/a2billing
тестплан это такая хрень, которую курят сов твари тецтеры чёто типа епрацтизе Тест Лаб Софтваре Тестер Фри Цертифицатион Тест
если не выкурят им ставится низач0т.
соединил я для теста два канала на телефоны, нажал случайно кнопачку и 2 часа они друг с другом посредством DTMF разговаривали
я добавил опцую (или опцыЮ, как правильно поскажите?) в конфиг dtmf = off | inband | relax
как сказать астериску чтобы он символы не пересылал на другую сторону? они из-за этого дубляться (так, о чём это я?, а 6-6, закрываю ) + эхо и всё, положительная обратная связь и понеслось езда по кочкам...
и это... я тут прикольные команды замутил...
reload now | gracefully | when convenient stop now | gracefully | when convenient restart now | gracefully | when convenient remove now | gracefully | when convenient start
Подскажите, есть ли AT команды для управления SIM-меню? И еще, может у кого есть идеи как подключить несколько симкарт к одному модему? Ну пусть даже они снаружи все болтаются, можно ли реализовать такую схему, чтобы программно перецеплять? Можно же воткнуть мультисим с двумя обрезанными и с телефона менять их. Про то, что клонировать современные симкарты нельзя, я прочитал.
в тексте "GOOD'OK" содержится кавычка. к какому результату она приводит подумайте.
Лишь бы не привела к массовой смс-рассылке с «проверкой на вшивость» ваших диалпланов
bg1 писал(а):
победить тоже тривиально.
Не стоит откладывать и тем более скрывать Как, если не секрет? Я попробовал заменить на
Код:
${QUOTE(${SMS})}
но она экранирует только двойные кавычки Помещать всё это дело в двойные кавычки
Код:
echo "…${QUOTE(${SMS})}" >>…
тоже не вариант — можно напороться на раскрытие $(нехорошая комманда) PS. Есть еще SQL_ESC() и вроде даже занимается одинарными кавычками, но она является частью модуля ODBC, который у меня отсутсвует.
$ Залил r150 добавлена вкусная фича: автопоиск устройств по IMEI и/или IMSI пока находится только 0x12d1, 0x1001.
УРА! Но... Один модем находит, a с 5-ю модемами никак тырцает по кругу: -- [BEE1] Trying port discovery for IMEI '' IMSI '25502кусь -- [KST1] Trying port discovery for IMEI '' IMSI '25503кусь -- [KST2] Trying port discovery for IMEI '' IMSI '25503 -- [LFE1] Trying port discovery for IMEI '' IMSI '25506 -- [MTS1] Trying port discovery for IMEI '' IMSI '25501 -- [BEE1] Trying port discovery for IMEI '' IMSI '25502 -- [KST1] Trying port discovery for IMEI '' IMSI '25503 -- [KST2] Trying port discovery for IMEI '' IMSI '25503 -- [LFE1] Trying port discovery for IMEI '' IMSI '25506 -- [MTS1] Trying port discovery for IMEI '' IMSI '25501 -- [BEE1] Trying port discovery for IMEI '' IMSI '25502 -- [KST1] Trying port discovery for IMEI '' IMSI '25503 -- [KST2] Trying port discovery for IMEI '' IMSI '25503 -- [LFE1] Trying port discovery for IMEI '' IMSI '25506 -- [MTS1] Trying port discovery for IMEI '' IMSI '25501 и т.д. Все модемы E1550: ID 12d1:1001 Huawei Technologies Co., Ltd. E620 USB Modem в datacard.conf указываю только imsi _________________ https://github.com/nixonch/a2billing
Да покусал цифры, чтоб в форуме не светить - с 15-ю не пашет... debug 1 ничего интересного не показывает, как вроде всё штатно. И, кстати, через несколько минут таких итераций вылетает астер. _________________ https://github.com/nixonch/a2billing
в настоящий момент я тестирую на E1550 11.608.12.00.143.B409 11.609.18.00.00.B418 иногда они дают отрыв порта с командами при AT+CHUP. После переоткрытия порта продолжают работать.
мне тут рассказывали что e1550 имеют две модификации объёма флеш-памяти, плюс типа их прошить можно только через jtag с разборкой корпуса. вопрос экспирементаторам: что из этого правда?
мне тут рассказывали что e1550 имеют две модификации объёма флеш-памяти, плюс типа их прошить можно только через jtag с разборкой корпуса. вопрос экспирементаторам: что из этого правда?
revision 154 звонки ходят нормально, но заметил что datacard show devices всегда для всех показывает "free" хотя datacard show device state tele2 статус показывает верно
безглючного софта не бывает. Запрещать менять прошивку - это обрекать свой техсуппорт на на борьбу с разгневанными пользователями, а офисы на приём бракованных модемов.
был такой баг именно в одной ревизии, в следующей был исправлен. сейчас статус показывается как "Dialing" "Incoming" "Active" etc
Подскажите, пожалуйста, не проходят DTMF никак В дебаг логе чисто..
Аналогично. Откатился с *1.6.2.16-rc1 на 1.6.2.13 и всё опять заработало.
Народ, кто сможет внятно составить баг-репорт в Дижиум на вышеуказанный глюк? Не сочтите за труд. _________________ https://github.com/nixonch/a2billing
ЙЕСС!!! тесчу, слетают модемы только при исходящем вызове ... но по-моему они слетали и c r166
Код:
-- Executing [0уууууууууу@default:1] Dial("IAX2/datacard00-4485", "Datacard/s:25503чччччччч/0уууууууу") in new stack -- Called s:25503ччччччччч/0уууууууууу -- Datacard/KST1-0100000001 is making progress passing it to IAX2/datacard00-4485 [Jan 13 23:59:43] ERROR[22126]: chan_datacard.c:385 do_monitor_phone: Lost connection to Datacard MTS1 -- [MTS1] Datacard has disconnected [Jan 13 23:59:43] ERROR[22125]: chan_datacard.c:385 do_monitor_phone: Lost connection to Datacard LFE1 [Jan 13 23:59:43] ERROR[22124]: chan_datacard.c:385 do_monitor_phone: Lost connection to Datacard KST2 -- [KST2] Datacard has disconnected -- [LFE1] Datacard has disconnected [Jan 13 23:59:43] ERROR[22122]: chan_datacard.c:385 do_monitor_phone: Lost connection to Datacard BEE1 -- [BEE1] Datacard has disconnected [Jan 13 23:59:43] ERROR[22128]: chan_datacard.c:385 do_monitor_phone: Lost connection to Datacard KST1 -- [KST1] Datacard has disconnected == Everyone is busy/congested at this time (1:0/0/1) -- Executing [0ууууууууууу@default:2] NoOp("IAX2/datacard00-4485", "CHANUNAVAIL") in new stack -- Executing [0ууууууууууу@default:3] Hangup("IAX2/datacard00-4485", "") in new stack == Spawn extension (default, 0ууууууууууу, 3) exited non-zero on 'IAX2/datacard00-4485' -- Hungup 'IAX2/datacard00-4485' -- [BEE1] IMEI IMSI 25502ййййййййй found on data_tty /dev/ttyUSB8 audio_tty /dev/ttyUSB7 -- [BEE1] Trying to connect on /dev/ttyUSB8... -- [BEE1] Datacard has connected, initializing... -- [KST1] IMEI IMSI 25503ччччччччч found on data_tty /dev/ttyUSB2 audio_tty /dev/ttyUSB1 -- [KST1] Trying to connect on /dev/ttyUSB2... -- [KST1] Datacard has connected, initializing... [Jan 13 23:59:51] WARNING[22121]: pdiscovery.c:332 pdiscovery_read_info: [datacard discovery] /dev/ttyUSB2 already used by process 16790 -- [KST2] IMEI IMSI 25503hhhhhhhhhh found on data_tty /dev/ttyUSB5 audio_tty /dev/ttyUSB4 -- [KST2] Trying to connect on /dev/ttyUSB5... -- [KST2] Datacard has connected, initializing... [Jan 13 23:59:51] WARNING[22121]: pdiscovery.c:332 pdiscovery_read_info: [datacard discovery] /dev/ttyUSB2 already used by process 16790 [Jan 13 23:59:51] WARNING[22121]: pdiscovery.c:332 pdiscovery_read_info: [datacard discovery] /dev/ttyUSB5 already used by process 16790 [Jan 13 23:59:51] WARNING[22121]: pdiscovery.c:332 pdiscovery_read_info: [datacard discovery] /dev/ttyUSB8 already used by process 16790 -- [LFE1] IMEI IMSI 25506pppppppppp found on data_tty /dev/ttyUSB14 audio_tty /dev/ttyUSB13 -- [LFE1] Trying to connect on /dev/ttyUSB14... -- [LFE1] Datacard has connected, initializing... [Jan 13 23:59:51] WARNING[22121]: pdiscovery.c:332 pdiscovery_read_info: [datacard discovery] /dev/ttyUSB2 already used by process 16790 [Jan 13 23:59:51] WARNING[22121]: pdiscovery.c:332 pdiscovery_read_info: [datacard discovery] /dev/ttyUSB5 already used by process 16790 [Jan 13 23:59:51] WARNING[22121]: pdiscovery.c:332 pdiscovery_read_info: [datacard discovery] /dev/ttyUSB8 already used by process 16790 -- [MTS1] IMEI IMSI 25501oooooooooo found on data_tty /dev/ttyUSB11 audio_tty /dev/ttyUSB10 -- [MTS1] Trying to connect on /dev/ttyUSB11... -- [MTS1] Datacard has connected, initializing... -- [BEE1] Datacard initialized and ready -- [KST2] Datacard initialized and ready -- [LFE1] Datacard initialized and ready -- [MTS1] Datacard initialized and ready [Jan 13 23:59:53] ERROR[22266]: chan_datacard.c:407 do_monitor_phone: [KST1] timedout while waiting 'OK' in response to 'AT' -- [KST1] Error initializing Datacard -- [KST1] Datacard has disconnected [Jan 13 23:59:55] NOTICE[22267]: at_response.c:1056 at_response_ccwa: Call waiting is disabled on device KST2 [Jan 13 23:59:55] NOTICE[22268]: at_response.c:1056 at_response_ccwa: Call waiting is disabled on device LFE1 [Jan 13 23:59:56] NOTICE[22269]: at_response.c:1056 at_response_ccwa: Call waiting is disabled on device MTS1 [Jan 14 00:00:01] ERROR[22265]: chan_datacard.c:407 do_monitor_phone: [BEE1] timedout while waiting 'OK' in response to 'AT+CCWA=' -- [BEE1] Datacard has disconnected [Jan 14 00:00:06] WARNING[22121]: pdiscovery.c:332 pdiscovery_read_info: [datacard discovery] /dev/ttyUSB5 already used by process 16790 -- [BEE1] IMEI IMSI 25502ййййййййй found on data_tty /dev/ttyUSB8 audio_tty /dev/ttyUSB7 -- [BEE1] Trying to connect on /dev/ttyUSB8... -- [BEE1] Datacard has connected, initializing... -- [KST1] IMEI IMSI 25503ччччччччч found on data_tty /dev/ttyUSB2 audio_tty /dev/ttyUSB1 -- [KST1] Trying to connect on /dev/ttyUSB2... -- [KST1] Datacard has connected, initializing... -- [BEE1] Datacard initialized and ready -- [KST1] Datacard initialized and ready [Jan 14 00:00:07] NOTICE[22291]: at_response.c:1056 at_response_ccwa: Call waiting is disabled on device KST1 [Jan 14 00:00:11] NOTICE[22290]: at_response.c:1056 at_response_ccwa: Call waiting is disabled on device BEE1 [Jan 14 00:00:31] NOTICE[22291]: at_response.c:1056 at_response_ccwa: Call waiting is disabled on device KST1
Находит верно, но с r165 такой проблемы нет. Питания валом. added later: поменял два модема местами. пошло. вас вар дас? _________________ https://github.com/nixonch/a2billing
если он на этом порту не находит по imsi/imei то проблема, а если этот порт от другого устройства которое уже найдено или вообще другим софтом используется то не проблема. _________________ Свежак chan_dongle тут https://github.com/bg111/asterisk-chan-dongle/ Читайте, дополняйте wiki http://wiki.e1550.mobi/ Смена IMEI Huawei E1550 E173 E1752 K3765 http://www.e1550.mobi/ от $1,521 за IMEI
Кто подскажет с Huawei E150 нормально работающее решение есть? Лучшее что нашел это модули option для ядра от Novax, но там есть проблема, на хабах Dlink при сбросе питания на порту, модем не поднимается (статус Not connected). Лечится перегрузкой или выгрузкой модуля option. Может кто знает как это победить?
Вообще если Novax планирует развивать это решение, то готов дать доступ к тестовой среде.
hub-ctrl внешняя с точки зрения модема фича, не нужно её на этот уровень запихивать. Да и проблемы как правило с зависанием указывают на несовместимое оборудование. _________________ Свежак chan_dongle тут https://github.com/bg111/asterisk-chan-dongle/ Читайте, дополняйте wiki http://wiki.e1550.mobi/ Смена IMEI Huawei E1550 E173 E1752 K3765 http://www.e1550.mobi/ от $1,521 за IMEI
Последний раз редактировалось: bg1 (Пт Янв 14, 2011 19:24)
hub-ctrl внешняя с точки зрения модема фича, не нужно ещё на это уровень запихивать. Да и проблемы как правило с зависанием указывают на несовместимое оборудование.
Тогда пора замутить официальную поддержку продукта (желательно круглосуточную) . Выпустить официальный список совместимого, а не рекомендованного, оборудования. Ну и как бы по определению - совместимого или несовместимого оборудования тут быть не может, и соответственно проблемы с зависаниями - это неотъемлемая часть в череде всех проблем, связанных с эксплуатацией этого и любых других малобюджетных решений. Кроме того известно, что сами по себе модемы слабостабильны, и даже не в каждом ЮСБ порту серверов от именитых брендов заводятся. Бороться с проблемами - это неотъемлимая часть любви к chan_datacard. Кстати, один из примеров такого же плана, того чего не должно было быть, и за реализацию которого уже прижизненный памятник bg1 надо ставить - discovery by IMEI/IMSI. Я не говорю, что надо всё бросить и этим заниматься, но из разряда помечтать, ведь не вредно? _________________ https://github.com/nixonch/a2billing
Последний раз редактировалось: nixon (Пт Янв 14, 2011 18:40)
Это мне?) Если да, то по-точнее можно? Название функции или строка) Я как бы исходники астериска правил единственный раз когда в 1.4 ставил дефайн для uniqueid) Поэтому вообще не представляю что там под капотом и где там искать что-либо)
И еще, хотел тут спросить. Можно ли запилить возможность звонить через рандомный свободный мопед в группе? А то я когда свои скрипты писал это прощелкал, теперь бабло в основном с одной симки уплывает, а фича имхо полезная была бы *наглеть*
в README.txt etc/extensions.conf всё написано
Datacard/r000
Added after 5 minutes:
nixon писал(а):
Тогда пора замутить официальную поддержку продукта (желательно круглосуточную) .
Будет обеспеченный спрос - будет и предложение.
nixon писал(а):
Выпустить официальный список совместимого, а не рекомендованного, оборудования.
перезагрузка модеме - это проблема или железа модема или недостатка питания или корявости firmware. По мере своих поистине скромных возможностей обновляем тут http://wiki.e1550.mobi/ Было бы не плохо, если бы кто-нибуть тоже приложил руку, например описал новую фичу с imei/imsi
nixon писал(а):
Я не говорю, что надо всё бросить и этим заниматься, но из разряда помечтать, ведь не вредно?
Мечтайте мечтайте. Я лучше о девушках помечтаю
Added after 1 minutes:
someone писал(а):
>> Пилите по месту. >> Там две строчки пилить.
Это мне?) Если да, то по-точнее можно? Название функции или строка) Я как бы исходники астериска правил единственный раз когда в 1.4 ставил дефайн для uniqueid) Поэтому вообще не представляю что там под капотом и где там искать что-либо)
Обнаружил проблему с DTMF! При наборе добавочного номера на качество сильно влияет уровень внешних шумов. Если заткнуть пальцем отверстие микрофона в мобильном при наборе добавочного номера - последний определяется без ошибок.
Кто знает, подскажите, какой командой (если это вообще возможно) отключать в мобильнике микрофон при наборе номера и включать после набора? Желательно вписать команды вместе с номером, чтобы не вспоминать про это.
>> причём тут исходники asterisk? >> ДАЛ ССЫЛКУ НА 2 perl скрипта. Сорри, меня проглючило, я воспринял это как "пили сам" ) Мануал прочитал, все пофиксил, спасибо)
2 someone подскажи я подкрутил в том скрипте что ты мне скинул смтп и дестенейшен и добавил в екстеншен диалплан но все равно чето не приходит причем ошибок от консоли нету куда смотреть?
2g.frimen Тут вроде предложили более интересный вариант) Я в принципе могу посмотреть сырц, но для начала: 1. есть ли уверенность, что вывод ошибок в php-cli вообще включен? 2. можно попробовать запустить скрипт без *, т.е. вызвать его ./ussd-mail.php arg1 arg2 arg3 arg4 и посмотреть что на это скажет smtp (там вообще логин && попытка отправить что-то есть логе smtp-сервера?), и что на это на это скажет php 3. не знаю кто как, но лично я делаю скриптам chmod +x, дабы удобнее отлаживать было 4. Mail-mime установлен? 5. * вообще выполняет скрипт?
И предлагаю перейти либо в соответствующий раздел, либо в приват, ибо оффтоп )
Установил связку asterisk+chan_datacard+huawei E1550(модем мегафон, прошивка от мтс, разлоченный в общем) Комп видит три usb порта ttyUSB0,ttyUSB1,ttyUSB2 в комп воткнут из usb только модем
datacard.conf
Код:
context=incoming-datacard ; context for incoming calls audio=/dev/ttyUSB1 ; tty port for audio connection data=/dev/ttyUSB2 ; tty port for AT commands group=1 ; calling group rxgain=3 ; increase the incoming volume txgain=3 ; increase the outgoint volume autodeletesms=yes ; auto delete incoming sms resetdatacard=yes ; reset datacard during initialization u2diag=0 ; set U2DIAG parameter (0 = disable everything except modem function) usecallingpres=yes ; use the caller ID presentation or not callingpres=allowed_passed_screen ; set caller ID presentation disablesms=yes ; chan_datacard has currently a bug with SMS reception. When a SMS gets in during a
после перезапуска Asterisk вхожу в консоль ввожу datacard show devices и получаю
Код:
ID Group State RSSI Mode Submode Provider Name Model Firmware IMEI IMSI Number datacard0 1 Not initia 14 0 0 NONE Unknown
Что значит не смог инициализировать? Как исправить?
хоть под билом гейтсом запускать. asterisk.conf runuser rungroup
включать отладку и смотреть что происходит. вообще на консоль обычно всё рассказывается, если проблемы какие то. _________________ Свежак chan_dongle тут https://github.com/bg111/asterisk-chan-dongle/ Смена IMEI Huawei E1550 E173 E1752 K3765 http://www.e1550.mobi/ от $0,3042 за IMEI
Жесткая шутка в общественном транспорте (в дипломате звонит телефон (обычный кнопочный ) комплект - роутер WIFI dlink в нём 3g модем , потом шлюз dlink , потом телефон обычный кнопочный причём звонят кондуктору ( знакомая) - все в шоке (питание аккум от упс ) (извините за флуд ).
Bus 003 Device 001: ID 1d6b:0001 Linux Foundation 1.1 root hub Bus 004 Device 002: ID 19d2:fff1 ONDA Communication S.p.A. Bus 004 Device 001: ID 1d6b:0001 Linux Foundation 1.1 root hub Bus 005 Device 001: ID 1d6b:0001 Linux Foundation 1.1 root hub Bus 002 Device 001: ID 1d6b:0001 Linux Foundation 1.1 root hub Bus 001 Device 001: ID 1d6b:0002 Linux Foundation 2.0 root hub
[datacard0] audio=/dev/ttyUSB1 ; tty for audio connection data=/dev/ttyUSB2 ; tty for AT commands
context=datacard-incoming ; context for incoming calls group=1 ; calling group
rxgain=3 ; increase the incoming volume txgain=3 ; increase the outgoint volume
[datacard1] context=datacard-incoming; context for incoming calls audio=/dev/ttyUSB4; tty port for audio connection data=/dev/ttyUSB5; tty port for AT commands group=2; calling group rxgain=3; increase the incoming volume txgain=3; increase the outgoint volume autodeletesms=yes; auto delete incoming sms resetdatacard=yes; reset datacard during initialization ;u2diag=0; set U2DIAG parameter (0 = disable everything except modem function) at+zcdrun=8 ;Только режим модема usecallingpres=yes; use the caller ID presentation or not callingpres=allowed_passed_screen ; set caller ID presentation
CLI>datacard show devices
datacard1 2 Not connec 0 0 0 NONE Unknown datacard0 1 Not connec 0 0 0 NONE Unknown
Подскажите есть вариант каконибудь запустить сей девайс или его можно закинуть на полку и пользовать только когда нужен интернет?
Буду блогадарен за любые советы и ссылки, которые помогут запустить сей девайс
ссылка в подписи, задача - провести анализ ZTE его команд и режимов. Подумать как встроить поддержку ZTE в chan_datacard. _________________ Свежак chan_dongle тут https://github.com/bg111/asterisk-chan-dongle/ Смена IMEI Huawei E1550 E173 E1752 K3765 http://www.e1550.mobi/ от $0,3042 за IMEI
Собственно, сейчас я с подвисонами борюсь тупо, если кол-во входящих по сипу != кол-ву исходящих, просто ресетю все что busy. При этом обрываются вызовы, а это как бы не есть гут. Поэтому есть несколько вопросов: Можно ли сказать, что если модем "busy" (хотя это неправда) + подвис, то он не ответит на какую-нибудь команду, на которую ответил бы будучи busy в неподвисшем состоянии? Т.е. достаточно ли для проверки "живости" модема спросить у него что-либо? Или это вопрос просто некоректной индикации? Есть ли у модема какая-то at-команда проверки наличия активного вызова? Просто можно было бы пройтись по всем занятым модемам и узнать: а действительно ли они заняты? Ну, и в случае чего зарестартить. Или, скажем, можно ли узнать есть ли с busy-модемом связанный call id? Если нет, то зарестартить.
Или есть какие-то более интересные варианты?
п.с. Лично я чаще всего наблюдал багу с подвисанием (т.е. когда трубка с обеих сторон вешается, но идникация не сменяется на free) как раз в момент завершения разговора. Т.е. в консоль может не выпасть ни одного воринга/еггога/нотиса, но при этом будет повисший девайс.
Added after 39 minutes:
И еще, есть ли способ узнать через какую именно datacard ушел звонок, если я звоню через rX? Так бы можно было проверить карточку сразу после выполнения скрипта и в случае чего заресетить ее. Есть, конечно, тупой вариант с вочдогом, но не камильфо.
Я не видел аналогичного скрипта, может быть плохо смотрел. Да и бесят эти "Remote UNIX connection" в консоли. Поэтому может напишу на сях сегодня вечером аналогичное в виде демона с попеном "asterisk -vrcd". Можно и из этого быдлокода сделать демона, но мне страшно
Подредактированный код скрипта подвисших донглов (под свои нужды), выложенный кем-то выше
Код:
#!/bin/bash # Filename: gsm-keeper # Version: 0.4b # Purpose: This script checking for datacards which have "Busy" state # Authors: asteriskforum' users (asteriskforum.ru), (c) Sergey Fenko # License: This code is licensed under the GPL v2. ################################################################################
# NOTICE: You need to run this script with root privilegies!
DCCONF=/etc/asterisk/datacard.conf # Path to the datacards configuration file. HUBCTL=/root/hub-ctrl # Path to the "hub-ctrl" program. date SLEEPTIME="40s" # SLEEPTIME is an amount of time that we will wait for changes taking effect.
is_dc_binded_to_chan() { asterisk -rx "core show channels" | sed -n "s/^\(Datacard\/$DC-[^ \t]*\)\( *\t*.\+\)/\1/p" }
case $1 in -t) bdp_by_name $2; exit 0 ;; -T) hubctl_bdp $(bdp_by_name $2); exit 0 ;; -h) echo -e "Usage: $0 -[(t|T) \$CARDNAME]\ \n\t-t\t- to view bus, dev, port information;\ \n\t-T\t- to toggle power of card.\ \n\tUse no arguments to automatically check for freezed datacards."; exit 0 esac
if [ -x $HUBCTL ] then echo "Cheking busy DataCards:" else echo "There is no $HUBCTL file or it is not executable" exit 1 fi #b1=$(busy_dcs) #d1=$(disconnected_dcs) #all="$b1 $d1" #echo $b1 #echo $d1 #echo $all
for DC in $(disconnected_dcs) do echo -n $DC>>DCS devi=`sed -r "/ *\t*/s///g;/^\[$DC\]/,/^\[/!d;/^data=/!d" /etc/asterisk/datacard.conf|awk -F- '{print $3}'|sed -r 's/([0-9]*\.[0-9]{1})/\n\1\n/'| sed '2!d'` #echo $devi h1=`echo $devi|awk -F. '{print $1}'` port=$[`echo $devi|awk -F. '{print $2}'`]
if [ "$h1"="2" ]; then hub=2; fi if [ "$h1" = "1" ]; then hub="1"; fi
for DC in $(busy_dcs) do CHAN=$(is_dc_binded_to_chan) #DISCONN=$(disconnected_dcs) # if [ -z "$CHAN" -o -z $DISCONN ] if [ -z "$CHAN" ] then { echo "$DC is busy and not assigned to any channel - probably freezed - REINITIALIZING" let WILLCHECK=1 # this variable toggles to making control } else echo "$DC is busy and assigned to channel $CHAN - OK" fi done
if [ "$WILLCHECK" = "1" ] then { echo -e "Waiting some time for changes taking effect.\nIf any problems - will toggle power." sleep $SLEEPTIME for DC in $(busy_dcs) do if [ -z "$(is_dc_binded_to_chan)" ] then echo -e "\n$DC is busy and not assigned to any channel - probably deeply freezed - TOGGLE POWER!)" hubctl_bdp $(bdp_by_name $DC) fi done } fi exit 0
AT+CCWA? посылается при каждой успешной регистрации в сети с целью определения активирован call waiting или нет.
Если на сети запрещён такой запрос то получаете ошибку. Ничего страшного не вижу.
По сообщениям вижу, что chan_datacard у вас старый.
"Подвисоны" указывают на проблемы с оборудованием или прошивкой. Вы поставили стабильную прошивку я надеюсь, или даже голову не грели на этот счёт? Отрыв по AT+CHUP 1:40 это катастрофа!
Не нужен там никакий скрипт, chan_datacard сам отцепится прицепится и даже сеть не моргнёт. Никакие соединения не рвутся так как завис происходит после завершения звонка.
если модем завис окончательно то у него состояние будет Not connected. его периодически будут теребить но если он не отвечает что с ним драйвер канала может сделать?
не надо изобретать велосипеды, надо сесть и поехать.
народ уже три недели завис на подсоединении модема
Цитата:
dmesg | grep ttyUSB [ 22.380653] usb 1-1: GSM modem (1-port) converter now attached to ttyUSB0 [ 22.403134] usb 1-1: GSM modem (1-port) converter now attached to ttyUSB1 [ 22.403581] usb 1-1: GSM modem (1-port) converter now attached to ttyUSB2 [ 489.038194] option1 ttyUSB0: GSM modem (1-port) converter now disconnected from ttyUSB0 [ 489.038298] option1 ttyUSB1: GSM modem (1-port) converter now disconnected from ttyUSB1 [ 489.038432] option1 ttyUSB2: GSM modem (1-port) converter now disconnected from ttyUSB2 [ 491.468397] usb 1-1: GSM modem (1-port) converter now attached to ttyUSB0 [ 491.480011] usb 1-1: GSM modem (1-port) converter now attached to ttyUSB1 [ 491.496909] usb 1-1: GSM modem (1-port) converter now attached to ttyUSB2 [ 1301.106996] option1 ttyUSB0: GSM modem (1-port) converter now disconnected from ttyUSB0 [ 1301.107191] option1 ttyUSB1: GSM modem (1-port) converter now disconnected from ttyUSB1 [ 1301.107351] option1 ttyUSB2: GSM modem (1-port) converter now disconnected from ttyUSB2 [ 1309.002301] usb 1-1: GSM modem (1-port) converter now attached to ttyUSB1 [ 1309.005117] usb 1-1: GSM modem (1-port) converter now attached to ttyUSB3 [ 1309.020039] usb 1-1: GSM modem (1-port) converter now attached to ttyUSB4
много лишних строчек это нормально? миникомом подсоединился, а вот datacard либо no initialize либо not connest пишет, че за фигня помогите разобраться.
>> "Подвисоны" указывают на проблемы с оборудованием или прошивкой. Вы поставили стабильную прошивку я надеюсь, или даже голову не грели на этот счёт? Прошивка 11.609.18.00.00. И перепрошивал я сие уже несколько раз, с этой прошивкой оно более или менее редко глючит.
>> Если на сети запрещён такой запрос то получаете ошибку. Тогда почему он случается иногда? Но, на самом деле, меня больше интересовала "фатальность"
>> Не нужен там никакий скрипт, chan_datacard сам отцепится прицепится и даже сеть не моргнёт. Та версия, что у меня (r278) это делает успешно далеко не всегда. Попробую из svn взять текущую версию.
>> если модем завис окончательно то у него состояние будет Not connected. А есть вот такая тема: после 2х дней работы 1 мопед повис как-то очень странно: ресетится, подключается, как только на него пробую позвонить - отваливается и пишет "congestion", выглядит так:
Код:
-- Attempting call on Datacard/datacard6/+7xxxx for application Playback(demo-congrats) (Retry 1) [Jan 20 21:46:31] ERROR[16486]: at_response.c:463 at_response_error: [datacard6] Dial failed > Channel Datacard/datacard6-0100000010 was never answered. [Jan 20 21:46:31] NOTICE[29953]: pbx_spool.c:339 attempt_thread: Call failed to go through, reason (8) Congestion (circuits busy)
Что это может быть теоретически?
UPD, взял из svn только что:
Код:
-- Attempting call on Datacard/datacard6/+7ххххх for application Playback(demo-congrats) (Retry 1) [Jan 20 21:54:32] ERROR[31896]: at_response.c:465 at_response_error: [datacard6] Dial failed > Channel Datacard/datacard6-0100000000 was never answered. [Jan 20 21:54:32] NOTICE[31933]: pbx_spool.c:339 attempt_thread: Call failed to go through, reason (8) Congestion (circuits busy) [Jan 20 21:54:34] ERROR[31896]: chan_datacard.c:426 do_monitor_phone: [datacard6] timedout while waiting 'OK' in response to 'AT+CHUP'
Последний раз редактировалось: someone (Чт Янв 20, 2011 19:55)
Error sending hangup for call idx 1 при работающем устройстве означает что звонок к моменту завершения со стороны астериска оказался уже завешён со стороны GSM. Проще говоря стороны положили трубки одновременно. Махутов уже объяснял это на forge.asterisk
у chan_datacard нет собственных логов, логи астериска смотрите. Дальшейшее - офтопик.
И что, он будет звонить на USSD ? не нужно путать отправку USSD и совершение звонка ну и что что в телефоне это делается одинаково.
Added after 9 minutes:
sau писал(а):
2 someone
если в core show channels нет модема, а в datacard show devices - он busy - значит завис 100%
можно как то из dialplan управлять Анти-АОН? (чтоб при звонках на некоторые номера номер все же был виден) P/S нашел в "AT Command Reference" что после номера надо ставить I но символ не пропускает datacard можно AT+CLIR=2 давать перед дозвоном на модем но это не удобно
Последний раз редактировалось: SkySky (Сб Янв 22, 2011 14:29)
chan_datacard честно передаёт в asterisk caller id, asterisk может передать этот caller id дальше. сделайте вызвов не на sipnet, а напрямую на софтофон и увидите.
проблема в передаче caller id в "обычную" телефонную сеть, большинство sip-провайдеров такой услуги не предоставляют.
у меня такая ситуация - если вставляю в модем симку МТС - с определением номера всё ок. (звоню GSM -> chan_datacard -> SIP-provider -> GSM) а вот если вставляю симку Теле2 - номер не передаётся. сип-провайдер тот же. AT+CPBS и AT+CPBW - номер задан. chan_datacard последний из svn - 173
AT+CPBS=\"ON\" и прочее ставят в SIM Own Numbers, которые в дальнейшем chan_datacard может использовать как DNID. Если номер CID определился и декодировался, то chan_datacard 200% его выставит. Что дальше с ним будет делать asterisk и прочие части можно прочитать в мануалах.
На I модем забивает. AT+CLIR= модем выставляет перед каждым звонком если usecallingpres=yes. Если значение для callingpres не задано явно то будет использоваться значение от канала оригинатора.
как вариант приставка перед номером что то типа #31# но оператор должен собственно такую услугу как АнтиАОН разрешать вам. _________________ Свежак chan_dongle тут https://github.com/bg111/asterisk-chan-dongle/ Смена IMEI Huawei E1550 E173 E1752 K3765 http://www.e1550.mobi/ от $0,3042 за IMEI
Последний раз редактировалось: bg1 (Вс Янв 23, 2011 12:30)
Всем, привет! Все собрал согласно инструкции http://www.asteriskforum.ru/wiki/index.p ... AWAY_E1550 , но не могу сообразить, как настроить переадресацию в астериске на акккаунт зарегистрированный в rynga.com в случае не ответа либо недоступности внутреннего номера в астериске( на который приходит входящий вызов с модема gsm hyawei) , да и как можно подцепить в систему 2 модема с разными номерами, а то в инструкции описано только с одним?
Итог: Говорю в первый сотовый: слышу сказанное во втором сотовом, затем одновременно сказанное повторяется в обоих сотовых
в datacard.conf rxgain=0 txgain=-5
Как правильно собирать конференцию из двух сотовых телефонов на одной sim-карте и одного sip-телефона? Т.е. звоню я с sip-телефона на сотовый, после соединения хочу еще один сотовый добавить в конференцию, используя эту же симку!
Мне кто нидь поможет модем 1 штука, мегафон разлоченный, в системе виден minicom подключается и даже ответы от него получает, вот лог консоли после перезапуска астериска
Цитата:
root@voip:~# dmesg | grep ttyUSB [ 150.922086] usb 1-1: GSM modem (1-port) converter now attached to ttyUSB0 [ 150.922562] usb 1-1: GSM modem (1-port) converter now attached to ttyUSB1 [ 150.922783] usb 1-1: GSM modem (1-port) converter now attached to ttyUSB2 root@voip:~# asterisk -r Asterisk 1.6.2.17-rc1, Copyright (C) 1999 - 2010 Digium, Inc. and others. Created by Mark Spencer Asterisk comes with ABSOLUTELY NO WARRANTY; type 'core show warranty' for details. This is free software, with components licensed under the GNU General Public License version 2 and other licenses; you are welcome to redistribute it under certain conditions. Type 'core show license' for details. ========================================================================= Connected to Asterisk 1.6.2.17-rc1 currently running on voip (pid = 1746) voip*CLI> datacard show devices ID Group State RSSI Mode Submode Provider Name Model Firmware IMEI IMSI Number beeline1 1 Not connec 0 0 0 NONE Unknown
Вот конфиг datacard.conf
Цитата:
[general]
interval=15 ; Number of seconds between trying to connect to devices
;------------------------------ JITTER BUFFER CONFIGURATION -------------------------- ;jbenable = yes ; Enables the use of a jitterbuffer on the receiving side of a ; Datacard channel. Defaults to "no". An enabled jitterbuffer will ; be used only if the sending side can create and the receiving ; side can not accept jitter. The Datacard channel can't accept jitter, ; thus an enabled jitterbuffer on the receive Datacard side will always ; be used if the sending side can create jitter.
;jbforce = no ; Forces the use of a jitterbuffer on the receive side of a Datacard ; channel. Defaults to "no".
;jbmaxsize = 200 ; Max length of the jitterbuffer in milliseconds.
;jbresyncthreshold = 1000 ; Jump in the frame timestamps over which the jitterbuffer is ; resynchronized. Useful to improve the quality of the voice, with ; big jumps in/broken timestamps, usually sent from exotic devices ; and programs. Defaults to 1000.
;jbimpl = fixed ; Jitterbuffer implementation, used on the receiving side of a Datacard ; channel. Two implementations are currently available - "fixed" ; (with size always equals to jbmaxsize) and "adaptive" (with ; variable size, actually the new jb of IAX2). Defaults to fixed.
;jbtargetextra = 40 ; This option only affects the jb when 'jbimpl = adaptive' is set. ; The option represents the number of milliseconds by which the new jitter buffer ; will pad its size. the default is 40, so without modification, the new ; jitter buffer will set its size to the jitter value plus 40 milliseconds. ; increasing this value may help if your network normally has low jitter, ; but occasionally has spikes.
;jblog = no ; Enables jitterbuffer frame logging. Defaults to "no". ;-----------------------------------------------------------------------------------
[defaults] ; now you can set here any not required device settings as template ; sure you can overwrite in any [device] section this default values
;context=default ; context for incoming calls ;group=0 ; calling group ;rxgain=0 ; increase the incoming volume; may be negative ;txgain=0 ; increase the outgoint volume; may be negative ;autodeletesms=yes ; auto delete incoming sms ;resetdatacard=yes ; reset datacard during initialization with ATZ command ;u2diag=-1 ; set ^U2DIAG parameter on device (0 = disable everything except modem function) ; -1 not use ^U2DIAG command ;usecallingpres=yes ; use the caller ID presentation or not ;callingpres=allowed_passed_screen ; set caller ID presentation by default use default network settings ;disablesms=no ; disable of SMS reading from device when received ; chan_datacard has currently a bug with SMS reception. When a SMS gets in during a ; call chan_datacard might crash. Enable this option to disable sms reception. ; default = no
;language=en ; set channel default language ;smsaspdu=yes ; if 'yes' send SMS in PDU mode, feature implementation incomplete and we strongly recommend say 'yes' ;mindtmfgap=45 ; minimal interval from end of previews DTMF from begining of next in ms ;mindtmfduration=80 ; minimal DTMF tone duration in ms ;mindtmfinterval=200 ; minimal interval between ends of DTMF of same digits in ms
;callwaiting=auto ; if 'yes' allow incoming calls waiting; by default use network settings ; if 'no' waiting calls just ignored ;disable=no ; if 'yes' no load this device and just ignore this section ;exten=+1234567890 ; exten for start incoming calls, only in case of Subscriber Number not available!, also set to CALLERID(ndid)
;dtmf=relax ; control of incoming DTMF detection, possible values: ; off - off DTMF tones detection, voice data passed to asterisk unaltered ; use this value for gateways or if not use DTMF for AVR or inside dialplan ; inband - do DTMF tones detection ; relax - like inband but with relaxdtmf option ; default is 'relax' by compatibility reason
; datacard required settings [beeline1] context=from-gsm audio=/dev/ttyUSB1 ; tty port for audio connection; no default value data=/dev/ttyUSB2 ; tty port for AT commands; no default value group=1 rxgain=10 txgain=-5 resetdatacard=yes u2diag=0 autodeletesms=yes usecallingpres=yes callingpres=allowed_passed_screen ; or you can omit both audio and data together and use imei=123456789012345 and/or imsi=123456789012345 ; imei and imsi must contain exactly 15 digits ! ;imei=123456789012345 ;imsi=123456789012345
; if audio and data set together with imei and/or imsi audio and data has precedence ; you can use both imei and imsi together in this case exact match by imei and imsi required
Че ему не хватает скатине? Уже систему даже переставлял, в отчаянье ни разу трех недельного секса с линухой не было,а тут нате. Помогите а?
вы не поверите я перепробовал гору прошивок и от операторов и от сюда http://dc-files.com/ нифига не цепляется, октел видит все норм,только звука нет при входящем звонке у меня два модемы оба не работают и не видны. И твои прошивки пробовал, вот хоть че делай не хочет их подключатя и всё тут.
а версию астера другую не пробовали? у меня запустился, и уже не первый из мегафонов сначало патч,потом прошивка, затем если требуется анлок, разрешение только жсм, и отключение ненужных устройств и все пашет
возьмите один телефон в одну руку, другой в другую. позвоните с первого на второй. скажите что-нибудь. Есть эхо?
а зачем Local то делать? специально чтобы chan_datacard не понял, что его в conference на одном устройстве связали и не нужно поэтому каналы друг в друга записывать потому что там одни данные?
Начинать всегда нужно с простого originate datacard/datacard0/891111111111 Dial datacard/datacard0/conference:892222222222
А я специально купил модемы и сейчас продать их в два разра дешевле? Нормальный ход,в начале пишут что все норм все работает,покупаю модемы и сейчас мне тут не говорят как сделать так чтоб заработало, а рекомендуют их продать
Чтобы вызываемый абонент увидел ваш номер, достаточно набрать команду: *31#номер Попробывал через datacard "не правильно набран номер" хотя с сотового работает. А можно как то из dialplan AT команду на модем отправить?
Таки разобрался в чем дело. Теперь все работает. А ответ оказался простым до неприличия - USB контроллер материнки. Воткнул PCI-USB на VIA-вском чипе - поднялось с пол-пинка. Вот так. PS. А может этот модем одновременно держать 3G-соединение и работать голосом? Никто не пробовал?
Таки разобрался в чем дело. Теперь все работает. А ответ оказался простым до неприличия - USB контроллер материнки. Воткнул PCI-USB на VIA-вском чипе - поднялось с пол-пинка. Вот так. PS. А может этот модем одновременно держать 3G-соединение и работать голосом? Никто не пробовал?
Да может, но только если сеть 3g, на edge не будет.
Подскажите пожалуйста, откуда ЭХО (повтор голоса)?
Стоит Centos - Kernel 2.6.32, asterisk 1.6.2.16.1, datacard Version 1.0, Revision 284
в datacard.conf rxgain=0 txgain=-5
Звоню на один сотовый, затем добавляю второй в конференцию: originate datacard/datacard0/89111111111 application dial datacard/datacard0/conference:89222222222 Итог: Говорю в первый сотовый: слышу сказанное во втором сотовом, затем одновременно сказанное повторяется в обоих сотовых
Звоню напрямую с сотового 89111111111 на сотовый 89222222222 - Все Ок!!! - эха нет... не в сотовых телефонах bag, я с разными экспериментировал... кроме того: менял sim-карты на шлюзе, менял и сам шлюз (который на другой системе прекрасно работает)
Складывается впечатление, что когда я говорю в первый сотовый - голос доходит до второго сотового и до шлюза, далее через шлюз астериску, далее астериск заворачивает голосо обратно в шлюз, и в итоге голос расходится на два сотовых
ну тогда или rxgain=-65536 или txgain=-65536 для проверки.
chan_datacard пытается проверить что каналы связаны в conference и не нужно между ними данные гонять. в дебуг лог всё должно писаться.
Added after 7 minutes:
Так же рекомендую сделать следующий эксперимент, который фактически повторяет то, что делает астериск originate datacard/datacard0/89111111111 application dial datacard/datacard0/conference:89222222222
позвонить с телефона C на телефон A на телефоне А ответить. перевести звонок к А на телефоне С в удержание позвонить с телефона С на телефон В на телефоне В ответить на звонок на телефоне С добавить звонок А в конференцию
Создал для них [test] ... exten => conf1,1,MeetMe(001) exten => conf2,1,MeetMe(002) ...
Далее звоню на первый сотовый и соединяю его с conf1 originate datacard/datacard0/89111111111 extension conf1@test
и аналогично звоню на второй сотовый, через conference на gsm, и соединяю его с conf2 originate datacard/datacard0/conference:89222222222 extension conf2@test
В итоге все Ок - говорю на первом сотовом, голос доходит до второго - никакого повтора нет!!!
Т.е. очень похоже, получается следующее: астериск связывается внутренним каналом два Dial (соединения), при этом на стороне сотового оператора эти два вызова так же связываются conference!!!
Или с другой стороны: средствами оператора сотовой связи создается конференция из трех участников "сотовый1", "сотовый2" и "GSM-астериск" - когда говорит "сотовый1", его голос отсылается участнику "сотовый2" и участнику "GSM-астериск", далее участник "сотовый2" прекрасно слышит голос, участник "GSM-астериск" так же прекрасно его принимает, но т.к. это петля отсылает его обратно - после чего участник "сотовый1" слышит свой голос, а для участника "сотовый2" приходит повтор!!!
Можно ли как то избежать этой петли? Необходимо следующее: соединить между собой два сотовых и вести запись их разговора на астериск!
Т.е. очень похоже, получается следующее: астериск связывается внутренним каналом два Dial (соединения), при этом на стороне сотового оператора эти два вызова так же связываются conference!!!
Это в документации собственно и написано Так приятно снова америку открывать
Не делайте bridge на каналах астерикса, которые упираются в звонки GSM из которых сделана конференция и всё.
[datacard0] Got USSD type 2 'USSD Terminated by network': ''
ну ответ вам такой сеть присылает, причём тут скрипты?
Я понимаю, что сеть ) Втыкаю в телефон - отправляется нормально, из модема никак. Из соседнего в хабе е1550 отправляется нормально.
bg1 писал(а):
А сейчас он от чужого IMSI отсылает?
Да нет, не от чужого. Сейчас он отсылает то что пропишешь. А я хочу чтобы по внешней команде какой-то отправлялись смс (не из командной строки). Это в целом. А конкретно чтобы еще туда прописывался IMSI. Я пробовал коллфайлом инициировать отправку смс, но у меня не получилось, да и там же подымается звонок, только тогда получается обратиться к екстеншену, который отправляет смс. В итоге получилось через Asterisk Manager соединяться и через CLI команды отправлять. Но мне кажется это не самый хороший способ.
Подскажите пожалуйста, как вернуть вызов, который на удержании, т.е. сделать активным? Например, когда звонишь на первый сотовый, затем через conference на второй, первый вызов уходит на удержание и идет вызов на второй сотовый; но, если до второго сотового не дозвонились (или второй сотовый положил трубку) - первый сотовый получается на удержании!!!
Что мешает запустить asterisk -rx 'datacard sms datacard0 +12345678901 Hello, guy! You religion does not allow use Google' ?
.call файл через опу автогеном, но тоже никто не мешает запускать канал Local.
Спасибо за подсказку, так и сделал.
Ну а насчет E150, есть идеи почему сеть отвечает отказом на ussd запросы? Как я могу посодействовать решению проблемы? Конфиги идентичные для Е150 и Е1550.
Включаем отладку и смотрим, какие реально команды уходят в модем. вполне возможно что кодирование кривое. _________________ Свежак chan_dongle тут https://github.com/bg111/asterisk-chan-dongle/ Смена IMEI Huawei E1550 E173 E1752 K3765 http://www.e1550.mobi/ от $0,3042 за IMEI
у меня нет E150 и соответственно проверять было не на чем. если ваш код работает, я его добавляю.
Собственно: залито revision 183 fixed wrong USSD encoding on E150
Также теперь можно в DatacardStatus писать Resource в том же синтаксисе, что и для Dial(), например s:IMSI i:IMEI g:GROUP и т.п. _________________ Свежак chan_dongle тут https://github.com/bg111/asterisk-chan-dongle/ Смена IMEI Huawei E1550 E173 E1752 K3765 http://www.e1550.mobi/ от $0,3042 за IMEI
Есть 2 номера стандарта СDMA нужно организовать вх/исх связь на Aterisk нужно бюджетное решение покупать CDMA шлюз дорого (40 тыр. ) у провайдера есть такие девайсы
добрый день. прошу помощи. ubuntu 10.10+asterisk1.6+e1550 при звонке из GSM сети на e1550 DTMF не проходит (в логах пусто). в то же время если набрать на него с обычной городской линии - проходит. настройки DTMF в datachan.conf (ver. r286) не помогают....
На днях то же самое обнаружил. Похоже, просто "фроды" не спят. Причём интересно, что блокирован не приём дтмf, а передача. Звонок с другой симки решает проблему с дтмf. _________________ https://github.com/nixonch/a2billing
Это вообще-то offtopic, но можно сделать например так:
Код:
exten => s,1,NoOp(CALLERIDNUMBER = "${CALLERID(num)}", CALLERIDNAME = "${CALLERID(name)}") exten => s,n,ExecIf($[${CALLERID(num)} = x | ${CALLERID(num)} = y | ${CALLERID(num)} = z]?Dial(туда_куда_надо):Busy) ;x, y и z это номера которые ты разрешаешь
в моем случае дело не во фродах, а скорее всего в том, что DTMF при звонке GSM-GSM передается в OUTBAND т.е. в сигнализации, а драйвер datachan смотрит DTMF в INBAND? а сигнализацию игнорирует.
может быть я не так выразился, но ведиь если позвонить с мобильного на мобильный и нажимать цифры - то они слышны на другом конце, а при звонке с мобильного на e1550 подключенный к asterisk - в софтфоне dtmf посылок не слышно и соответственно если я звоню на этот e1550 с целью использовать либо какой нибудь IVR или донабрать внутренний номер - ничего не получается, но если набрать номер того же e1550 с городской линии - все нормально. тк DTMF проходит в inbamd режиме.
вопрос в том - можно ли добиться такого же при звонке с gsm сети на e1550+asterisk?
включаем отладку и смотрим. а также запускаем консоль и читаем почему не запускает pbx и чаще всего это maxcalls = maxload = minmemfree = _________________ Свежак chan_dongle тут https://github.com/bg111/asterisk-chan-dongle/ Смена IMEI Huawei E1550 E173 E1752 K3765 http://www.e1550.mobi/ от $0,3042 за IMEI
всё-таки не оффтопик. на драйверах от Makhutov - всё работает! хз с чем связано, в логах троки отличаются только идентефикаторами и портами/адресами. так что если кто столкнётся с тишиной при звонке - попробуйте модуль от Makhutov.
Вопрос - куда можно копнуть, всё работает с 2 gsm модемами, купленными ранее, купил сегодня абсолютно точно такой же, от МТС, e1550, разлочил, проверил на винде - звонит, dtmf работает, всё хорошо. На станции тоже работает, НО при звонке с сотика не реагирует вообще на dtmf! Пробывал отключать остальные модемы вообще и вставлять вместо старых, менять симки, юсб порты, всё одно - старые модемы работают (видят dtmf в любой конфигурации), а при звонке с сотового dtmf новый модем не видит никак, хотя остальные точно такие же модемы видят... В чем глюк? Прошивки на модемах на всех трех одинаковые:
ID Group State RSSI Mode Submode Provider Name Model Firmware IMEI IMSI Number 000101 1 Free 22 3 3 MTS RUS E1550 11.608.12.00.143 352965040XXXXX 25001511XXXXXX Unknown 000202 1 Free 23 3 3 MTS RUS E1550 11.608.12.00.143 35244504XXXXXX 25001503XXXXXX Unknown 000303 1 Free 17 0 0 MTS RUS E1550 11.608.12.00.143 35296504XXXXXX 25001650XXXXXX Unknown
вопрос - что значит mode = 3 выше, у обоих рабочих модемах оно 3, а на не рабочем ноль?
Даже перепрошил его в 11.608.14.15.311, голос идет а dtmf нет
Вообщем, помогло вот что: перевел модем в режим 2g ( AT^SYSCFG=13,1,3FFFFFFF,2,4 ), поставил прошивку Update_11_609_18_00_00_B418 и всё за работало. Остальные модемы тоже сейчас обновляю, субъективно чуточку звук стал лучше и выпадений меньше. Оба модема от МТС. Вот итог:
2777*CLI> datacard show devices ID Group State RSSI Mode Submode Provider Name Model Firmware IMEI IMSI Number 000101 1 Free 23 3 3 MTS RUS E1550 11.609.18.00.00 35296504XXXXXX 2500151100XXXX Unknown 000202 1 Free 26 3 3 MTS RUS E1550 11.609.18.00.00 35244504XXXXXX 2500150300XXXX Unknown 000303 1 Free 25 3 3 MTS RUS E1550 11.609.18.00.00 35296504XXXXXX 2500165001XXXX Unknown
спасибо за советы. Мб прошивку и не нужно было трогать, но это сделал скорее до кучи ) думаю, нужно в FAQ добавить, модем нужно ОБЯЗАТЕЛЬНО перевести в 2g, иначе не будет работать dtmf, специально проверил, остальные 2 модема были принудительно в 2g!!!
маленькая дока от кого-то (допилина), шпаргалка, чтобы потом ничего не забыть
1. Покупка модема модема Huawei E1550 (МТС) c прошивкой 11.608.12.00.143 2. Разлочка код разлочки генерируем тут (подставляем IMEI модема получаем код разлочки) http://a-zgsm.com/huawei.php 3. В Windows запускаем терминал (Гиперерминал) (Модем должен быть отключён от интернета) 4. Выставьте COM порт (Huawei Mobile Connect 3G Modem) 5. Нажимаем "Connect" 6. В нижней строке прописываем команду AT и нажимаем ENTER в ответ модем должен написать "OK" 7. Теперь вводим команду:AT^U2DIAG=0 (девайс в режиме только модем) 8. Отключаем 3g AT^SYSCFG=13,1,3FFFFFFF,2,4 (только GPRS/EDGE), если этого не сделать, не будет работать dtmf! 9. Отсоединяем модем и снова подсоединяем 10. Установка Asterisk из исходников и так далее
imho нет смысла плодить сущности в виде инициализации отдельными командами.
и настройки u2diag и syscfg сохраняются после выключения модема. это значит их нужно выполнять только однократно.
полезным я считаю удаление из конфига u2diag и замена его initcmd куда можно будет вставлять любые команды в одной строке. Это универсальное решение.
p.s. в wiki и в README.txt описаны полезные команды.
Added after 2 hours 12 minutes:
Вопрос возник, сколько в реальности можно поставить модемов в одном месте, с какими расстояниями друг от друга с каким вспомогательным оборудованием чтобы не возникало существенной интерференции? _________________ Свежак chan_dongle тут https://github.com/bg111/asterisk-chan-dongle/ Смена IMEI Huawei E1550 E173 E1752 K3765 http://www.e1550.mobi/ от $0,3042 за IMEI
Односторонняя слышимость, может уже обсуждалось, нужен совет. CentOS 5.5, ядро 2.6.36, Asterisk 1.8.2.3 chan_datacard: Datacard Channel Driver, Version 1.0, Revision 286
Модем E1550 был куплен в Мегафоне (в МТС и Билайне уже продают только ZTE), был разлочен и активирован голос, установлена прошивка 11.609.18.00.00, также переведен в режим только модема.
При исходящих звонках не слышно абонента А, при входящих не слышно абонента Б.
Также при входящих вижу
Код:
WARNING[3073]: channel.c:973 channel_indicate: [Datacard/datacard0-0100000002] Don't know how to indicate condition 22
В чем может быть дело?
С версией Asterisk 1.6.2.16.1 картина та же самая..
попробуйте включить отладку и посмотреть что происходит. на варнинг индикация 22 можно забить я думаю, особенно если он есть и при удачном звонке. _________________ Свежак chan_dongle тут https://github.com/bg111/asterisk-chan-dongle/ Смена IMEI Huawei E1550 E173 E1752 K3765 http://www.e1550.mobi/ от $0,3042 за IMEI
# uname -a Linux 2.6.36 #1 SMP Tue Feb 1 16:47:19 MSK 2011 i686 i686 i386 GNU/Linux
Код:
datacard show devices ID Group State RSSI Mode Submode Provider Name Model Firmware IMEI IMSI Number datacard0 0 Free 17 5 4 MTS-RUS E1550 11.609.18.00.00 xxxxxxxxxxxx xxxxxxxxxxx Unknown
В здании стоят репитеры. Первый комп у первого, второй - у второго. Какие репитеры я не знаю, ибо не мои, но стоят точно - мобильник ловит всегда. И время от времени я вижу "GSM not re". Ресеты - бестолку. Если упал gsm, то не может поймать еще минут 20, а потом после первого прошедшего звонка снова падает в "GSM not ready". А мобильник с той же симкой ловит нормально и ничего не теряет. Почему такое может получаться? Версия datacard: Version 1.0, Revision 286 На предыдущих прошивках и предыдущих chan_datacard глюк появлялся с одной и той же периодичностью.
p.s. гуглил на "GSM not re" - один топик в немецких интернетах.
Added after 11 minutes:
UPD: У меня лично есть догадка, как всегда: 1. может что-то с каналами у репитера / оператора? 2. модемы воткнуты 4 в 1 хаб, 2 в мать, во втором случае - все с бортовых usb 3. модемы дерутся? 4. гм, интерференция, дифракция, они ж типа рядом)
Что касается драчек из-за близкой расположенности модемов - это можно проверить при помощи шнура, но он должен быть короткий и экранированный, а то с метровыми оно не работает. Объект далеко, паять на месте не представляется возможным, вообще эта догадка адекватна?)
да уже все перепробовал, разные прошивки, линуксы и ядра, версии астера и datacard, лучший результат это отличное качество голоса в одну сторону. При этом:
Код:
ID Group State RSSI Mode Submode Provider Name Model Firmware IMEI IMSI Number datacard0 0 Free 18 3 3 MTS RUS E1550 11.609.18.00.00 xxxxxxxxxxxxxxxx xxxxxxxxxxxxxx Unknown
Изменился дебаг при таких звонках, прикладываю, возможно поможет что-то прояснить, много сообщений такого вида:
Код:
DEBUG[2816]: res_rtp_asterisk.c:1204 ast_rtp_write: No remote address on RTP instance '0xb9b6ef0' so dropping frame
DEBUG[2746]: chan_sip.c:7215 sip_alloc: Allocating new SIP dialog for cc6557e6-473d7665@192.168.0.104 - INVITE (No RTP) DEBUG[2746]: chan_sip.c:3780 __sip_ack: Stopping retransmission on 'cc6557e6-473d7665@192.168.0.104' of Response 101: Match Found DEBUG[2746]: rtp_engine.c:344 ast_rtp_instance_new: Using engine 'asterisk' for RTP instance '0xb9b6ef0' DEBUG[2746]: res_rtp_asterisk.c:472 ast_rtp_new: Allocated port 13590 for RTP instance '0xb9b6ef0' DEBUG[2746]: rtp_engine.c:353 ast_rtp_instance_new: RTP instance '0xb9b6ef0' is setup and ready to go DEBUG[2746]: res_rtp_asterisk.c:2370 ast_rtp_prop_set: Setup RTCP on RTP instance '0xb9b6ef0' == Using SIP RTP CoS mark 5 DEBUG[2746]: chan_sip.c:4683 do_setnat: Setting NAT on RTP to Off DEBUG[2746]: rtp_engine.c:535 ast_rtp_codecs_payloads_set_m_type: Setting payload 8 based on m type on 0xb350b490 DEBUG[2746]: rtp_engine.c:535 ast_rtp_codecs_payloads_set_m_type: Setting payload 101 based on m type on 0xb350b490 DEBUG[2746]: rtp_engine.c:638 ast_rtp_codecs_payload_formats: Incorporating payload 8 on 0xb350b490 DEBUG[2746]: rtp_engine.c:638 ast_rtp_codecs_payload_formats: Incorporating payload 101 on 0xb350b490 DEBUG[2746]: res_rtp_asterisk.c:2391 ast_rtp_remote_address_set: Setting RTCP address on RTP instance '0xb9b6ef0' DEBUG[2746]: chan_sip.c:21317 handle_request_invite: Checking SIP call limits for device 100 DEBUG[2816]: pbx.c:4067 pbx_extension_helper: Launching 'Dial' -- Executing [XXXXXX@local:1] Dial("SIP/100-00000001", "Datacard/datacard0/XXXXXX") in new stack DEBUG[2816]: rtp_engine.c:1387 ast_rtp_instance_early_bridge_make_compatible: Can't find native functions for channel 'Datacard/datacard0-0100000001' DEBUG[2816]: rtp_engine.c:1446 ast_rtp_instance_early_bridge_make_compatible: Seeded SDP of 'Datacard/datacard0-0100000001' with that of 'SIP/100-00000001' DEBUG[2816]: channel.c:5900 ast_channel_inherit_variables: Not copying variable DIALEDTIME. DEBUG[2816]: channel.c:5900 ast_channel_inherit_variables: Not copying variable ANSWEREDTIME. DEBUG[2816]: channel.c:5900 ast_channel_inherit_variables: Not copying variable DIALEDPEERNAME. DEBUG[2816]: channel.c:5900 ast_channel_inherit_variables: Not copying variable DIALEDPEERNUMBER. DEBUG[2816]: channel.c:5900 ast_channel_inherit_variables: Not copying variable DIALSTATUS. DEBUG[2816]: channel.c:5900 ast_channel_inherit_variables: Not copying variable SIPCALLID. DEBUG[2816]: channel.c:5900 ast_channel_inherit_variables: Not copying variable SIPDOMAIN. DEBUG[2816]: channel.c:5900 ast_channel_inherit_variables: Not copying variable SIPURI. DEBUG[2816]: channel.c:210 channel_call: [datacard0] Calling datacard0/XXXXXX on Datacard/datacard0-0100000001 -- Called datacard0/XXXXXX DEBUG[2816]: channel.c:5018 set_format: Set channel Datacard/datacard0-0100000001 to read format slin DEBUG[2816]: channel.c:5018 set_format: Set channel SIP/100-00000001 to write format slin DEBUG[2816]: channel.c:5018 set_format: Set channel SIP/100-00000001 to read format slin DEBUG[2816]: channel.c:5018 set_format: Set channel Datacard/datacard0-0100000001 to write format slin DEBUG[2767]: at_response.c:220 at_response_ok: [datacard0] ATD sent successfully for call id 1 DEBUG[2767]: at_response.c:629 at_response_orig: [datacard0] ORIG Received call_index: 1 call_type 0 DEBUG[2767]: channel.c:1000 change_channel_state: [datacard0] call idx 1 mpty 0, change state from 'initialize' to 'dialing' has channel DEBUG[2667]: channel.c:915 channel_devicestate: Checking device state for device datacard0 -- Datacard/datacard0-0100000001 is making progress passing it to SIP/100-00000001 DEBUG[2816]: chan_sip.c:10921 transmit_response_with_sdp: Setting framing from config on incoming call DEBUG[2816]: chan_sip.c:10567 add_sdp: ** Our capability: 0x8 (alaw) Video flag: True Text flag: True DEBUG[2816]: chan_sip.c:10568 add_sdp: ** Our prefcodec: 0x0 (nothing) DEBUG[2816]: res_rtp_asterisk.c:1239 ast_rtp_write: Ooh, format changed from unknown to alaw DEBUG[2816]: res_rtp_asterisk.c:1270 ast_rtp_write: Created smoother: format: alaw ms: 20 len: 160 DEBUG[2816]: res_rtp_asterisk.c:1140 ast_rtp_raw_write: Starting RTCP transmission on RTP instance '0xb9b6ef0' DEBUG[2767]: at_response.c:230 at_response_ok: [datacard0] AT^DDSETEX sent successfully DEBUG[2767]: at_response.c:288 at_response_ok: [datacard0] Volume level synchronized DEBUG[2767]: at_response.c:803 at_response_conn: [datacard0] CONN Received call_index 1 call_type 0 DEBUG[2767]: channel.c:1000 change_channel_state: [datacard0] call idx 1 mpty 0, change state from 'dialing' to 'active' has channel DEBUG[2767]: channel.c:1063 change_channel_state: [datacard0] Remote end answered on call idx 1 DEBUG[2667]: channel.c:915 channel_devicestate: Checking device state for device datacard0 -- Datacard/datacard0-0100000001 answered SIP/100-00000001 DEBUG[2816]: chan_sip.c:6028 sip_answer: SIP answering channel: SIP/100-00000001 DEBUG[2816]: chan_sip.c:10921 transmit_response_with_sdp: Setting framing from config on incoming call DEBUG[2816]: chan_sip.c:10567 add_sdp: ** Our capability: 0x8 (alaw) Video flag: True Text flag: True DEBUG[2816]: chan_sip.c:10568 add_sdp: ** Our prefcodec: 0x0 (nothing) DEBUG[2816]: channel.c:942 channel_indicate: [Datacard/datacard0-0100000001] Requested indication 20 DEBUG[2746]: chan_sip.c:3780 __sip_ack: Stopping retransmission on 'cc6557e6-473d7665@192.168.0.104' of Response 102: Match Found DEBUG[2746]: rtp_engine.c:535 ast_rtp_codecs_payloads_set_m_type: Setting payload 8 based on m type on 0xb350b490 DEBUG[2746]: rtp_engine.c:535 ast_rtp_codecs_payloads_set_m_type: Setting payload 101 based on m type on 0xb350b490 DEBUG[2746]: rtp_engine.c:638 ast_rtp_codecs_payload_formats: Incorporating payload 8 on 0xb350b490 DEBUG[2746]: rtp_engine.c:638 ast_rtp_codecs_payload_formats: Incorporating payload 101 on 0xb350b490 DEBUG[2746]: res_rtp_asterisk.c:2391 ast_rtp_remote_address_set: Setting RTCP address on RTP instance '0xb9b6ef0' DEBUG[2746]: res_rtp_asterisk.c:2391 ast_rtp_remote_address_set: Setting RTCP address on RTP instance '0xb9b6ef0' DEBUG[2746]: chan_sip.c:10921 transmit_response_with_sdp: Setting framing from config on incoming call DEBUG[2746]: chan_sip.c:10567 add_sdp: ** Our capability: 0x8 (alaw) Video flag: True Text flag: True DEBUG[2746]: chan_sip.c:10568 add_sdp: ** Our prefcodec: 0x0 (nothing) DEBUG[2816]: channel.c:942 channel_indicate: [Datacard/datacard0-0100000001] Requested indication 16 -- Started music on hold, class 'default', on Datacard/datacard0-0100000001 DEBUG[2816]: channel.c:3402 ast_settimeout: Scheduling timer at (50 requested / 50 actual) timer ticks per second DEBUG[2816]: channel.c:942 channel_indicate: [Datacard/datacard0-0100000001] Requested indication 20 DEBUG[2816]: res_rtp_asterisk.c:1204 ast_rtp_write: No remote address on RTP instance '0xb9b6ef0' so dropping frame DEBUG[2816]: res_rtp_asterisk.c:1204 ast_rtp_write: No remote address on RTP instance '0xb9b6ef0' so dropping frame DEBUG[2816]: res_rtp_asterisk.c:1204 ast_rtp_write: No remote address on RTP instance '0xb9b6ef0' so dropping frame DEBUG[2746]: chan_sip.c:3780 __sip_ack: Stopping retransmission on 'cc6557e6-473d7665@192.168.0.104' of Response 103: Match Found DEBUG[2816]: res_musiconhold.c:337 ast_moh_files_next: Datacard/datacard0-0100000001 Opened file 0 '/var/lib/asterisk/moh/macroform-cold_day' DEBUG[2816]: res_rtp_asterisk.c:1204 ast_rtp_write: No remote address on RTP instance '0xb9b6ef0' so dropping frame DEBUG[2816]: res_rtp_asterisk.c:1204 ast_rtp_write: No remote address on RTP instance '0xb9b6ef0' so dropping frame DEBUG[2816]: res_rtp_asterisk.c:1204 ast_rtp_write: No remote address on RTP instance '0xb9b6ef0' so dropping frame DEBUG[2816]: res_rtp_asterisk.c:1204 ast_rtp_write: No remote address on RTP instance '0xb9b6ef0' so dropping frame DEBUG[2816]: res_rtp_asterisk.c:1204 ast_rtp_write: No remote address on RTP instance '0xb9b6ef0' so dropping frame DEBUG[2816]: res_rtp_asterisk.c:1204 ast_rtp_write: No remote address on RTP instance '0xb9b6ef0' so dropping frame DEBUG[2816]: res_rtp_asterisk.c:1204 ast_rtp_write: No remote address on RTP instance '0xb9b6ef0' so dropping frame DEBUG[2816]: res_rtp_asterisk.c:1204 ast_rtp_write: No remote address on RTP instance '0xb9b6ef0' so dropping frame DEBUG[2816]: res_rtp_asterisk.c:1204 ast_rtp_write: No remote address on RTP instance '0xb9b6ef0' so dropping frame DEBUG[2816]: res_rtp_asterisk.c:1204 ast_rtp_write: No remote address on RTP instance '0xb9b6ef0' so dropping frame DEBUG[2816]: res_rtp_asterisk.c:1204 ast_rtp_write: No remote address on RTP instance '0xb9b6ef0' so dropping frame DEBUG[2816]: res_rtp_asterisk.c:1204 ast_rtp_write: No remote address on RTP instance '0xb9b6ef0' so dropping frame DEBUG[2816]: res_rtp_asterisk.c:1204 ast_rtp_write: No remote address on RTP instance '0xb9b6ef0' so dropping frame DEBUG[2816]: res_rtp_asterisk.c:1204 ast_rtp_write: No remote address on RTP instance '0xb9b6ef0' so dropping frame DEBUG[2816]: res_rtp_asterisk.c:1204 ast_rtp_write: No remote address on RTP instance '0xb9b6ef0' so dropping frame DEBUG[2816]: res_rtp_asterisk.c:1204 ast_rtp_write: No remote address on RTP instance '0xb9b6ef0' so dropping frame DEBUG[2816]: res_rtp_asterisk.c:1204 ast_rtp_write: No remote address on RTP instance '0xb9b6ef0' so dropping frame DEBUG[2816]: res_rtp_asterisk.c:1204 ast_rtp_write: No remote address on RTP instance '0xb9b6ef0' so dropping frame DEBUG[2816]: res_rtp_asterisk.c:1204 ast_rtp_write: No remote address on RTP instance '0xb9b6ef0' so dropping frame DEBUG[2816]: res_rtp_asterisk.c:1204 ast_rtp_write: No remote address on RTP instance '0xb9b6ef0' so dropping frame DEBUG[2816]: res_rtp_asterisk.c:1204 ast_rtp_write: No remote address on RTP instance '0xb9b6ef0' so dropping frame DEBUG[2816]: res_rtp_asterisk.c:1204 ast_rtp_write: No remote address on RTP instance '0xb9b6ef0' so dropping frame DEBUG[2816]: res_rtp_asterisk.c:1204 ast_rtp_write: No remote address on RTP instance '0xb9b6ef0' so dropping frame DEBUG[2816]: res_rtp_asterisk.c:1204 ast_rtp_write: No remote address on RTP instance '0xb9b6ef0' so dropping frame DEBUG[2816]: res_rtp_asterisk.c:1204 ast_rtp_write: No remote address on RTP instance '0xb9b6ef0' so dropping frame DEBUG[2816]: res_rtp_asterisk.c:1204 ast_rtp_write: No remote address on RTP instance '0xb9b6ef0' so dropping frame DEBUG[2816]: res_rtp_asterisk.c:1204 ast_rtp_write: No remote address on RTP instance '0xb9b6ef0' so dropping frame DEBUG[2816]: res_rtp_asterisk.c:1204 ast_rtp_write: No remote address on RTP instance '0xb9b6ef0' so dropping frame DEBUG[2816]: res_rtp_asterisk.c:1204 ast_rtp_write: No remote address on RTP instance '0xb9b6ef0' so dropping frame DEBUG[2816]: res_rtp_asterisk.c:1204 ast_rtp_write: No remote address on RTP instance '0xb9b6ef0' so dropping frame DEBUG[2816]: res_rtp_asterisk.c:1204 ast_rtp_write: No remote address on RTP instance '0xb9b6ef0' so dropping frame DEBUG[2816]: res_rtp_asterisk.c:1204 ast_rtp_write: No remote address on RTP instance '0xb9b6ef0' so dropping frame DEBUG[2816]: res_rtp_asterisk.c:1204 ast_rtp_write: No remote address on RTP instance '0xb9b6ef0' so dropping frame DEBUG[2816]: res_rtp_asterisk.c:1204 ast_rtp_write: No remote address on RTP instance '0xb9b6ef0' so dropping frame DEBUG[2816]: res_rtp_asterisk.c:1204 ast_rtp_write: No remote address on RTP instance '0xb9b6ef0' so dropping frame DEBUG[2816]: res_rtp_asterisk.c:1204 ast_rtp_write: No remote address on RTP instance '0xb9b6ef0' so dropping frame DEBUG[2816]: res_rtp_asterisk.c:1204 ast_rtp_write: No remote address on RTP instance '0xb9b6ef0' so dropping frame DEBUG[2816]: res_rtp_asterisk.c:1204 ast_rtp_write: No remote address on RTP instance '0xb9b6ef0' so dropping frame DEBUG[2816]: res_rtp_asterisk.c:1204 ast_rtp_write: No remote address on RTP instance '0xb9b6ef0' so dropping frame DEBUG[2816]: res_rtp_asterisk.c:1204 ast_rtp_write: No remote address on RTP instance '0xb9b6ef0' so dropping frame DEBUG[2816]: res_rtp_asterisk.c:1204 ast_rtp_write: No remote address on RTP instance '0xb9b6ef0' so dropping frame DEBUG[2816]: res_rtp_asterisk.c:1204 ast_rtp_write: No remote address on RTP instance '0xb9b6ef0' so dropping frame DEBUG[2816]: res_rtp_asterisk.c:1204 ast_rtp_write: No remote address on RTP instance '0xb9b6ef0' so dropping frame DEBUG[2816]: res_rtp_asterisk.c:1204 ast_rtp_write: No remote address on RTP instance '0xb9b6ef0' so dropping frame DEBUG[2816]: res_rtp_asterisk.c:1204 ast_rtp_write: No remote address on RTP instance '0xb9b6ef0' so dropping frame DEBUG[2816]: res_rtp_asterisk.c:1204 ast_rtp_write: No remote address on RTP instance '0xb9b6ef0' so dropping frame DEBUG[2816]: res_rtp_asterisk.c:1204 ast_rtp_write: No remote address on RTP instance '0xb9b6ef0' so dropping frame DEBUG[2816]: res_rtp_asterisk.c:1204 ast_rtp_write: No remote address on RTP instance '0xb9b6ef0' so dropping frame DEBUG[2816]: res_rtp_asterisk.c:1204 ast_rtp_write: No remote address on RTP instance '0xb9b6ef0' so dropping frame DEBUG[2816]: res_rtp_asterisk.c:1204 ast_rtp_write: No remote address on RTP instance '0xb9b6ef0' so dropping frame DEBUG[2816]: res_rtp_asterisk.c:1204 ast_rtp_write: No remote address on RTP instance '0xb9b6ef0' so dropping frame DEBUG[2816]: res_rtp_asterisk.c:1204 ast_rtp_write: No remote address on RTP instance '0xb9b6ef0' so dropping frame DEBUG[2816]: res_rtp_asterisk.c:1204 ast_rtp_write: No remote address on RTP instance '0xb9b6ef0' so dropping frame DEBUG[2816]: res_rtp_asterisk.c:1204 ast_rtp_write: No remote address on RTP instance '0xb9b6ef0' so dropping frame DEBUG[2816]: res_rtp_asterisk.c:1204 ast_rtp_write: No remote address on RTP instance '0xb9b6ef0' so dropping frame DEBUG[2816]: res_rtp_asterisk.c:1204 ast_rtp_write: No remote address on RTP instance '0xb9b6ef0' so dropping frame DEBUG[2816]: res_rtp_asterisk.c:1204 ast_rtp_write: No remote address on RTP instance '0xb9b6ef0' so dropping frame DEBUG[2816]: res_rtp_asterisk.c:1204 ast_rtp_write: No remote address on RTP instance '0xb9b6ef0' so dropping frame DEBUG[2816]: res_rtp_asterisk.c:1204 ast_rtp_write: No remote address on RTP instance '0xb9b6ef0' so dropping frame DEBUG[2816]: res_rtp_asterisk.c:1204 ast_rtp_write: No remote address on RTP instance '0xb9b6ef0' so dropping frame DEBUG[2816]: res_rtp_asterisk.c:1204 ast_rtp_write: No remote address on RTP instance '0xb9b6ef0' so dropping frame DEBUG[2816]: res_rtp_asterisk.c:1204 ast_rtp_write: No remote address on RTP instance '0xb9b6ef0' so dropping frame DEBUG[2816]: res_rtp_asterisk.c:1204 ast_rtp_write: No remote address on RTP instance '0xb9b6ef0' so dropping frame DEBUG[2816]: res_rtp_asterisk.c:1204 ast_rtp_write: No remote address on RTP instance '0xb9b6ef0' so dropping frame DEBUG[2816]: res_rtp_asterisk.c:1204 ast_rtp_write: No remote address on RTP instance '0xb9b6ef0' so dropping frame DEBUG[2816]: res_rtp_asterisk.c:1204 ast_rtp_write: No remote address on RTP instance '0xb9b6ef0' so dropping frame DEBUG[2816]: res_rtp_asterisk.c:1204 ast_rtp_write: No remote address on RTP instance '0xb9b6ef0' so dropping frame DEBUG[2816]: res_rtp_asterisk.c:1204 ast_rtp_write: No remote address on RTP instance '0xb9b6ef0' so dropping frame DEBUG[2816]: res_rtp_asterisk.c:1204 ast_rtp_write: No remote address on RTP instance '0xb9b6ef0' so dropping frame DEBUG[2816]: res_rtp_asterisk.c:1204 ast_rtp_write: No remote address on RTP instance '0xb9b6ef0' so dropping frame DEBUG[2816]: res_rtp_asterisk.c:1204 ast_rtp_write: No remote address on RTP instance '0xb9b6ef0' so dropping frame DEBUG[2767]: at_response.c:734 at_response_cend: [datacard0] CEND: call_index 1 duration 9 end_status 104 cc_cause 16 Line disconnected DEBUG[2767]: channel.c:1000 change_channel_state: [datacard0] call idx 1 mpty 0, change state from 'active' to 'released' has channel -- Stopped music on hold on Datacard/datacard0-0100000001 DEBUG[2816]: channel.c:3402 ast_settimeout: Scheduling timer at (0 requested / 0 actual) timer ticks per second DEBUG[2816]: channel.c:6823 ast_generic_bridge: Didn't get a frame from channel: Datacard/datacard0-0100000001 DEBUG[2816]: channel.c:7280 ast_channel_bridge: Bridge stops bridging channels SIP/100-00000001 and Datacard/datacard0-0100000001 DEBUG[2816]: channel.c:2733 ast_hangup: Hanging up channel 'Datacard/datacard0-0100000001' DEBUG[2667]: channel.c:915 channel_devicestate: Checking device state for device datacard0 DEBUG[2667]: channel.c:915 channel_devicestate: Checking device state for device datacard0 DEBUG[2816]: app_dial.c:2713 dial_exec_full: Exiting with DIALSTATUS=ANSWER. DEBUG[2816]: pbx.c:4752 __ast_pbx_run: Spawn extension (local,XXXXXX,1) exited non-zero on 'SIP/100-00000001' == Spawn extension (local, XXXXXX, 1) exited non-zero on 'SIP/100-00000001' DEBUG[2816]: channel.c:2605 ast_softhangup_nolock: Soft-Hanging up channel 'SIP/100-00000001' DEBUG[2816]: channel.c:2733 ast_hangup: Hanging up channel 'SIP/100-00000001' DEBUG[2816]: chan_sip.c:5827 sip_hangup: Hangup call SIP/100-00000001, SIP callid cc6557e6-473d7665@192.168.0.104 DEBUG[2816]: res_rtp_asterisk.c:2391 ast_rtp_remote_address_set: Setting RTCP address on RTP instance '0xb9b6ef0' DEBUG[2746]: chan_sip.c:3780 __sip_ack: Stopping retransmission on 'cc6557e6-473d7665@192.168.0.104' of Request 102: Match Found DEBUG[2746]: rtp_engine.c:292 instance_destructor: Destroyed RTP instance '0xb9b6ef0'
Помогите решить проблему с дублированием dtmf символов. Провел следующий эксперимент. Сначала в файле datacard.conf установил параметры: rxgain=0 txgain=-3 Перезапустил asterisk. Проверил достоверность определения dtmf донабора. Проскакивают дубированные символы. С заглушенным микрофоном у мобильного намного стабильнее, но все равно ошибки появляются.
Решил поиграться с уровнями. Сразу взял и заглушил один канал: rxgain=0 txgain=-100 Звук в наушнике телефона пропал, но все равно сыпятся дубли при наборе. Меняю уровень в другом канале: rxgain=-100 txgain=-3 Сигнал пропал с микрофона, но должного эффекта это не дало... Кто знает, где уровень сигнала dtmf регулируется?
Подскажите, как сделать чтобы модем, на котором идет разговор, при втором входящем вызове поставил текущий звонок в режим ожидания и переключился на новый? Чувствую, что ответ очень прост, на найти не могу )
Всем доброго дня. Так сказать уже не первых год воюем с проблемой и все как-то не успешно.
Суть проблемы: сигналы распознаются не уверенно, большей частью пропадают (реже дублируются). Особенно страдают цифры 1 и 5. Обратили внимание (долгое время на форум не заглядывал) что в конфигурации появились опции выставления таймеров dtmf. Начали крутить, но без толку, в итоге поставил все значения равными 1 и все равно ситуация не изменилась, в общем появилось ощущение что как-то нет реации на конфиг в части dtmf вообще.
о том что стоит Asterisk 1.6.2.15 Датакарта взята из svn 2 февраля (ревизию не помню). Slackware 12.0.0
Ради эксперимента указал еще в разделе датакарты значения txgain и rxgain равными -65000 и звук не пропал. в общем чертовщина какая-то. (вариант что правлю не тот файл не предлагать, файл тот).
Пушкин и Лермонтов приблизительно так же позиционировались, когда Дантес и Мартынов размышляли о жизни.
В свете выше процитированного, bg1, подскажи пожалуйста, возможно ли при пропадании связи с модемом, программно (дописав код естественно) из модуля определять причину, в частности, что питание с юсб-порта снято? Если да, то возможно ли в твоём модуле chan_datacard поставить модем, который был последний раз подключен к такому порту в импровизированный стоп-лист и опрашивать порт на предмет подачи питания? Или приказать твоему "discovery" не искать на отключенных от питания портах до включения оных? Если есть другие программные мысли, помоги разобраться. Хотелось бы помочь сообществу, проложить к твоему прижизненному памятнику ещё и незарастающую народную тропу, чтоб в частности выше "намечтанные" тобою девушки не блукали _________________ https://github.com/nixonch/a2billing
Последний раз редактировалось: nixon (Вт Фев 08, 2011 07:20)
Конечно свободен. Только в каком модуле производится преобразование dtmf? И для вас не секрет, что эхо появляется из-за акустической обратной связи. Вспомните микрофон и усилитель с динамиками... Если поиграть с этим уровнем думаю можно эту проблему устранить навсегда.
Пушкин и Лермонтов приблизительно так же позиционировались, когда Дантес и Мартынов размышляли о жизни.
В свете выше процитированного, bg1, подскажи пожалуйста, возможно ли при пропадании связи с модемом, программно (дописав код естественно) из модуля определять причину, в частности, что питание с юсб-порта снято? Если да, то возможно ли в твоём модуле chan_datacard поставить модем, который был последний раз подключен к такому порту в импровизированный стоп-лист и опрашивать порт на предмет подачи питания? Или приказать твоему "discovery" не искать на отключенных от питания портах до включения оных? Если есть другие программные мысли, помоги разобраться. Хотелось бы помочь сообществу, проложить к твоему прижизненному памятнику ещё и незарастающую народную тропу, чтоб в частности выше "намечтанные" тобою девушки не блукали
imho нет никакой причины нагружать программный модуль, цель которого - передача голоса между asterisk и dongle какими-то экстремальными и несвойственными ему функциями.
питание с портов хаба само по себе не пропадает. в 17 раз повторяю, что я не вижу вообще никаких проблем, если перед сбросом питания сделать stop модему. все необходимые команды мною добавлены.
Т.е. питание снимается внешней для chan_datacard сущностью, эта самая сущность и отвественна за то, чтобы chan_datacard не использовал модем в моменты столь экстримального некорректного питания. Любой иниксоид за 20 минут и $5 исправит ваш скрипт по "управлению" питанием.
Пока что проблема выглядит следующим образом.
1) hub_ctl не выключает в реальности модем, а даёт ему весьма некорректный уровень питания. при этом файлы USB serial для такого модема могут быть доступны в том числе и по записи для chan_datacard
2) discovery chan_datacard видит указанные порты и даёт в них команды. Но при таком уровне питания модем по таинственным причинам ответа не даёт. Т.к. на ожидание ответа есть таймаут, который для ранней версии discovery составлял 2000 ms а ныне 500 ms. chan_datacard будет ждать от модема ответа за указанное время.
3) При этом будут наложены блокировки, как на структуры устройства для которого выполняется discovery так и на список этих устройств, по которым производится обход раз в datacard.conf/interval
Это не позволяет получить результат команд datacard show devices или произвести поиск устройства для dial.
Список будет блокирован пока не будет произведён обход по всем устройствам. И если вы "выключили" 30 модемов, до 30*0.5 = 15 секунд ваш список будет заблокирован для других операций. В этом момент Dial будет ожидать освобождения списка устройств.
4) после этого время указанное в interval discovery производится не будет.
Added after 50 minutes:
Искать однако будет 30*30 * 0.5 секунд, так как ищет для каждого устройства на каждом возможном порту. _________________ Свежак chan_dongle тут https://github.com/bg111/asterisk-chan-dongle/ Смена IMEI Huawei E1550 E173 E1752 K3765 http://www.e1550.mobi/ от $0,3042 за IMEI
; Answer on waiting call activate this call and place any other active calls
Ну соответственно и не работает GotoIf, по скольку статус сначала incoming, а потом active. Если по первой линии разъединиться, модем cпокойно цепляет вторую, но надо чтобы он просто переключался. В любом случае что-то не так с выдачей статуса.
И я так и не понял, нужно GotoIf делать на Answer() или куда?
по идее, если ожидающему ответить то активный должен уйти в Hold всё до безобразия просто.
Это я понимаю. В том то и суть, что ожидающего нет, состояние канала не меняется при появлении ожидающего.
И еще раз повторю вопрос, допустим, у нас стал отображаться статус waiting. На какое приложение отправлять-то, чтобы он ответил ожидающей линии? Просто Answer()?
А вот mindtmfgap=1 mindtmfduration=1 mindtmfinterval=2 Написано
минимальное время между концом одного символа DTMF и началом другого символа DTMF 1msec минимальная продолжительность символа DTMF 1msec минимальное время между концом одного символа DTMF и концом другого символа DTMF 1 msec Другими словами - никаких практических ограничений на DTMF нет.
Вы вообще понимает что тут пишите?
terminal писал(а):
в r290 через AMI команда DatacardShowDevices выводит повторно значения: Audio: Data: IMEI: IMSI:
в предыдущем релизе этого не было.
посмотрите аналог: datacard show device state datacard show device settings
выводит IMEI/IMSI 2 раза но это разные вещи одно настройки второе состояние.
Вообще говоря загляните в manager.c
yogar писал(а):
Это я понимаю. В том то и суть, что ожидающего нет, состояние канала не меняется при появлении ожидающего.
И еще раз повторю вопрос, допустим, у нас стал отображаться статус waiting. На какое приложение отправлять-то, чтобы он ответил ожидающей линии? Просто Answer()?
Расжёвываю всё по полочкам.
АКСИОМА # 0 На каждый звонок пофигу исходящий, входящий, ожидающий он или нет создаётся СВОЙ канал астериска.
ВЫВОДЫ: 1) Когда раздаётся второй звонок, создаётся новый канал астериска и запускается PBX с того же контекста и экстена, что и для первого.
2) Состояние первого канала от это НИКАК не меняется. Меняется состояние устройства.
3) Если вы делает Answer на канале, который waiting тогда на ЭТОТ звонок производится ответ. Он становится активным. А другие звонки отправляются в состояние Hold Четаем etc/extensions.conf RTFM
4) Бесполезно ждать на первом канале когда он перейдёт в waiting состояние. Он может быть только active или hold и ничем другим, потому что второй звонок - это ДРУГОЙ канал астериска.
Короче говоря: один модем - много каналов.
Ещё раз, прошу всех сначала прочитать существующую документацию, о том КАК ЭТО РАБОТАЕТ, а уже потом начинать экспериментировать. _________________ Свежак chan_dongle тут https://github.com/bg111/asterisk-chan-dongle/ Смена IMEI Huawei E1550 E173 E1752 K3765 http://www.e1550.mobi/ от $0,3042 за IMEI
Найден модем : E173 Модель : Huawei E173 IMEI : xxxxxxxxxxxxxxxxxxxxx Серийный № : xxxxxxxxxxxxxxxxxx Версия прошивки : 11.126.85.00.209 Дата/время компиляции : Jun 21 2010 20:27:27 Версия Dashboard : UTPS11.302.09.15.209_MAC16.001.09.08.209_LNX16.001.09.08.209 Chipset : Qualcomm MSM6290 Голосовые функции : Включено Статус SIM блокировки : Блокировано (Card Lock)
Голос включен по-умолчанию, после разблокировки и перевода брелка в режим только модема, результаты тестов: Голос + (в обе стороны, проблем нет) SMS + (и принимает и отправляет) USSD - (приходит пустой ответ, даже при условии что ответ ожидается в транслите).
P.S. может тоже важно, под крышкой на модеме написано Model: E173u-1
Парни, извините, что вмешиваюсь. Последние 25 страниц не могу осилить.
Собираю chan_datacard из http://code.google.com/p/datacard/. На * 1.8.2.3 не работают исходящие звонки. На chan_datacard-175-1.8 всё норм, но это же устаревшая версия, верно? Как заставить работать версию из SVN?
А вот mindtmfgap=1 mindtmfduration=1 mindtmfinterval=2 Написано
минимальное время между концом одного символа DTMF и началом другого символа DTMF 1msec минимальная продолжительность символа DTMF 1msec минимальное время между концом одного символа DTMF и концом другого символа DTMF 1 msec Другими словами - никаких практических ограничений на DTMF нет.
Вы вообще понимает что тут пишите? .............................................................................................................
Думаю человек понимает, что пишет. Он спрашивал про другое. Почему нет реакции на изменения?
ВЫВОДЫ: 1) Когда раздаётся второй звонок, создаётся новый канал астериска и запускается PBX с того же контекста и экстена, что и для первого.
2) Состояние первого канала от это НИКАК не меняется. Меняется состояние устройства.
Спасибо за разъяснения, однако проблема все равно не решилась, так как новый канал не создается при втором звонке. Callwaiting само собой включен, и в трубке сообщается, что телефон говорит по другой линии, ожидайте.
Вывод core show channels verbose в этот момент:
Channel Context Extension Prio State Application Data CallerID Duration Accountcode PeerAccount BridgedTo Datacard/datacard0-0 datacard s 5 Up Wait 3 +7XXXXXXXXXX 00:00:58 (None) 1 active channel 1 active call 11 calls processed
Что делать если выдает такие ошибки и ето нормально если я сотру ети сроки
make gcc -Wextra -fPIC -DAST_MODULE=\"chan_datacard\" -D_THREAD_SAFE -I. -I/usr/include -O2 -DICONV_CONST="" -D__DEBUG__ -D__MANAGER__ -D__APP__ -c chan_datacard.c In file included from chan_datacard.c:73: chan_datacard.h:270: error: unknown field ‘target_extra’ specified in initializer chan_datacard.h:270: warning: excess elements in struct initializer chan_datacard.h:270: warning: (near initialization for ‘jbconf_default’) In file included from chan_datacard.c:89: __channel.c: In function ‘channel_indicate’: __channel.c:849: error: ‘AST_CONTROL_SRCCHANGE’ undeclared (first use in this function) __channel.c:849: error: (Each undeclared identifier is reported only once __channel.c:849: error: for each function it appears in.) make: *** [chan_datacard.o] Error 1
а он у тебя точно на те же порты прицепляется то ? и попробуй ему minicom или подобным команды дать... _________________ Свежак chan_dongle тут https://github.com/bg111/asterisk-chan-dongle/ Смена IMEI Huawei E1550 E173 E1752 K3765 http://www.e1550.mobi/ от $0,3042 за IMEI
Возможно, поможет поможет приложение SendDTMF, но не уверен, надо проверять. exten => 111,1,Dial(Datacard/g1/${EXTEN} exten => 111,n,Answer exten => 111,n,SendDTMF(w2)
channel.c: DTMF begin '4' received on Datacard/datacard6-0100000002 channel.c: DTMF begin ignored '4' on Datacard/datacard6-0100000002
и так по кругу.
chan_datacard не имеет к этому ни малейшего отношения chan_datacard может отрезать только AST_FRAME_DTMF_END и при этом в debug сообщает, что то типа
[datacard0] DTMF char %c ignored .....
Added after 2 minutes:
Гена писал(а):
Возможно, поможет поможет приложение SendDTMF, но не уверен, надо проверять. exten => 111,1,Dial(Datacard/g1/${EXTEN} exten => 111,n,Answer exten => 111,n,SendDTMF(w2)
приложение не поможет.
после Dial ничего не выполняется (если не указанно опций)
Приключилась жуткая проблемма Был сервер на UBUNTU 8.04 , asterisk 1.6.2.13 и все работало просто идеально Вдруг умер жесткий диск, а под рукой был только Дебиан Ленни ( машинка та же , только другой ЖД) Все установил, настроил, но .. звук стал жутко булькать. Подскажите , в чем может быть проблема,
Мне это сказал астериск с datacard Махутова, который 4 месяца подряд у меня прекрасно звонил с такой конструкцией, а после обновления на версию 1.8 с Вашим datacard'ом, вдруг перестал. И, кстати, при чем тут телефон. Команда-то модемная.
Added after 6 minutes:
Гена писал(а):
Да, действительно, конструкция exten => 111,1,Dial(Datacard/g1/${EXTEN},,rD(wwwwww2)) срабатывает. Только нужно с паузой поиграться.
String of dialing digits and optionally V.25ter modifiers (dialing digits): 0-9, * , #, +, A, B, C V.25ter modifiers: these are ignored: ,(comma), T, P, !, W, @
Отсюда мораль: w должно игнорироваться модемом Короче говоря нестандарт и не будет реализовано.
если не нулевое то должно применятся. если больше нуля то умножает каждый семпл на это значение. если меньше нуля то делит т.к. на 1 что умножать что делить бессмысленно эти значения игнорируются. _________________ Свежак chan_dongle тут https://github.com/bg111/asterisk-chan-dongle/ Смена IMEI Huawei E1550 E173 E1752 K3765 http://www.e1550.mobi/ от $0,3042 за IMEI
Это мы от своего пролетарского происхождения так делаем и сталкиваемся с подобного рода проблемами... На мой взгляд необходимо сделать отдельную плату с ARM процессором и GSM модулями с возможностью наращивания. Переписать Asterisk, т.е. сделать его упрощенный аналог. Какой он сейчас в большинстве случаев такой не нужен. Но этот проект неподъемен для одного или нескольких человек-энтузиастов. Для этого необходима большая команда разработчиков.
А как? Люди, давайте фотки. Интересно посмотреть кто как сделал. Ну согласитесь тот тип красиво сделал. Но у него наверно денег валом если он SSD ставит.
Красиво-красиво. А комментарий человека с немецкого можно перевести? А то я не силён
DeLock центров Я могу только сказать, что у меня те же проблемы, поэтому я сейчас Я сам построил решение, с небольшой микроконтроллера ATtiny2313 все управляется через RS232. Преимущество решение начать в высоком не прилипают к USB только если система до UMTS палочки активных каждые 5 секунд, придерживаться так hinzugeschalten также гарантирует, что всегда же связи ttyUSB использовать. на 4 часов, сброс палочки все работает теперь в течение 2 недель без проблем
Суть не меняется. Ищу переводчика с гугловского на русский.
Тут ребята такие умные собрались. Никто не хочет над подобными вещами заниматься, получать неплохие деньги, и все в Одессе , на берегу Черного Моря. Мы в деле уже более 5 лет.
Суть не меняется. Ищу переводчика с гугловского на русский.
человек приделал дополнительный контроллер, который управляется по ком-порту и умеет перезагружать модемы.
Added after 1 minutes:
Galaxy писал(а):
Это мы от своего пролетарского происхождения так делаем и сталкиваемся с подобного рода проблемами... На мой взгляд необходимо сделать отдельную плату с ARM процессором и GSM модулями с возможностью наращивания. Переписать Asterisk, т.е. сделать его упрощенный аналог.
А может кто подсказать, есть ли в chan_datacard аналог параметра callevents ? Мне нужно в операторской панели (Flash operator panel) отображать звонящий GSM канал. Так же, как отображаются СИП-каналы И ещё, может, было уже, но есть ли возможность выполнять действие по занятости канала GSM-модема? Сразу 2 разговора ведь не получится вести?
товарищи как вам [url=http://habrahabr.ru/blogs/development/113878/ ] идея [/url] только написатить скрипт чтоб локально проверял на каждом свистке баланс
А может кто подсказать, есть ли в chan_datacard аналог параметра callevents ? Мне нужно в операторской панели (Flash operator panel) отображать звонящий GSM канал. Так же, как отображаются СИП-каналы И ещё, может, было уже, но есть ли возможность выполнять действие по занятости канала GSM-модема? Сразу 2 разговора ведь не получится вести?
хз как, но в manager события шлются непосредственно из chan_datacard наверное ещё ядро умеет статус канала отдавать.
Почитал какие страсти про hub-ctrl пишут ... Хочу вам сказать, что как только не "мучал" я эти брелочки hub-ctrl'ом - жертв нету. (А вы уж мне поверьте, перед тем, как в продакшн поставить, я дотошно всё тестирую, да и перед тем как в вики писать - тоже). По поводу "особого мнения" в wiki
Цитата:
Проведённые Paco эксперименты с использованием Dlink DUB H-7 показали, что hub-ctrl -p 0 понижает напряжение только до уровня 1.47V. При этом после вставки модема в такой "выключенный порт" светодиод не моргает, однако файлы /dev/ttyUSBx для данного модема в системе появляются. Они даже могут быть открыты. Однако запись команд и чтение ответов из этого порта не заканчиваются успехом.
При подключении брелка в выключеный порт никаких новых файлов не появляется (А вот при выключении порта hub-ctrl'ом файлы брелка не удаляются, при этом действительно datacard еще пытается отдавать команды через файлы устройства, при этом сыпяться ошибки как от datacard так и от драйвера option. При включении старые файлы удаляются, создаются новые (смотреть вывод udevadm monitor), всё становится нормально, с устройствами всё хорошо - не ссать! ) В примечаниях про уровень напряжения написано. ИМХО: hub-ctrl инструмент интересный, но ввиду стабильной работы последних ревизий datacard'a - он не очень-то актуальный, последний раз у меня модем передёргивался hub-ctrl'ом около месяца назад.
Немец, смастеривший бокс с RS232-переключалкой очень порадовал. Говорили мне, что немцы педантичны, но чтоб настолько перфекционистски собрать бокс - надо быть настоящим идеалистом!
2 bg Выражаю огромнейший вам респект за ваш вклад в datacard, за те полезные "фишки", структуризацию, и оптимизацию кода!
тогда отладка уровня 5 и смотрите что происходит. при любом входящем запускается pbx без ограничений
Делал отладку 15, без толку, точно так же как будто одна линия говорит и все. У кого заработал прием звонка на вторую линию, отзовитесь. Может опять что-то типичное для этих модемов? Смотрел-смотрел в исходники, так и не понял.
Заведомо рабочие прошивки модема E 1550 (firmware - не путать с dashboard): МТС 11.608.12.00.143 11.608.14.15.311 ссылка на прошивку http://depositfiles.com/ru/files/sz0ljt8q4
При попытке перешить прога пишет "The source version isn't compatible with the target version, before updating, please input the password:". Что в качестве кода вводить ?
Пробовал Flash, но прошить не удалось (вроде процесс пошел, потом система начала писать об обнаружении устройства, заново модем нашла и прога выдала update failure). Прошивка была: 11.608.14.11.174 (15.174_boot). Собственно, она и осталась...
Оператор какой? У меня есть два модема: от МТС и Киевстара (Украина). Оба не прошиваются "рекомендованной" прошивкой, похожи на 11.608.14.11.174 (точно не помню, но могу посмотреть) и отлично работают без каких-либо перепрошивок.
При звонке через него с астериска звонок ни куда не уходит, при звонке через него на астериск связь рвется через несколько секунд. В обоих случаях инициализация датакарда начинается заново.
toldi Я занимался любовью с прошивкой от МТС порядка 30 часов. Нормально не прошились никакими прошивками, они просто не принимались. Бросил все разлочки нафиг. Использую родные, с родными карточками. Под Лайф покупал незалоченный. Именно незалоченный, а не разлоченный. Киевстар, Билайн прошивается отлично.
Какие прошивки были не помню, уже месяцев пять прошло. А сейчас модемы стоят в 48 км от меня, посмотреть какие поставил не представляется возможным (там только лини, а виндозы нет вообще)
Какие прошивки были не помню, уже месяцев пять прошло. А сейчас модемы стоят в 48 км от меня, посмотреть какие поставил не представляется возможным (там только лини, а виндозы нет вообще)
AT+CGMR
Added after 1 hours 3 minutes:
Без астериска (через minicom), кстати, тоже звонить не хочет: на ATDTномер "NO CARRIER" выдает. Но входящие звонки принять можно, и AT+CPAS и ATA отрабатывают без проблем. И ничего не отваливается, только ничего не слышно ессно А из под винды все нормально в обе стороны (родная звонилка от КС с патченым PluginsConfig.xml).
Вопрос снят. Дело было в USB-портах на машинке с астериском. Переставил винт с системой с тестовой машинки на свою рабочую и стало все ок (прошивка осталась 11.608.14.11.174). Правда так и не ясно осталось, почему же не удалось модем перепрошить...
не позволяет подключить 3-й модем (datacard2) , который "сидит" на ttyUSB7, ttyUSB8 т.е. вне зависимости от модели модема и симки, тот, который стоит в ( ttyUSB7, ttyUSB8) драйвер не видит (
четвертый модем (datacard3) "воткнуть" позволяет и работает с ним нормально
Кто-нибудь сталкивался с вопросом переадресации с мобильного? Например, звонит модем на чей то мобильник. Человек поднимает, говорит, потом нажимает *10, звонок уходит на сип-номер 10.
у некоторых истерика от того, что дисковер подвисает на таких портах
... которая вызывает психоз у тех, кто не может вкурить почему виснущий модуль утягивает за собой в пучину всё ПО.
Added after 12 minutes:
rovud писал(а):
Кто-нибудь сталкивался с вопросом переадресации с мобильного?
Постоянно использую. Очень удобно. Настройка перевода звонков общая, т.е. ничем не отличается от перевода с внутреннего номера и с любого другого, который соединён через воип сервак. _________________ https://github.com/nixonch/a2billing
Asterisk 1.6.2.15 ошибка в chan_datacard 1.0.r290 т.е. вне зависимости от модели модема и симки, тот, который стоит в ( ttyUSB7, ttyUSB8) драйвер не видит (
это сакральные буддийские числа, на них никогда по праздникам модемы не работают )
Цитата:
... которая вызывает психоз у тех, кто не может вкурить почему виснущий модуль утягивает за собой в пучину всё ПО.
мне фиолетово на чужое ПО
Анекдот (по случаю 23.02): Сисадмин на сборах с АК-74 на 100м промахивается все 10 раз. Прапор его материт. Сисадмин смотрит на дуло, пожимает плечами: "От меня пули вылетели, проблемы на вашей стороне". _________________ Свежак chan_dongle тут https://github.com/bg111/asterisk-chan-dongle/ Смена IMEI Huawei E1550 E173 E1752 K3765 http://www.e1550.mobi/ от $0,3042 за IMEI
Анекдот (по случаю 23.02): Сисадмин на сборах с АК-74 на 100м промахивается все 10 раз. Прапор его материт. Сисадмин смотрит на дуло, пожимает плечами: "От меня пули вылетели, проблемы на вашей стороне".
наверное у оператора call waiting забанен или за плату и даже запрос не разрешён. поставьте callwaiting=auto или вообще уберите его. _________________ Свежак chan_dongle тут https://github.com/bg111/asterisk-chan-dongle/ Смена IMEI Huawei E1550 E173 E1752 K3765 http://www.e1550.mobi/ от $0,3042 за IMEI
Когда идёт входящий звонок на телефоне отображается с какого datacard он поступил. Например datacard0 В если сделать dump разговора то видно что asterisk отдаёт: From: "datacard0"
Как можно сделать что бы asterisk отдавал наподобие From: "+7922xxx44xx
По поводу настроек телефона что бы он отображал номер D-Link ответил:
Цитата:
Ни как. Это не реализовано в прошивке. А т.к. рев а снимается с производства, то добавлять в текущую прошивку новые функции вендор не будет. P.S. большинство ip телефон (любых вендеров) в качестве caller id используют информацию только из поля "sip display info".
Установлены:
Код:
Asterisk 1.6.2.12-rc1 chan_datacard: Datacard Channel Driver, Version 1.0, Revision 286
PS: Огромное спасибо разработчикам за такой хороший модуль _________________
Улетели деньги с симки. У оператора выяснил, что деньги сняты за звонок в такое-то время на такой-то номер длительностью ~40мин.
В офисе стоит Ubuntu 10.10, Asterisk 1.6, FREEPBX 2.8, chan_datacard (Махутова), два E1550. Звонки на мобильные маршрутизируются на любой свободный E1550.
В CDR видно, что в это время на этот номер пытались дозвониться (dstchannel = Datacard/KS-1... , duration = 27, billsec = 0, disposition = NO ANSWER). Получается в офисе подождали ответа 27 сек. и положили трубку. Потом еще 7 раз на этот номер шли звонки, но уже с dstchannel = Datacard/KS-2 (asterisk наверное видел, что dstchannel = Datacard/KS-1 занят), billsec = 0, disposition = NO ANSWER. Через 40 минут человек, которому звонили, вернулся в офис. И оказалось, что его телефон в кармане "сам" с кем-то разговаривает. Можно предположить, что человек случайно в кармане "ответил" на звонок.
У меня вот тоже стала появляться проблема, которая была у других. Т.е. периодически один из трёх модемов показывает GSM not registered. Кто знает причины этого и как с этим бороться? bg, ты писал как то
Подскажите пожалуйста, можно ли создать второй вызов-конференцию, на одной сим-карте, с помощью комманды (посланной на модем), а не организацией Dial(...conference:...) ? Т.е. проделать следующее: сначала Dial(datacard/datacard0/9111111111), после того как вызов состоялся, с помощью комманды, с datacard0 позвонить на 9222222222 и объединить в конференцию.
И немного усложняя, возможно ли следующее: сначала Dial(datacard/datacard0/9111111111), после того, как вызов состоялся, выполнить Dial(datacard/datacard0/9222222222), первый вызов уходит на удержание, после разговора на втором вызове, послать комманду на datacard0 объединяющую оба вызова в конференцию.
а прямой засыл команды в модем через datacard cmd 1) не работает прямо с диалплана 2) может привести к неопределённому результату _________________ Свежак chan_dongle тут https://github.com/bg111/asterisk-chan-dongle/ Смена IMEI Huawei E1550 E173 E1752 K3765 http://www.e1550.mobi/ от $0,3042 за IMEI
используя опцию conference в Dial-е создается второй канал (ненужный) с астериском, с которым непонятно что делать.
Хотелось бы что-то такое: 1. web-интерфейс на котором видно состояние datacard0 2. Совершается вызов через datacard0, на web-видно - активна 1 линия вызов на номер 9111111111 3. В web-интерфейсе указываем второй номер телефона 9222222222 и нажимаем кнопку "Конференция" - далее скрипт посылает комманду через астериск (например, asterisk -rx datacard0 cmd ...) в datacard0 - далее вызов и конференция... 4. В случае неответа или если один из участников отвалился, оставшиеся линия уходит на удержание - это так же видно на web - клик мыши по линии (в web-интерфесе) устанавливает ее в активное состояние
Практически вся реализация встала из-за комманды "вызов-конференция"!
на самом деле ведь chan_datacard тож должен комманду посылать как на совершение вызова так и на "conference"...
используя опцию conference в Dial-е создается второй канал (ненужный) с астериском, с которым непонятно что делать.
следуя вашей логике каждый второй канал астериска ненужный. ну зачем одному разговору целых два а то и больше канала?
IT-Kudesnik писал(а):
Хотелось бы что-то такое: 1. web-интерфейс на котором видно состояние datacard0 2. Совершается вызов через datacard0, на web-видно - активна 1 линия вызов на номер 9111111111 3. В web-интерфейсе указываем второй номер телефона 9222222222 и нажимаем кнопку "Конференция" - далее скрипт посылает комманду через астериск (например, asterisk -rx datacard0 cmd ...) в datacard0 - далее вызов и конференция... 4. В случае неответа или если один из участников отвалился, оставшиеся линия уходит на удержание - это так же видно на web - клик мыши по линии (в web-интерфесе) устанавливает ее в активное состояние
Практически вся реализация встала из-за комманды "вызов-конференция"!
на самом деле ведь chan_datacard тож должен комманду посылать как на совершение вызова так и на "conference"...
Скажите, в какую сторону копать. Астериск и датакард последних версий( 2.8.3, ревизия 193). Заметил странную штуку, что DTMF распознается гораздо лучше при callback, чем при прямом звонке на модем. Можно по поводу этого что-нибудь покрутить?
Последний раз редактировалось: Boris2777 (Вт Мар 01, 2011 20:13)
От bg1 Revision 296. Pаньше такой надписи не встречал:
-- Executing [0yyyyyyyyy@default:3] Dial("IAX2/datacard00-4177", "Datacard/s:2xxxxxxxxxxxxxx/0yyyyyyyyy") in new stack [Mar 2 11:05:56] WARNING[1659]: channel.c:4307 ast_request: No translator path exists for channel type Datacard (native 0x40) to 0x1 [Mar 2 11:05:56] WARNING[1659]: app_dial.c:1759 dial_exec_full: Unable to create channel of type 'Datacard' (cause 58 - Bearer capability not available) == Everyone is busy/congested at this time (1:0/0/1)
datacard show devices показывает, что с модемами всё в порядке. Куда копать?
Далее вывод debug. Алгоритм звонков такой, сначала звоню с +7XXXXXXXX на симку в модеме, поднимается трубка, идет звонок. Потом звоню туда же с номера +7YYYYYYYYYY, сообщается что номер занят вызовом, ожидайте. Ну и соответстdенно ничего не происходит. Когда ложу трубку по активной линии, соединяется с +7YYYYYYYYYY.
[Mar 2 15:26:29] DEBUG[9515] at_response.c: [datacard0] AT+CCWA? sent successfully [Mar 2 15:26:39] DEBUG[9515] at_response.c: [datacard0] AT sent successfully [Mar 2 15:26:43] DEBUG[9515] at_response.c: [datacard0] CLCC callidx 1 dir 1 state 4 mode 0 mpty 0 number +79039596307 type 145 [Mar 2 15:26:43] DEBUG[9515] cpvt.c: [datacard0] create cpvt for call_idx 1 dir 1 state 'incoming' [Mar 2 15:26:43] DEBUG[9515] at_response.c: [datacard0] AT+CLCC sent successfully [Mar 2 15:26:43] DEBUG[9524] pbx.c: Launching 'Answer' [Mar 2 15:26:43] DEBUG[9486] channel.c: Checking device state for device datacard0 [Mar 2 15:26:43] DEBUG[9486] devicestate.c: Changing state for Datacard/datacard0 - state 2 (In use) [Mar 2 15:26:43] DEBUG[9486] devicestate.c: device 'Datacard/datacard0' state '2' [Mar 2 15:26:43] DEBUG[9520] app_queue.c: Device 'Datacard/datacard0' changed to state '2' (In use) but we don't care because they're not a member of any queue. [Mar 2 15:26:43] DEBUG[9524] channel.c: [Datacard/datacard0-0100000000] Requested indication -1 [Mar 2 15:26:43] DEBUG[9515] at_response.c: [datacard0] Volume level synchronized [Mar 2 15:26:43] DEBUG[9515] at_response.c: [datacard0] ATA sent successfully for call id 1 [Mar 2 15:26:43] DEBUG[9515] at_response.c: [datacard0] AT^DDSETEX sent successfully [Mar 2 15:26:44] DEBUG[9524] channel.c: Didn't receive a media frame from Datacard/datacard0-0100000000 within 500 ms of answering. Continuing anyway [Mar 2 15:26:44] DEBUG[9524] pbx.c: Launching 'Wait' [Mar 2 15:26:44] DEBUG[9515] at_response.c: [datacard0] CONN Received call_index 1 call_type 0 [Mar 2 15:26:44] DEBUG[9515] channel.c: [datacard0] call idx 1 mpty 0, change state from 'incoming' to 'active' has channel [Mar 2 15:26:44] DEBUG[9515] channel.c: [datacard0] Call idx 1 answer [Mar 2 15:26:44] DEBUG[9515] at_response.c: [datacard0] CLCC callidx 1 dir 1 state 0 mode 0 mpty 0 number +7XXXXXXXXXX type 145 [Mar 2 15:26:44] DEBUG[9515] at_response.c: [datacard0] AT+CLCC sent successfully [Mar 2 15:26:59] DEBUG[9515] at_response.c: [datacard0] CLCC callidx 1 dir 1 state 0 mode 0 mpty 0 number +7XXXXXXXXXX type 145 [Mar 2 15:26:59] DEBUG[9515] at_response.c: [datacard0] AT+CLCC sent successfully [Mar 2 15:27:04] DEBUG[9515] at_response.c: [datacard0] CLCC callidx 1 dir 1 state 0 mode 0 mpty 0 number +7XXXXXXXXXX type 145 [Mar 2 15:27:04] DEBUG[9515] at_response.c: [datacard0] AT+CLCC sent successfully [Mar 2 15:27:05] DEBUG[9515] at_response.c: [datacard0] CEND: call_index 1 duration 21 end_status 104 cc_cause 16 Line disconnected [Mar 2 15:27:05] DEBUG[9515] channel.c: [datacard0] call idx 1 mpty 0, change state from 'active' to 'released' has channel [Mar 2 15:27:05] DEBUG[9515] cpvt.c: [datacard0] destroy cpvt for call_idx 1 dir 1 state 'released' flags 8 has channel [Mar 2 15:27:05] DEBUG[9524] pbx.c: Spawn extension (sampling,s,2) exited non-zero on 'Datacard/datacard0-0100000000' [Mar 2 15:27:05] DEBUG[9524] channel.c: Soft-Hanging up channel 'Datacard/datacard0-0100000000' [Mar 2 15:27:05] DEBUG[9524] channel.c: Hanging up channel 'Datacard/datacard0-0100000000' [Mar 2 15:27:05] DEBUG[9486] channel.c: Checking device state for device datacard0 [Mar 2 15:27:05] DEBUG[9486] devicestate.c: Changing state for Datacard/datacard0 - state 2 (In use) [Mar 2 15:27:05] DEBUG[9486] devicestate.c: device 'Datacard/datacard0' state '2' [Mar 2 15:27:05] DEBUG[9520] app_queue.c: Device 'Datacard/datacard0' changed to state '2' (In use) but we don't care because they're not a member of any queue. [Mar 2 15:27:05] DEBUG[9486] channel.c: Checking device state for device datacard0 [Mar 2 15:27:05] DEBUG[9486] devicestate.c: Changing state for Datacard/datacard0 - state 2 (In use) [Mar 2 15:27:05] DEBUG[9486] devicestate.c: device 'Datacard/datacard0' state '2' [Mar 2 15:27:05] DEBUG[9520] app_queue.c: Device 'Datacard/datacard0' changed to state '2' (In use) but we don't care because they're not a member of any queue. [Mar 2 15:27:05] DEBUG[9515] at_response.c: [datacard0] CLCC callidx 2 dir 1 state 4 mode 0 mpty 0 number +7YYYYYYYYYY type 145 [Mar 2 15:27:05] DEBUG[9515] cpvt.c: [datacard0] create cpvt for call_idx 2 dir 1 state 'incoming' [Mar 2 15:27:05] DEBUG[9515] at_response.c: [datacard0] AT+CLCC sent successfully [Mar 2 15:27:05] DEBUG[9525] pbx.c: Launching 'Answer' [Mar 2 15:27:05] DEBUG[9486] channel.c: Checking device state for device datacard0 [Mar 2 15:27:05] DEBUG[9486] devicestate.c: Changing state for Datacard/datacard0 - state 2 (In use) [Mar 2 15:27:05] DEBUG[9486] devicestate.c: device 'Datacard/datacard0' state '2' [Mar 2 15:27:05] DEBUG[9520] app_queue.c: Device 'Datacard/datacard0' changed to state '2' (In use) but we don't care because they're not a member of any queue. [Mar 2 15:27:05] DEBUG[9525] channel.c: [Datacard/datacard0-0200000001] Requested indication -1 [Mar 2 15:27:05] DEBUG[9515] at_response.c: [datacard0] ATA sent successfully for call id 2 [Mar 2 15:27:05] DEBUG[9515] at_response.c: [datacard0] AT^DDSETEX sent successfully [Mar 2 15:27:06] DEBUG[9515] at_response.c: [datacard0] CONN Received call_index 2 call_type 0 [Mar 2 15:27:06] DEBUG[9515] channel.c: [datacard0] call idx 2 mpty 0, change state from 'incoming' to 'active' has channel [Mar 2 15:27:06] DEBUG[9515] channel.c: [datacard0] Call idx 2 answer [Mar 2 15:27:06] DEBUG[9515] at_response.c: [datacard0] CLCC callidx 2 dir 1 state 0 mode 0 mpty 0 number +7YYYYYYYYYY type 145 [Mar 2 15:27:06] DEBUG[9515] at_response.c: [datacard0] AT+CLCC sent successfully [Mar 2 15:27:06] DEBUG[9525] channel.c: Didn't receive a media frame from Datacard/datacard0-0200000001 within 500 ms of answering. Continuing anyway [Mar 2 15:27:06] DEBUG[9525] pbx.c: Launching 'Wait' [Mar 2 15:27:06] DEBUG[9525] res_timing_timerfd.c: Expected to acknowledge 1 ticks but got 13 instead [Mar 2 15:27:15] DEBUG[9515] at_response.c: [datacard0] CEND: call_index 2 duration 9 end_status 104 cc_cause 16 Line disconnected [Mar 2 15:27:15] DEBUG[9515] channel.c: [datacard0] call idx 2 mpty 0, change state from 'active' to 'released' has channel [Mar 2 15:27:15] DEBUG[9515] cpvt.c: [datacard0] destroy cpvt for call_idx 2 dir 1 state 'released' flags 8 has channel [Mar 2 15:27:15] DEBUG[9525] pbx.c: Spawn extension (sampling,s,2) exited non-zero on 'Datacard/datacard0-0200000001' [Mar 2 15:27:15] DEBUG[9525] channel.c: Soft-Hanging up channel 'Datacard/datacard0-0200000001' [Mar 2 15:27:15] DEBUG[9525] channel.c: Hanging up channel 'Datacard/datacard0-0200000001' [Mar 2 15:27:15] DEBUG[9486] channel.c: Checking device state for device datacard0 [Mar 2 15:27:15] DEBUG[9486] devicestate.c: Changing state for Datacard/datacard0 - state 1 (Not in use) [Mar 2 15:27:15] DEBUG[9486] devicestate.c: device 'Datacard/datacard0' state '1' [Mar 2 15:27:15] DEBUG[9520] app_queue.c: Device 'Datacard/datacard0' changed to state '1' (Not in use) but we don't care because they're not a member of any queue. [Mar 2 15:27:15] DEBUG[9486] channel.c: Checking device state for device datacard0 [Mar 2 15:27:15] DEBUG[9486] devicestate.c: Changing state for Datacard/datacard0 - state 1 (Not in use) [Mar 2 15:27:15] DEBUG[9486] devicestate.c: device 'Datacard/datacard0' state '1' [Mar 2 15:27:15] DEBUG[9520] app_queue.c: Device 'Datacard/datacard0' changed to state '1' (Not in use) but we don't care because they're not a member of any queue. [Mar 2 15:27:15] DEBUG[9515] at_response.c: [datacard0] AT+CLCC sent successfully
И на всякий случай полный вывод datacard show device state
Device : datacard0 State : Free Audio : /dev/datacard0-1 Data : /dev/datacard0-2 Voice : Yes SMS : Yes Manufacturer : huawei Model : E150 Firmware : 11.609.82.02.161 IMEI : XXXXXXXXXXXXX IMSI : XXXXXXXXXXXXX GSM Registration Status : Registered, home network RSSI : 22, -112 dBm Mode : GSM/GPRS Submode : EDGE Provider Name : NONE Location area code : 0C8 Cell ID : A8F Subscriber Number : Unknown SMS Service Center : +7XXXXXXXXXX Use UCS-2 encoding : Yes USSD use 7 bit encoding : Yes USSD use UCS-2 decoding : No Tasks in queue : 0 Commands in queue : 0 Call Waiting : Enabled Calls/Channels : 0 Active : 0 Held : 0 Dialing : 0 Alerting : 0 Incoming : 0 Waiting : 0 Releasing : 0 Initializing : 0
Первый звонок [Mar 2 15] DEBUG[9515] cpvt.c: [datacard0] create cpvt for call_idx 1 dir 1 state 'incoming' [Mar 2 15] DEBUG[9515] channel.c: [datacard0] call idx 1 mpty 0, change state from 'incoming' to 'active' has channel [Mar 2 15] DEBUG[9515] at_response.c: [datacard0] CEND: call_index 1 duration 21 end_status 104 cc_cause 16 Line disconnected [Mar 2 15] DEBUG[9515] channel.c: [datacard0] call idx 1 mpty 0, change state from 'active' to 'released' has channel [Mar 2 15] DEBUG[9515] cpvt.c: [datacard0] destroy cpvt for call_idx 1 dir 1 state 'released' flags 8 has channel [Mar 2 15] DEBUG[9524] pbx.c: Spawn extension (sampling,s,2) exited non-zero on 'Datacard/datacard0-0100000000'
Завершается через 22 секунды. А уже потом начинается второй звонок...
[Mar 2 15] DEBUG[9515] at_response.c: [datacard0] CLCC callidx 2 dir 1 state 4 mode 0 mpty 0 number +7YYYYYYYYYY type 145 [Mar 2 15] DEBUG[9515] cpvt.c: [datacard0] create cpvt for call_idx 2 dir 1 state 'incoming'
[Mar 2 15] DEBUG[9515] channel.c: [datacard0] call idx 2 mpty 0, change state from 'incoming' to 'active' has channel [Mar 2 15] DEBUG[9515] channel.c: [datacard0] Call idx 2 answer [Mar 2 15] DEBUG[9515] at_response.c: [datacard0] CLCC callidx 2 dir 1 state 0 mode 0 mpty 0 number +7YYYYYYYYYY type 145
[Mar 2 15] DEBUG[9515] at_response.c: [datacard0] CEND: call_index 2 duration 9 end_status 104 cc_cause 16 Line disconnected [Mar 2 15] DEBUG[9515] channel.c: [datacard0] call idx 2 mpty 0, change state from 'active' to 'released' has channel [Mar 2 15] DEBUG[9515] cpvt.c: [datacard0] destroy cpvt for call_idx 2 dir 1 state 'released' flags 8 has channel
Почему первый звонок завершается то?
Added after 1 minutes:
nixon писал(а):
Приветствую, уважаемое общество!
От bg1 Revision 296. Pаньше такой надписи не встречал:
-- Executing [0yyyyyyyyy@default] Dial("IAX2/datacard00-4177", "Datacard/s:2xxxxxxxxxxxxxx/0yyyyyyyyy") in new stack [Mar 2 11] WARNING[1659]: channel.c:4307 ast_request: No translator path exists for channel type Datacard (native 0x40) to 0x1 [Mar 2 11] WARNING[1659]: app_dial.c:1759 dial_exec_full: Unable to create channel of type 'Datacard' (cause 58 - Bearer capability not available) == Everyone is busy/congested at this time (1:0/0/1)
datacard show devices показывает, что с модемами всё в порядке. Куда копать?
P.S. Перезагрузка модуля chan_datacard помогла. Но это же не метод.
Первое не имеет отношения к chan_datacard. Про второе тоже ничего не знаю.
Added after 2 minutes:
Boris2777 писал(а):
Скажите, в какую сторону копать. Астериск и датакард последних версий( 2.8.3, ревизия 193). Заметил странную штуку, что DTMF распознается гораздо лучше при callback, чем при прямом звонке на модем. Можно по поводу этого что-нибудь покрутить?
Завершается через 22 секунды. А уже потом начинается второй звонок...
Почему первый звонок завершается то?
Я же написал, что ложу трубку по первой линии. Пока этого не сделать, на вторую не переключается. Ну а как только ложу, конечно сразу берет вторую трубку.
Ок, выложу лог туда. Но если трубку не ложить, будет звонить пока баланс не кончится. Раз в первые 22 секунды не поменял линию, что может случиться дальше?
Поясню еще раз, чтоб совсем ясно было. Я звоню на симку в модеме, модем берет трубку. Потом, продолжая звонок, набираю с другого номера на эту симку. По первой линии звонок продолжается, во вторую трубку мне сообщается, что абонент разговаривает, ждите. Жду какое то время, ничего не меняется. Ложу трубку по первой линии, сразу же соединяется вторая, ну что и следовало ожидать. А я хочу чтобы на вторую линию переключался сразу, и при этом первую ставил в режим удержания.
Кто-нибудь тестировал новые модели модемов от Huawei ? E171 например, или еще какие которые сейчас в продажу поступают. E1550 сейчас уже сложно найти либо искать в интернете кто продаст такие модели.
Добрый день! Кто-нибудь пробовал использовать на одном сервере E1550 и E150 с исправлениями "One way voice on Huawei E150"? Действительно, E1550 трудно найти сейчас...
Есть ли возможность (или сервис такой у оператора), чтобы при вызове с модема определялся другой номер, например, городской? Короче, передавать callerid через модем
Есть ли возможность (или сервис такой у оператора), чтобы при вызове с модема определялся другой номер, например, городской? Короче, передавать callerid через модем
bg, по существу ничего - лучше не пиши У Мегафона уже есть услуга по замене callerid при отправке смс. Вполне возможно, что у них в планах и услуга по замене номера при звонке (на номер организации). Вот я и спросил, вдруг у кого уже есть опыт, может, оператор какой более фичастый
Кто-нибудь тестировал новые модели модемов от Huawei ? E171 например, или еще какие которые сейчас в продажу поступают. E1550 сейчас уже сложно найти либо искать в интернете кто продаст такие модели.
Вроде кто-то писал о работающих других моделях, выше по форуму поищите
За счёт чего скомпилированный модуль-ченел от bg1 весит в 6 раз тяжелее чем от Makhutov'a? ...ведь реального кода дописано меньше. Вопрос не праздный, т.к. в таком раскладе под всякими open-wrt и ddwrt можно даже не пытаться ставить. _________________ https://github.com/nixonch/a2billing
да вагон причин, памяти в указанный момент не хватило, к примеру, и всё.
А можно каким либо способом предотвратить это? Никакой обратной связи нет?
Я так понимаю, asterisk посылает модему команду "повесить трубку". А если модем это пропустил "мимо ушей" и продолжает "болтать", asterisk об этом не узнает?
А можно каким либо способом предотвратить это? Никакой обратной связи нет?
Я так понимаю, asterisk посылает модему команду "повесить трубку". А если модем это пропустил "мимо ушей" и продолжает "болтать", asterisk об этом не узнает?
Уважаемые гуру! Уже год бьюсь с chan_datacard. Свистки-киевстар 1550 Если не нагружать-работают отменно. Голос 5+ Но проблемма вырисовывается при загрузке. Сначала проблему не мог локализовать, а теперь стало ясно. 8 свистков, правильный хаб, питание 100% отличное. Свистки работают на исход...... примерно каждые 5 секунд через каждый из свистков астер звонит......на разные номера. Звонки проходят, двое суток полет нормальный. а теперь в этом режиме берем и с обычного мобильного звоним на один из свистков. Один раз-нормально, 2,3 - нормально........а если продолжить долбить, то оваливаются все свистки, chan_datacard вообще перестает отвечать........пока лечил полным ребутом линукса..........Интересны Ваши мысли......почему такое может происходить?
Added after 19 minutes:
кстати........на свистки грешить думаю не стоит, поскольку после падения датакарда свистки входящие звонки принимают.........длинный гудок на стороне телефона, однако астер уже свисток потерял и с ним не работает
Поделюсь одним наблюдением... Отлично слышат друг друга абоненты если позвонить с сотового на модем, пробросить звонок на другой Asterisk и выйти через такой же модем в сеть GSM. Если же входяще-исходящее соединение не выходит за пределы одного астера, то наблюдаются эффекты: неразборчивость, мямление и т.п. Какие есть идеи, уважаемое сообщество любителей датадонглкардов? _________________ https://github.com/nixonch/a2billing
Просветите насчёт RSSI ( Received Signal Strength Indication) в контексте subject-a. этот параметр зависит от физического местоположения модема. какой он оптимальный ? и что больше, к примеру: RSSI 10 или RSSI 20 ? (знак минус тут учитывается?)
dongle show device state показывает в строке RSSI через запятую силу сигнала в dBm
Added after 1 minutes:
nixon писал(а):
Поделюсь одним наблюдением... Отлично слышат друг друга абоненты если позвонить с сотового на модем, пробросить звонок на другой Asterisk и выйти через такой же модем в сеть GSM. Если же входяще-исходящее соединение не выходит за пределы одного астера, то наблюдаются эффекты: неразборчивость, мямление и т.п. Какие есть идеи, уважаемое сообщество любителей датадонглкардов?
на одном астере пробовал качество действительно ужасное, на связке не пробовал нет.
возможно какие то проблемы с взаимными блокировками, временами записи или чтения в модем.
Для теста можно попробовать развязать ещё парой каналов SIP (редиско ругается на loop) или других (IAX2)
Неужели никто не может подсказать? 1) SMS и USSD принимаются, но не пишутся в файлы. Использую chan_datacard-1.0.r310 + Elastix 2.0 с ядром 2.6.36-1. На махмутовском всё работало. 2) при звонке в дису через некоторое время после перезагрузки модем E173 перестаёт воспринимать dtmf. (E1550 в этом плане работают нормально) 3) при звонке в дису через некоторое время после перезагрузки все модемы начинают задваивать или пропускать DTMF. 4) при звонке через дису, если проходят DTMF, нет гудка.
чето у меняя под VMWare исходящие не пашут ни с dongle, ни с datacard, входящие проходят, смс-ки туда-сюда ходят.
chan_dongle: Huawei 3G Dongle Channel Driver, Version 1.1, Revision 1
все заканчивается на
Код:
Goto (macro-dialout-trunk,s,27) -- Executing [s@macro-dialout-trunk:27] Set("SIP/1001-00000003", "the_num=74999999999") in new stack -- Executing [s@macro-dialout-trunk:28] Dial("SIP/1001-00000003", "Dongle/dongle0/74999999999,300,") in new stack -- Called dongle0/74999999999 -- Dongle/dongle0-0100000004 is making progress passing it to SIP/1001-00000003
и ничего не происходит. В чем проблема?
Edit Разобрался. Проверял без звука себе на мобильный, а там механическая тетка, оказывается, уже говорит.
Поделюсь одним наблюдением... Отлично слышат друг друга абоненты если позвонить с сотового на модем, пробросить звонок на другой Asterisk и выйти через такой же модем в сеть GSM. Если же входяще-исходящее соединение не выходит за пределы одного астера, то наблюдаются эффекты: неразборчивость, мямление и т.п.
Это как? Входящий звонок на один модем делаем исходящим на другой?
Цитата:
Неужели никто не может подсказать? 1) SMS и USSD принимаются, но не пишутся в файлы. Использую chan_datacard-1.0.r310 + Elastix 2.0 с ядром 2.6.36-1. На махмутовском всё работало.
А что подсказать-то? У меня работает и на том и на другом. Ну не в файл, а в БД постгри, и не на эластиксе и ядро другое, но какая разница? смотрите права на директорию, сам скрипт, права на скрипт, вообще вызывается ли скрипт. У вас где-от ошибка.
Имеется 3шт. E171, Asterisk 1.8.4, Linux 2.6.38-bpo.2-686, chan_dongle 1.1, Revision 1
Схема входящего звонка такова: один сервер принимает звонок по GSM и передает его по IAX2 на другой сервер, где в соответствии с диалпланом при получении DTMF уходит на нужного абонента по SIP (=> chan_dongle => IAX2 => SIP)
Сервера связаны по IAX2 учетками с типом friend и trunk=yes Получается, что соединение устанавливается, DTMF донглом распознается и передается на другой сервер, все работает, звонок попадает куда надо, но когда выполняется Dial на втором сервере после получения DTMF у вызывающего абонента нет гудка. Пробовал Dial с параметром r, но не помогло. При входящем с dahdi и тем же набором DTMF гудок есть. Как вы думаете, что это может быть?
update: тоже самое происходит, когда вызываемый абонент делает трансфер, нет гудка.
Added after 3 minutes:
mfdukn писал(а):
Добрый день!
Просветите насчёт RSSI ( Received Signal Strength Indication) в контексте subject-a. этот параметр зависит от физического местоположения модема. какой он оптимальный ? и что больше, к примеру: RSSI 10 или RSSI 20 ? (знак минус тут учитывается?)
Вот в этой статье на Хабре отлично расписаны параметры сигнала RSSI и CINR.
Где то видел, что при помощи AT команды, можно сохранить номер на симку и он будет виден по datacard show devices в поле number. Не подскажете эту команду?
Решил пропробовать dongle но: #module load chan_dongle ERROR[1551]: chan_dongle.c:1667 public_state_init: Errors reading config file dongle.conf, Not loading module
Код:
[datacard0] ; now you can set here any not required device settings as template ; sure you can overwrite in any [device] section this default values
context=dongle-incoming ; context for incoming calls exten=s ; exten for start incoming calls, only in case of Subscriber Number not available!, also set to CALLERID(ndid) audio=/dev/ttyUSB1 ; tty port for audio connection data=/dev/ttyUSB2 ; tty port for AT commands group=0 ; calling group rxgain=3 ; increase the incoming volume; may be negative txgain=3 ; increase the outgoint volume; may be negative autodeletesms=yes ; auto delete incoming sms resetdongle=yes ; reset dongle during initialization with ATZ command u2diag=0 ; set ^U2DIAG parameter on device (0 = disable everything except modem function) ; -1 not use ^U2DIAG command usecallingpres=yes ; use the caller ID presentation or not callingpres=allowed_passed_screen ; set caller ID presentation by default use default network settings disablesms=no ; disable of SMS reading from device when received ; chan_dongle has currently a bug with SMS reception. When a SMS gets in during a ; call chan_dongle might crash. Enable this option to disable sms reception. ; default = no language=en ; set channel default language smsaspdu=yes ; if 'yes' send SMS in PDU mode, feature implementation incomplete and we strongly recommend say 'yes' mindtmfgap=45 ; minimal interval from end of previews DTMF from begining of next in ms mindtmfduration=80 ; minimal DTMF tone duration in ms mindtmfinterval=200 ; minimal interval between ends of DTMF of same digits in ms callwaiting=auto ; if 'yes' allow incoming calls waiting; by default use network settings ; if 'no' waiting calls just ignored disable=no ; OBSOLETED by initstate: if 'yes' no load this device and just ignore this section initstate=start ; specified initial state of device, must be one of 'stop' 'start' 'remote' ; 'remove' same as 'disable=yes' dtmf=relax ; control of incoming DTMF detection, possible values: ; off - off DTMF tones detection, voice data passed to asterisk unaltered ; use this value for gateways or if not use DTMF for AVR or inside dialplan ; inband - do DTMF tones detection ; relax - like inband but with relaxdtmf option ; default is 'relax' by compatibility reason
Че не так?
Added after 13 minutes:
Есть. Простая опечатка.
BG, в дистре в /etc лежит файл dondle.conf Ну знаешь что делать
Added after 12 minutes:
Еще. фирмваре 11.608.14.11.222 Каждые ровно 25сек брелок отваливается и снова подключается. И чем там такое тикает непонятно. Фирмваре 11.608.14.11.174 стал как вкопаный Все при инициализации выдают [May 19 20:18:39] ERROR[2798]: at_response.c:119 at_response_ok: [datacard0] Received unexpected 'OK' [May 19 20:18:42] ERROR[2798]: at_response.c:119 at_response_ok: [datacard0] Received unexpected 'OK' [May 19 20:18:46] ERROR[2798]: at_response.c:119 at_response_ok: [datacard0] Received unexpected 'OK'
Убунту десктоп 10.04-2, Ядро 2.6.32-31, Asterisk 1.6.2.18. без наворотов. E1550
Где то видел, что при помощи AT команды, можно сохранить номер на симку и он будет виден по datacard show devices в поле number. Не подскажете эту команду?
Граждане, подскажите, почему у меня при Custom Dial String: datacard/datacard0/$OUTNUM$ вызов превращается в трикбоксе в Executing [3@ext-trunk:1] Set("IAX2/3333-4859", "TDIAL_STRING=datacard/datacard0/\\$\\{OUTNUM\\}") in new stack
Чё-то у меня e173 с режиме 2G_Only практически не работает, сваливается в State "GSM NOT READY". Включаю в 3G_only - работает. Есть у кого такое же? _________________ Debian Lenny, Asterisk 1.8, chan_dongle, chan_ooh323
только сегодня е173 поставил, сразу его в режим - modem 2G only, automatic search any band, no roaming вроде часа 3 уже нормально работатет, нагрузка не очень большая правда
Поправил, сообщения в 70 русских букв (включая пробелы) уходят и нормально доходят.
также уходит сообщение в 74 русские буквы (включая 5 пробелов), но приходит получателю пустая СМС
Торопливое кодирование. Пробел и латинский символ один байт занимает, русская буква - два. Считать надо не байты, а символы. Давайте сделаем по правилам:
Имеется 3шт. E171, Asterisk 1.8.4, Linux 2.6.38-bpo.2-686, chan_dongle 1.1, Revision 1
Схема входящего звонка такова: один сервер принимает звонок по GSM и передает его по IAX2 на другой сервер, где в соответствии с диалпланом при получении DTMF уходит на нужного абонента по SIP (=> chan_dongle => IAX2 => SIP)
Сервера связаны по IAX2 учетками с типом friend и trunk=yes Получается, что соединение устанавливается, DTMF донглом распознается и передается на другой сервер, все работает, звонок попадает куда надо, но когда выполняется Dial на втором сервере после получения DTMF у вызывающего абонента нет гудка. Пробовал Dial с параметром r, но не помогло. При входящем с dahdi и тем же набором DTMF гудок есть. Как вы думаете, что это может быть?
update: тоже самое происходит, когда вызываемый абонент делает трансфер, нет гудка.
Сузил проблему, сделал простенький диалплан, в dongle.conf прописан context=incoming
Так вот, после проигрывания beep, в тот момент, когда выполняется Dial, вызывающая сторона не слышит гудка вызова. Совсем уже замучался, что проверить?
Added after 1 minutes:
OrNix писал(а):
Чё-то у меня e173 с режиме 2G_Only практически не работает, сваливается в State "GSM NOT READY". Включаю в 3G_only - работает. Есть у кого такое же?
проверите - добавлю. а то с простой заменой 70 на 140 не совсем красиво бы получилось. Патч рекомендую выложить в code.google.
Вообще по хорошему оттуда нужно выпиливать iconv целиком и добавлять все 3 кодировки внутри. Добавлена возможность слать PDU, снаружи его гораздо проще сформировать со всеми полями... _________________ Свежак chan_dongle тут https://github.com/bg111/asterisk-chan-dongle/ Читайте, дополняйте wiki http://wiki.e1550.mobi/ Смена IMEI Huawei E1550 E173 E1752 K3765 http://www.e1550.mobi/ от $1,521 за IMEI
"Радостно" обнаружена невозможность одновременной работы частоколом расположенных модемов. Облазил инет-магазины на предмет коротких шнурков-usb-удлинителей. Где купить короткие на 15-20см? _________________ https://github.com/nixonch/a2billing
А частокол это сколько? Я шнурки такие тоже искал - не нашел. Я вот думаю надо вместо шнурков плату печатную развести сразу с хабами, перезагрузкой свистков по питанию и блок питания хороший к ней присобачить.
"Радостно" обнаружена невозможность одновременной работы частоколом расположенных модемов. Облазил инет-магазины на предмет коротких шнурков-usb-удлинителей. Где купить короткие на 15-20см?
у меня по первой 12 модемов впритык работали..пришлось даже корпуса разбирать модемов чтоб умещались..и ничего..работали..правда вылеты часто бывали..в среднем вылетов 5-8 на модем в сутки..но сами востанавливались через минуту.., сейчас в обющей сложности 32 модема, 12 друг на дружке лежат через шнурки 1.8м остальные на плате распаяны и через хабы запитаны, ни на одном из свистков зависаний более чем 2 раза в сутки лог не показывает. Так что скорее всего может у тебя питание хиленькое, или с железом не то что-то.
Никаких вылетов, питание отличное, RSSI больше 20. Всего 6 модемов Е1550 в ряд. Но нагрузка не единичная - очень часто по 3-4 одновременно вещают. И тут-то и начинаются проблемы, похожие на заход в лифт, подвал и т.п. Но модемы, то стоят в хабе на подоконнике. По опыту - достаточно проредить через одного юсб-шнурками и проблемы нет. Hо хочется hardwire short usb cable AM-FM по типу как к 3G-роутерам в комплекте идут. 3 таких жестких шнурка по 2 юсд меня бы устроили.
To bg1: Уж не те годы, чтобы так непродуктивно тратить время на паять, лудить, травить в единичном экз. С удовольствием заплачу за помощь. _________________ https://github.com/nixonch/a2billing
Последний раз редактировалось: nixon (Пт Май 20, 2011 22:39)
Нарекание - неудовлетворительный внешний вид. Нарекание - на длинных шнурках отказоустойчивость понижается на 100%. Нарекание - неудобство эксплуатации.
Added after 32 minutes:
Попался тут серв. на Фре, а модемы без нормального таймера не пашут. Как на фрях timerfd поднимается? _________________ https://github.com/nixonch/a2billing
если ты прочитаешь сам пост то поймёшь что одновременно модемы не звонят. у него управляющая система раскидывает звонки по времени и расположению. я тебе могу напихать больше и сфотать, это не значит что это будет работать. модемы дают существенный наводки даже на хаб из которого торчат.
экранированный кабель с прозрачной оболочкой 1м примерно работает. 1.8м тощинький дал голос в одну сторону.
Added after 3 minutes:
nixon писал(а):
Попался тут серв. на Фре, а модемы без нормального таймера не пашут. Как на фрях timerfd поднимается?
Следую логике, нужно разносить модемы. На какое расстояние друг от друга??? И оффтоп. bg1, а поддержать твою инициативу можно? Я о материальной поддержке. Чтобы ты не останавливался
Вообще по хорошему оттуда нужно выпиливать iconv целиком и добавлять все 3 кодировки внутри.
У меня тоже первая мысль была об этом, но потом, по размышлении я подумал: а зачем? Ясно, что в glibc на все случаи жизни и эта функция тянет с собой триллионы тактов проца, но это стоит беспокойства? Мне кажется, что нет.
Мне думается стоит выпилить то, ради чего я прислал патч. То есть я бы начал формировать, не проверяя изначальную длину текста, PDU и в процессе ее формирования возвращал бы ошибку, если слишком много октетов. А не как сейчас сначала проверяем текст, а потом формируем PDU и без проверки на корректность длины (sic!) отдаем модему.
Цитата:
Добавлена возможность слать PDU, снаружи его гораздо проще сформировать со всеми полями...
С одной стороны функция полезна, может быть. С другой делать это - reinvent a wheel каждый раз. То есть я напишу код формирования PDU для себя, sau напишет, еще кто-то, много их. Лучше причесать код формирования PDU в сhannel_dongle. Ну и улучшение, предложенное adrian в багтрекере по контролю доставки сообщений - это, конечно, интересно. Очень.
Added after 29 minutes:
Цитата:
Так вот, после проигрывания beep, в тот момент, когда выполняется Dial, вызывающая сторона не слышит гудка вызова. Совсем уже замучался, что проверить?
Вы уже Answer сделали, с чего теперь ringback сам по себе появится? Со стороны GSM ВЩА уже есть соединение с пустым audio, сигнализации у вас туда нет и быть не может, поэтому от 180 Ringing, который Ваш Dial делает толку ноль.
Наверно, можно дописать функционал к chan_datacard/dongle, который состояние переведет в ringback tone. Делайте feature request разработчикам.
Поддержать наверное можно, самое просто это пэйпал но в россии с ним ничего не сделаешь абсолютно. Так что овчинка не будет стоить выделки.
Штука в том, что не везде есть glibc, а другие либы часто имеют вместо iconv загрушку. Т.к. сейчас chan_dongle работает на входе только с utf8 целый iconv избыточен.
Багфикс добавлю, только сначала нужно подождать пока баги новые из него выскочат.
PDU весьма полезно, т.к. позволяет слать SMS частями, определять любые поля, слать все типы и не только SMS... Напихать всё это в chan_dongle нет смысла, потому что это не средство отправки SMS, это аудиодрайвер. Тем более что есть вагон либ по работе с PDU.
не на фре работают и без таймера. есть ещё pthread таймер.
Всё-равно. Как на Фре скомпилировать ядро с timerfd? Или подгружаемый модуль сделать? Рыл как мог инет. Или лопата не та _________________ https://github.com/nixonch/a2billing
Последний раз редактировалось: nixon (Вс Июн 19, 2011 15:51)
ставь res_timing_pthread.so он не такой точный, но работает
Спасибо, на нём и крутится. Но на атоме 525 это не таймер, а издевательство. И факсы еле ходят. Как скомпилировать ядро 8.2 с поддержкой timerfd ?... Какую строку в GENERIC ставить и т.п.? _________________ https://github.com/nixonch/a2billing
perl - это тупиковый путь для управления астериском. отсутствие грамотно реализованной многополочности.
Если через AMI/AGI то почему нет? Я ж не предлагаю писать модули к нему на перле.
Цитата:
Число из ответа на отправку SMS вернуть?
Да. А CLI команду отправки сообщения сделать полностью идентичной аналогичному приложению диалплана сделать можно? Или в астере проблема в архитектуре?
Если через AMI/AGI то почему нет? Я ж не предлагаю писать модули к нему на перле.
Да. А CLI команду отправки сообщения сделать полностью идентичной аналогичному приложению диалплана сделать можно? Или в астере проблема в архитектуре?
ок, отправь 2 SMSки через 2 модема одновременно. потом отправь 20 SMSок
а в чём там отличия то? пара параметров так куда их присунуть то? всё что после имени устройства ложится в sms а каждый раз вписывать ненужные параметры неудобно _________________ Свежак chan_dongle тут https://github.com/bg111/asterisk-chan-dongle/ Читайте, дополняйте wiki http://wiki.e1550.mobi/ Смена IMEI Huawei E1550 E173 E1752 K3765 http://www.e1550.mobi/ от $1,521 за IMEI
Здравствуйте. Вылетают модемы Е1550 (версия прошивки 11.608.14.11.174), использую chan_datacard-1.0.r310, Ubuntu 10.10, Asterisk 1.8.4. Все как бы работает нормально, но иногда модем просто отваливается и пропадает... datacard show devices - его просто нет!!!, ttyUSB* - все три USB есть. Иногда викидывает ошибку : [May 23 12:57:20] ERROR[2093]: chan_datacard.c:422 do_monitor_phone: [mts] timedout while waiting 'OK' in response to 'AT+CHUP' -- [mts] Datacard has disconnected
У меня два таких модема и главное, когда один отваливается, другой продолжает работать.
что значит "просто нет" ? Not Connected или вообще в списке отсутствует. Если не в списке то значит где то астериск повис на блокировке, такое тоже бывает. а следующий show devices вообще ничего не покажет.
E1550 периодически зависают. прошить 11.609.18.00.00 но всё равно будет зависать иногда.
Господа, непонятная проблема с USSD. Модем K3520, симка MTS Ukraine при проверке баланса возникает следующая ситуация:
*CLI> datacard ussd datacard0 *101# [datacard0] USSD queued for send with id 0x97712d8 -- [datacard0] Successfully sent USSD 0x97712d8 [May 26 01:13:50] NOTICE[9015]: at_response.c:275 at_response_ok: [datacard0] Successfully sent USSD 0x97712d8 [datacard0] Got USSD type 0 'USSD Notify': '' [May 26 01:13:55] WARNING[9046]: func_base64.c:81 base64_decode: Syntax: BASE64_DECODE() - missing argument! -- Executing [ussd@datacard-incoming:1] Verbose("Local/ussd@datacard-incoming-cfde;1", "Incoming USSD: ") in new stack Incoming USSD: [May 26 01:13:55] WARNING[9046]: func_base64.c:81 base64_decode: Syntax: BASE64_DECODE() - missing argument! -- Executing [ussd@datacard-incoming:2] System("Local/ussd@datacard-incoming-cfde;1", "echo '2011-05-26 01:13:55 - datacard0: ' >> /var/log/asterisk/ussd.txt") in new stack -- Executing [ussd@datacard-incoming:3] Hangup("Local/ussd@datacard-incoming-cfde;1", "") in new stack == Spawn extension (datacard-incoming, ussd, 3) exited non-zero on 'Local/ussd@datacard-incoming-cfde;1'
т.е. в ответ - пустая строка, хотя ответы на другие ussd запросы (например *101*203#) прихоят нормально. Пробовал через minicom - все в порядке. P.S. хотя вру, единожды все же ответ был, но только единожды
2011-05-22 17:17:49 - datacard0: Na schetu 0.16 grn, dejstvitelen do 17.05.2012. Tarif - Super MTS bez PZS 0-25. * Internet stal deshevle! Info: *156#
Идет у меня вызов IAX2->PBX->Dongle. Точнее, не идет. Вот такая странность, когда вызов идет PBX->Dongle, все правильно.
Код:
-- Executing [s@sub-flp-2:1] ExecIf("SIP/1002-00000014", "1?Set(TARGET_FLP_2=+79161111111)") in new stack -- Executing [s@sub-flp-2:2] GotoIf("SIP/1002-00000014", "1?match") in new stack -- Goto (sub-flp-2,s,4) -- Executing [s@sub-flp-2:4] Set("SIP/1002-00000014", "DIAL_NUMBER=+79161111111") in new stack -- Executing [s@sub-flp-2:5] Return("SIP/1002-00000014", "") in new stack -- Executing [s@macro-dialout-trunk:13] Set("SIP/1002-00000014", "OUTNUM=+79161111111") in new stack -- Executing [s@macro-dialout-trunk:14] Set("SIP/1002-00000014", "custom=AMP") in new stack -- Executing [s@macro-dialout-trunk:15] ExecIf("SIP/1002-00000014", "0?Set(DIAL_TRUNK_OPTIONS=M(setmusic^default))") in new stack -- Executing [s@macro-dialout-trunk:16] ExecIf("SIP/1002-00000014", "0?Set(DIAL_TRUNK_OPTIONS=M(confirm))") in new stack -- Executing [s@macro-dialout-trunk:17] Macro("SIP/1002-00000014", "dialout-trunk-predial-hook,") in new stack -- Executing [s@macro-dialout-trunk-predial-hook:1] MacroExit("SIP/1002-00000014", "") in new stack -- Executing [s@macro-dialout-trunk:18] GotoIf("SIP/1002-00000014", "0?bypass,1") in new stack -- Executing [s@macro-dialout-trunk:19] GotoIf("SIP/1002-00000014", "1?customtrunk") in new stack -- Goto (macro-dialout-trunk,s,23) -- Executing [s@macro-dialout-trunk:23] Set("SIP/1002-00000014", "pre_num=AMP:Dongle/dongle0/") in new stack -- Executing [s@macro-dialout-trunk:24] Set("SIP/1002-00000014", "the_num=OUTNUM") in new stack -- Executing [s@macro-dialout-trunk:25] Set("SIP/1002-00000014", "post_num=") in new stack -- Executing [s@macro-dialout-trunk:26] GotoIf("SIP/1002-00000014", "1?outnum:skipoutnum") in new stack -- Goto (macro-dialout-trunk,s,27) -- Executing [s@macro-dialout-trunk:27] Set("SIP/1002-00000014", "the_num=+79161111111") in new stack -- Executing [s@macro-dialout-trunk:28] Dial("SIP/1002-00000014", "Dongle/dongle0/+79161111111,300,") in new stack
Когда вызов приходит от IAX2->PBX->Dongle
Код:
-- Executing [2@ext-trunk:1] Set("IAX2/3333-3900", "TDIAL_STRING=Dongle/dongle0/\\$\\{OUTNUM\\}") in new stack -- Executing [2@ext-trunk:2] Set("IAX2/3333-3900", "DIAL_TRUNK=2") in new stack -- Executing [2@ext-trunk:3] Goto("IAX2/3333-3900", "ext-trunk,tcustom,1") in new stack -- Goto (ext-trunk,tcustom,1) -- Executing [tcustom@ext-trunk:1] Set("IAX2/3333-3900", "OUTBOUND_GROUP=OUT_2") in new stack -- Executing [tcustom@ext-trunk:2] GotoIf("IAX2/3333-3900", "1?nomax") in new stack -- Goto (ext-trunk,tcustom,4) -- Executing [tcustom@ext-trunk:4] ExecIf("IAX2/3333-3900", "1?Set(CALLERPRES()=allowed_not_screened)") in new stack -- Executing [tcustom@ext-trunk:5] Set("IAX2/3333-3900", "DIAL_NUMBER=79161111111") in new stack -- Executing [tcustom@ext-trunk:6] GosubIf("IAX2/3333-3900", "1?sub-flp-2,s,1") in new stack -- Executing [s@sub-flp-2:1] ExecIf("IAX2/3333-3900", "1?Set(TARGET_FLP_2=+79161111111)") in new stack -- Executing [s@sub-flp-2:2] GotoIf("IAX2/3333-3900", "1?match") in new stack -- Goto (sub-flp-2,s,4) -- Executing [s@sub-flp-2:4] Set("IAX2/3333-3900", "DIAL_NUMBER=+79161111111") in new stack -- Executing [s@sub-flp-2:5] Return("IAX2/3333-3900", "") in new stack -- Executing [tcustom@ext-trunk:7] Set("IAX2/3333-3900", "OUTNUM=+79161111111") in new stack -- Executing [tcustom@ext-trunk:8] Set("IAX2/3333-3900", "CALLERID(number)=201") in new stack -- Executing [tcustom@ext-trunk:9] Set("IAX2/3333-3900", "CALLERID(name)=test 201") in new stack -- Executing [tcustom@ext-trunk:10] Dial("IAX2/3333-3900", "Dongle/dongle0/\\$\\{OUTNUM\\},300,") in new stack
Насколько я понимаю, "TDIAL_STRING=Dongle/dongle0/\\$\\{OUTNUM\\}" - это правильный синтаксис, хотя, возможно, забыт замыкающий "$". Так вот вопрос, откуда берется "Dongle/dongle0/\\$\\{OUTNUM\\},300," в строке Dial, почему нет преобразования?
В первую очередь, вопрос к разработчикам, конечно. Предполагаю, что преобразование какое-то не дописано. Или символ забыт в коде FreePBX? Спасибо за внимание.
На ФриБСД при компиляции лезут предупреждения на работоспособность донгла не влияющие:
многократно в течении компиляции... /usr/local/include/asterisk/strings.h: In function 'ast_str_truncate': /usr/local/include/asterisk/strings.h:504: warning: signed and unsigned type in conditional expression
и в конце... pdiscovery.c: In function 'pdiscovery_handle_response': pdiscovery.c:449: warning: 'imsi' may be used uninitialized in this function pdiscovery.c:449: note: 'imsi' was declared here _________________ https://github.com/nixonch/a2billing
у меня такое и на linux выводит про ast_str_truncate. я просто привёл там типы куда мне нужно. С imsi всё ровно, просто компилятор не сильно умный. Но на всякий случай добавил одну команду процессора и залил в svn rev 11 / build 6
Залил svn rev. 12 / package rev. 7 в котором исправил баг с длинной сообщения UCS2 (проверьте, я пока не проверил, нет возможности)
Поставил на проверку, если вылезет что-то плохое, маякну.
Из старого плохого...
При проверке бесплатных минут нет ясности с ответом: *CLI> dongle ussd GSM2 *101*4# [GSM2] USSD queued for send with id 0x8036393d0 [Jun 2 00:47:38] NOTICE[54539]: at_response.c:267 at_response_ok: [GSM2] Successfully sent USSD 0x8036393d0 [02-06-2011 00:48:08 - GSM2] Incoming USSD:
При проверке балланса, всё замечательно: *CLI> dongle ussd GSM2 *101# [GSM2] USSD queued for send with id 0x803639420 [Jun 2 00:48:18] NOTICE[54539]: at_response.c:267 at_response_ok: [GSM2] Successfully sent USSD 0x803639420 [02-06-2011 00:48:23 - GSM2] Incoming USSD: Na schetu 57.32 grn, dejstvitelen do 25.04.2012. Tarif - Super MTS bez PZS 0-25. * Akcia! Poluchite 10 000 grn na Otpusk! Nabirajte *121# _________________ https://github.com/nixonch/a2billing
пара вопросов у меня. - какой кодек шлют мтс, мегафон, билайн? - какой кодек лучший для gsm передачи голоса?
второй вопрос скорее философский =) у меня при звонке gsm->datacard->disa жуткий скачок громкости, треск. при gsm->datacard->pbx->sip тоже скачок и ужасное качество. вот и пытаюсь выяснить, как это побороть.
USSD в какой кодировке что ли? А бабушка их знает... могут 7 бит заслать могут 8 могут UCS и dcs непонятный вписать ... я с каким работаю просто привязал DCS к кодировке и всё.
Если говорим о голосе то в общем то по барабану какой там у них кодек и что они вообще с сигналом делают. Кодеки в GSM стандартизованы.
В/Из устройства прёт поток 16 bit * 50 Hz. А чем его по сети кидать зависит от сети. Если локалка или выделенка то G.711 не вопрос. Ну а если что-то более непредсказуемое то тут уже извините, G.729 G.732 GSM в общем то у астериска выбор не сильно большой.
В общем то качество канала ничто не мешает замерить, но кодек не будет определяющим для GSM канала.
В начале есть какой то щелчёк... Видимо связанно с тем, что модем сбрасывает что то из буфера передачи.
Встречал глюк USB (или хаба или шины): вначале звонка задержка К gsm-абоненты составляла 2 секунды увеличивалась, потом вообще пропадал сигнал. Было на всех модемах на конкретном хабе. Холодный рестарт хаба решил проблему. _________________ Свежак chan_dongle тут https://github.com/bg111/asterisk-chan-dongle/ Читайте, дополняйте wiki http://wiki.e1550.mobi/ Смена IMEI Huawei E1550 E173 E1752 K3765 http://www.e1550.mobi/ от $1,521 за IMEI
Последний раз редактировалось: bg1 (Сб Июн 04, 2011 14:58)
в свежем кернеле обнаружил новую опцию (выделенно жирным):
Цитата:
* * USB support * USB support (USB_SUPPORT) [Y/n/?] y Support for Host-side USB (USB) [Y/n/m/?] y USB verbose debug messages (USB_DEBUG) [Y/n/?] y USB announce new devices (USB_ANNOUNCE_NEW_DEVICES) [Y/n/?] y * * Miscellaneous USB options * USB device filesystem (DEPRECATED) (USB_DEVICEFS) [Y/n/?] y USB device class-devices (DEPRECATED) (USB_DEVICE_CLASS) [N/y/?] n Dynamic USB minor allocation (USB_DYNAMIC_MINORS) [N/y/?] n Rely on OTG Targeted Peripherals List (USB_OTG_WHITELIST) [N/y/?] (NEW) Disable external hubs (USB_OTG_BLACKLIST_HUB) [N/y/?] (NEW)
если у кого проблемы с внешними хабами - гляньте что у вас в конфиге кернеля, с которым тот собран должно быть именно N. ps: если я правильно понимаю её назначение.
Модем переведён в 2G режим. При попытке вызова - не работает "исходящий" аудио канал со стороны модема. Абонент не слышит, что ему говорят со стороны Asterisk'а.
Вот некоторая информация:
Код:
-------------- Status ------------- Device : dongle0 State : Free Audio : /dev/ttyUSB1 Data : /dev/ttyUSB2 Voice : Yes SMS : Yes Manufacturer : huawei Model : E1550 Firmware : 11.609.18.00.00 IMEI : 359124037****** IMSI : 250021044****** GSM Registration Status : Registered, home network RSSI : 20, -113 dBm Mode : No Service Submode : No service Provider Name : MegaFon Location area code : **** Cell ID : **** Subscriber Number : Unknown SMS Service Center : +79219909090 Use UCS-2 encoding : Yes USSD use 7 bit encoding : Yes USSD use UCS-2 decoding : No Tasks in queue : 0 Commands in queue : 0 Call Waiting : Disabled Current device state : start Desired device state : start When change state : now Calls/Channels : 0 Active : 0 Held : 0 Dialing : 0 Alerting : 0 Incoming : 0 Waiting : 0 Releasing : 0 Initializing : 0
Serv*CLI> dongle show device settings dongle0 ------------- Settings ------------ Device : dongle0 Audio : /dev/ttyUSB1 Data : /dev/ttyUSB2 IMEI : IMSI : Channel Language : ru Context : default Exten : +1234567890 Group : 0 RX gain : 0 TX gain : 0 U2Diag : -1 Use CallingPres : Yes Default CallingPres : Presentation Allowed, Passed Screen Auto delete SMS : Yes Disable SMS : No Reset Dongle : Yes SMS PDU : Yes Call Waiting : auto DTMF : relax Minimal DTMF Gap : 45 Minimal DTMF Duration : 80 Minimal DTMF Interval : 200 Initial device state : start
Serv*CLI> dongle show devices ID Group State RSSI Mode Submode Provider Name Model Firmware IMEI IMSI Number dongle0 0 Free 20 0 0 MegaFon E1550 11.609.18.00.00 359124037****** 250021044****** Unknown
С 1.6 оно тоже не работало, хотя возможно по другой причине, попробую позже. Еще один вопрос: работают ли модемы с usb1.1 или обязательно наличие usb2.0?
#aclocal #autoconf #automake -a configure.in: installing `./install-sh' configure.in: installing `./missing' automake: no `Makefile.am' found for any configure output #./configure configure: error: cannot run /bin/sh ./config.sub
тоже ловлю периодически..причем и на хабах и напрямую..вылазят при максимальной нагрузке..когда звонков мало такого нет..пока обхожусь тупо перезагрузкой скриптом..раз в 5 минут ресет всех свободных модемов.
Ага. И все тут гуру, умно молчат, потому что конечно же поняли кусок кода как свои пять пальцев
У всех (tm) не используются внешние хабы, поэтому им этот кусок без разницы. Без контекста кода трудно сказать что-то определенное, видно, что при сконфигуренной опции для некорневых девайсов выдается ворнинг и возвращается что устройства нет, а копаться лень.
У всех (tm) не используются внешние хабы, поэтому им этот кусок без разницы. Без контекста кода трудно сказать что-то определенное, видно, что при сконфигуренной опции для некорневых девайсов выдается ворнинг и возвращается что устройства нет, а копаться лень.
>Было. Поменял хаб, прошло. у меня жуткий треск на ДИСУ что с хаба, что с виртуалки (USB в компе). модемы одинаковые, провайдеры разные. коллбэк через gsm - качество ужасное, в общем. можно поправить как-то?
UPD. С коллбэком (плюс SIP-звонок вторым плечом) разобрался, покрутив rx/tx. Но коллбэк, где вторым плечом диса = шум, через который даже dtmf не пролезает.
звонок на DID (в данном случае GSM-номер) и отзвон на него обратно (первое плечо) звонок куда скажешь, в соответствии с настройками callback (второе плечо)
>Было. Поменял хаб, прошло. у меня жуткий треск на ДИСУ что с хаба, что с виртуалки (USB в компе). модемы одинаковые, провайдеры разные. коллбэк через gsm - качество ужасное, в общем.
у меня нет удлинителей. обычный коллбэк с автосоединением по sip поборол, осталось разобраться с коллбэком в дису, почему трещит. ситуация осложняется тем, что звонок поступает на свисток в одном астериске, там остается в дисе, а вторым плечом лезет по iax на второй астериск, где производится звонок со второго свистка.
UPD. Да, откуда может взяться такая ситуация?
Код:
-- Called dongle0/+79161111111 -- Dongle/dongle0-010000002a is making progress passing it to Local/79161111111@from-internal-9b30;2 [Jun 10 05:44:43] WARNING[8833]: app_dial.c:1328 wait_for_answer: Unable to write frametype: 2
Кстати, есть опыт... два свистка прямо воткнутые в соседние разъёмы плохо работали пока не отключил 3G в них. Таким образом даже в именитых фирменных DELLовских серверах с питанием в юсб не всё в порядке. _________________ https://github.com/nixonch/a2billing
Последний раз редактировалось: nixon (Вт Июн 14, 2011 07:36)
Интересует вопрос, какие модемы проверены и 100% совместимы и работоспособны с chan_datacard. Вопрос возник из-за того,что пропали в точках продаж E1550.
перешел c datacard на dongle. чем заменить переменную ${Datacard}? попробывал ${dongle} не прокатило. exten => ussd,1,System(echo ${STRFTIME(${EPOCH},,%Y-%m-%d %H:%M:%S)} - ${Dongle}: ${USSD} >> /var/log/asterisk/ussd.txt)
Здравствуйте. Нет определения ДТМФ на операторе Life:). На Киевстар и МТС определяется. У кого-нибудь работает? Ставил dtmf=relax и dtmf=inband. Что еще можно подкрутить? Asterisk последний 1.6.2.18. chan_dongle version 1.1 revision 2.
2 Belovit - я уже 2 недели тестирую Е173 (прошивка 11.126.85.00.209), вроде нормально все и с USSD и с SMS, отпишитесь, если не сложно, какая у вас прошивка у 173
2 all - кто-то еще 173 использует? я закупаться ими решил, а тут Belovit рапортует о траблах с смс и юссд
перешел c datacard на dongle. чем заменить переменную ${Datacard}? попробывал ${dongle} не прокатило. exten => ussd,1,System(echo ${STRFTIME(${EPOCH},,%Y-%m-%d %H:%M:%S)} - ${Dongle}: ${USSD} >> /var/log/asterisk/ussd.txt)
вместо ${Datacard} используйте ${DONGLENAME}
сам долго искал, пока не заглянул в исходники.
2bg: поправь etc/extensions.conf, там указан ${DONGLE_STATUS} , которого в исходниках вообще нет
перешел c datacard на dongle. чем заменить переменную ${Datacard}? попробывал ${dongle} не прокатило. exten => ussd,1,System(echo ${STRFTIME(${EPOCH},,%Y-%m-%d %H:%M:%S)} - ${Dongle}: ${USSD} >> /var/log/asterisk/ussd.txt)
DONGLENAME По миграции документ создан, где не помню.
Added after 3 minutes:
CallingStation писал(а):
2bg: поправь etc/extensions.conf, там указан ${DONGLE_STATUS} , которого в исходниках вообще нет
народ прошу помощи ubuntu 10.04 LTS + Asterisk 1.8.4.2 + chan_dongle 1.1 + E1550 при исходящем звонке с донгла все отлично слышно а когда звонишь на донгл не слышно вызывающего, то есть я звоню на донгл меня не слышат, а я слышу
2 Belovit - я уже 2 недели тестирую Е173 (прошивка 11.126.85.00.209), вроде нормально все и с USSD и с SMS, отпишитесь, если не сложно, какая у вас прошивка у 173
11.126.85.00.209 Может у меня старая версия datacard? localhost*CLI> datacard ussd dc3 *102# [dc3] Error parsing CUSD: '+CUSD: 2' С СМС не отправляет в основном вида 12812*666** что нужно иногда для подключения/отключения сервисов (ибо USSD не робит) Datacard - 184 релиз
2 Belovit - я уже 2 недели тестирую Е173 (прошивка 11.126.85.00.209), вроде нормально все и с USSD и с SMS, отпишитесь, если не сложно, какая у вас прошивка у 173
11.126.85.00.209 Может у меня старая версия datacard? localhost*CLI> datacard ussd dc3 *102# [dc3] Error parsing CUSD: '+CUSD: 2' С СМС не отправляет в основном вида 12812*666** что нужно иногда для подключения/отключения сервисов (ибо USSD не робит) Datacard - 184 релиз
перешел c datacard на dongle. чем заменить переменную ${Datacard}? попробывал ${dongle} не прокатило. exten => ussd,1,System(echo ${STRFTIME(${EPOCH},,%Y-%m-%d %H:%M:%S)} - ${Dongle}: ${USSD} >> /var/log/asterisk/ussd.txt)
Не могу понять, почему у меня ужасное качество звука на модемах. Может кто сталкивался с такой же проблемой. Перечитал всю ветку- выполнил все советы, которые только давали- результата нет. Установлен Ubuntu server 10.04 (ядро 2.6.32-2+asterisk 1.6.2.13+freepbx 2.8.1. Модемы e1550 мтс и e171 мтс- разницы вообще нет по качеству кстати. пробовал VMware, потом на нетбуке- разницы нет.
Проблема в следующем- сильное эхо звонившему и повтор его слов через пол секунды ему же. Еще шипение не очень сильное.
Пробовал: обновить ядро до 2.6.39-020633- не помогло порты для модема точно usb 2.0 с голосом в модемах все в порядке, в виндоусе пробовал. игрался с rxgain and txgain- добивался, что эхо и шипения не слышно при rxgain=4 and txgain=-3 может еще что то- точно уже не помню...
Скажу сразу- новичок, но система работать должна уже вчера. У меня все уже готово, но с таким качеством не могу жить.
Поделюсь опытом по мультисим. Приобрел с ip телефонией (на multi-sim.ru- не реклама, искал на ebay, alibabe такую версию работающую с ip не нашел). Идея была в следующем- с мобильного звоним на модем- модем стоит на disa (у меня без пароля кстати не заработал)- донабор пароля-ввод номера- идет вызов. В мультисим два режима айпи телефонии- через меню или автоматически. Выбираем автоматически . В этом режиме достаточно набрать номер вызываемого абонента или выбрать из телефонной книги, сама симка сформирует например 89201234567P5#P89101234567, где 89201234567 номер симки в модеме, 5-пароль для диса (еще раз повторюсь- без пароля у меня не заработала диса вообще), 89101234567- номер вызываемого абонента. Возникло несколько проблем- трудно найти телефон в котором работает автоматический режим набора айпи. Iphone, неки, нокии не работают. У меня заработало на всех алькателях, на нокиа 3310, на моторолах. И вторая более существенная- от момента нажатия кнопки вызова до первых гудков вызываемого абонента проходит 20-25 секунд (при пароле 1 символ и минимум пауз). Кстати, билайн успел заблокировать у меня одну симкарту под предлогом, что она является шлюзом- впрочем как и было.
Очень надеюсь на вашу помощь, а то руки уже опускаются. Заранее спасибо.
Как я правильно понял, эта коза находится в Украине. Здесь судов нет, одни понты. Судьи не несут никакой ответственности за свои решения. Только за подделку и если хозайственник вел уголовное дело, в остальных случаях "просто ошибка судьи". А за "ошибки" даже к административной ответственности не привлекают. Можно представить какие они "ошибки" могут допускать и за какие цены
vikamo4e anna.prokopenko BlackTermination одно лицо либо одна шарашка скорее всего первое. Адрес если нужен могу подсказать.. И я думаю в суд подавать смысла нет..проще либо слить их выше за слив траффа.(На Украине слышал законы строгиеКак говорится денег не поимеешь зато моральное удовлетворение по полной..Вобщем вариантов куча.
Погребной Максим Геннадьевич адрес офиса: Украина, Севастополь, 99011 ул. Очаковцев, д. 40 tel: 94 44 64 +380675700241 (mob) +380660026494 (mob MTC) ICQ: 615-449-388, 435171713, 268605682, 192605 Email: atey@mail.ru указан владельцем компаниями ООО ''ПЛАТЕЖНЫЕ ТЕХНОЛОГИИ'' и КС "Атей"
вся информация взята из открытых источников. а точнее - из ссылки приведенной им самим же в его подписи на форуме. насколько я знаю Webmoney очень строго относятся к любому виду мошенничества, и думается мне что будет достаточно только показать его сообщения чтобы лишить его аттестата (ну или по крайней мере они должны будут начать проверку по этой личности и его транзакциям за последнее время)
гугл рассказал об этой личности немного больше. он также владеет сайтом http://wmbanka.com/ забавно видеть ссылки на его сайте на "интервью с мошенниками". человек явно купается в деньгах (и явно не совсем честно нажитых) и оттого видимо чувствует себя безнаказанным. короче плохая карма однозначно. ps: http://asteriskforum.ru/viewtopic.php?p=50927 и приведенный им же самим пример на voipinfo http://s12.radikal.ru/i185/1106/e5/b2b4ade73b79.jpg очень гармонично будут сочетаться в уголовном деле.
И я добрался до свистков.... Коллеги, подскажите, может я что-то по неопытности пропустил: Имеется Дебиан: 2.6.39-2-amd64 #1 SMP Wed Jun 8 11:01:04 UTC 2011 x86_64 GNU/Linux Имеется Астериск: Asterisk 1.6.2.18.1 Имеется модем E1550:
DC - Unlocker 2 Client 1.00.0629
Detecting card :
selection : manufacturer - Huawei modems model - Auto detect (recommended)
Found modem : E1550 Model : Huawei E1550 IMEI : 358ХХХХХХХХХХХХ Serial NR. : B5ХХХХХХХХХХХХ Firmware : 11.608.14.15.311 Compile date / time : May 06 2010 12:59:39 Dashboard version : UTPS16.001.06.01.500_MAC15.001.06.00.03 Chipset : Qualcomm MSM6246 NAND Flash : SAMSUNG_K9F1208 Voice feature : enabled SIM Lock status : unlocked Wrong codes entered : 0 (unlock attempts left : 10)
Имеется chan_dongle: chan_dongle: Huawei 3G Dongle Channel Driver, Version 1.1, Revision 2 Карточка определяется:
Код:
dongle show devices ID Group State RSSI Mode Submode Provider Name Model Firmware IMEI IMSI Number dongle0 0 Free 17 3 3 UA-KYIVSTAR E1550 11.608.14.15.311 358ХХХХХХХХХ 255ХХХХХХХ +380ХХХХХХХХХ
; dongle required settings [dongle0] audio=/dev/ttyUSB1 ; tty port for audio connection; no default value data=/dev/ttyUSB2
При попытке позвонить Dial(Dongle/dongle0/${EXTEN}) вызов идет, а голоса нету. Честно копался в ветке, в гугле - не помогло. Менял ядра (с 2.6.32 на 2.6.39), менял Dongle на Datacard - те же яйца. В винде, через Mobile Partner звук есть. _________________ Asterisk 1.4.30 @ Ubuntu 9.04 + Cisco MC3810 + NEC NEAX 2000IPS + Polycom IP Phones
-- Executing [8xxxxxxxxxx@my:1] Answer("Dongle/dongle0-0100000001", "") in new stack -- Executing [8xxxxxxxxxx@my:2] Dial("Dongle/dongle0-0100000001", "Dongle/dongle0/8yyyyyyyyyy") in new stack [Jun 26 05:41:15] WARNING[14340]: channel.c:166 channel_request: [dongle0] Request to call on device which can not make call at this moment [Jun 26 05:41:15] WARNING[14340]: app_dial.c:2039 dial_exec_full: Unable to create channel of type 'Dongle' (cause 44 - Requested channel not available) == Everyone is busy/congested at this time (1:0/0/1) -- Executing [8xxxxxxxxxx@my:3] PlayTones("Dongle/dongle0-0100000001", "congestion") in new stack -- Executing [8xxxxxxxxxx@my:4] Hangup("Dongle/dongle0-0100000001", "") in new stack == Spawn extension (my, 8yyyyyyyyyy, 4) exited non-zero on 'Dongle/dongle0-0100000001'
то меня спасла замена сим карты. Замечу: проблема была с мегафоновской картой, на мтсовской всё хорошо. При использовании мегафоновской карты было замечено что по show devices выдаётся информация с неверным номером, если быть точным вместо 8925 было 8926. Ошибка возникала при входящем звонке, исходящие работали отлично.
Скажите, а в состоянии Stopped, при включенном питании (power/level = on ) посылаются ли какие то команды опсосу?
По моим наблюдениям, при выключении питания на хабе ( power/level = suspend ) больше шансов получить при включении через некоторое время статус Not connected, хотя в dmesg мы ничего не увидим (отключение порта USB). Лечится только перетыканием его вручную
Есть ли какие то success stories использования хабов кроме DLINK DUB-H7 ?
Компилирую chan_dongle на роутере ASUS RT-N16, прошивка 1.9.2.7-rtn - экспериментальная, на ядре 2.6.22, для устройств RT-N16, RT-N12, RT-N10, WL-500gP, WL-500W --- при звонке Mobile->Dongle0->Dongle1->Mobile - звук есть, при звонке Mobile->Dongle0->Sip->Mobile -- звука нет. Если использовать прекомпиленый модуль chan_datacard отсюда - http://iqlab.ru/downloads/chan_datacard.so, то ситуация полностью противоположная, по сипу - звук есть, а по связке двух 3Г Хуавеев - нету. Поможете разобраться?
Скажите, а в состоянии Stopped, при включенном питании (power/level = on ) посылаются ли какие то команды опсосу?
По моим наблюдениям, при выключении питания на хабе ( power/level = suspend ) больше шансов получить при включении через некоторое время статус Not connected, хотя в dmesg мы ничего не увидим (отключение порта USB). Лечится только перетыканием его вручную
Есть ли какие то success stories использования хабов кроме DLINK DUB-H7 ?
Stopped это состояние модуля, который в этот момент не использует модем, а сам модем как работал так и работает.
С хабом его с большей вероятностью несколькими ресетами завести можно.
Чаще всего зависает после ресета и одного двух отлупов по неготовности сим-карты
Есть промышленные хабы для зарядки устройств на 48 портов. но вам дешевле будет купить портеч...
Added after 24 minutes:
Centurius писал(а):
Уважаемый bg1!
Компилирую chan_dongle на роутере ASUS RT-N16, прошивка 1.9.2.7-rtn - экспериментальная, на ядре 2.6.22, для устройств RT-N16, RT-N12, RT-N10, WL-500gP, WL-500W --- при звонке Mobile->Dongle0->Dongle1->Mobile - звук есть, при звонке Mobile->Dongle0->Sip->Mobile -- звука нет. Если использовать прекомпиленый модуль chan_datacard отсюда - http://iqlab.ru/downloads/chan_datacard.so, то ситуация полностью противоположная, по сипу - звук есть, а по связке двух 3Г Хуавеев - нету. Поможете разобраться?
надо бы сначала понять chan_dongle звук доставляет или нет... Для этого можно пользовать Echo Playback и прочие забавные вещи. А уже потом смотреть на SIP и далее ... И мне не понятно собственно как на другой ноге SIP в мобиль то уходит... Надо бы софтфоном бы позвонить то.... _________________ Свежак chan_dongle тут https://github.com/bg111/asterisk-chan-dongle/ Читайте, дополняйте wiki http://wiki.e1550.mobi/ Смена IMEI Huawei E1550 E173 E1752 K3765 http://www.e1550.mobi/ от $1,521 за IMEI
А можно узнать производителя\модель таких хабов? В гугле по таким словам вылезает много мусора.
Так а сам модем разве посылает команды на регистрацию в сети и др. без участия драйвера? То есть для того чтобы выключить его из поля зрения опсоса нужно вырубать его по питанию через power/level?
Добавил в extensions.conf в раздел [datacard-incoming] такие строки
Код:
exten => s,1,Playback(demo-echotest) ; Let them know what's going on. exten => s,2,Echo ; Do the echo test. exten => s,3,Playback(demo-echodone)
При использовании прекомпиленного chan_datacard.so, ссылку на который давал ранее, и звонке на симку, управляемую datacard0 - слышу себя и вижу следующее в астериске:
Код:
-- Datacard datacard0 initialized and ready -- Executing [s@datacard-incoming:1] Playback("Datacard/datacard0-8bda", "demo-echotest") in new stack [2011-07-02 08:19:07] WARNING[7688]: file.c:650 ast_openstream_full: File demo-echotest does not exist in any format [2011-07-02 08:19:07] WARNING[7688]: file.c:953 ast_streamfile: Unable to open demo-echotest (format 0x40 (slin)): No such file or directory [2011-07-02 08:19:07] WARNING[7688]: app_playback.c:471 playback_exec: ast_streamfile failed on Datacard/datacard0-8bda for demo-echotest -- Executing [s@datacard-incoming:2] Echo("Datacard/datacard0-8bda", "") in new stack == Spawn extension (datacard-incoming, s, 2) exited non-zero on 'Datacard/datacard0-8bda'
При использовании скомпиленного на роутере модуля chan_dongle и звонке на симку - эхо НЕ СЛЫШУ. В астериске:
Код:
-- [dongle0] Dongle initialized and ready -- Executing [s@datacard-incoming:1] Playback("Dongle/dongle0-0100000000", "demo-echotest") in new stack [2011-07-02 08:20:28] WARNING[7709]: file.c:650 ast_openstream_full: File demo-echotest does not exist in any format [2011-07-02 08:20:28] WARNING[7709]: file.c:953 ast_streamfile: Unable to open demo-echotest (format 0x40 (slin)): No such file or directory [2011-07-02 08:20:28] WARNING[7709]: app_playback.c:471 playback_exec: ast_streamfile failed on Dongle/dongle0-0100000000 for demo-echotest -- Executing [s@datacard-incoming:2] Echo("Dongle/dongle0-0100000000", "") in new stack
Однако если вставляем в роутер второй модем и в extensions.conf в раздел [datacard-incoming] добавляем:
То звонок благополучно приходит на домашний тел СО ЗВУКОМ, и в астериске:
Код:
Asterisk Ready. *CLI> -- [dongle1] Dongle has connected, initializing... -- [dongle0] Dongle initialized and ready -- [dongle1] Dongle initialized and ready
*CLI> -- Executing [s@datacard-incoming:1] Dial("Dongle/dongle0-0100000000", "dongle/dongle1/8499*********(скрыто)") in new stack -- Called dongle1/8499**********(скрыто) -- Dongle/dongle1-0100000000 is making progress passing it to Dongle/dongle0-0100000000 -- Dongle/dongle1-0100000000 answered Dongle/dongle0-0100000000 == Spawn extension (datacard-incoming, s, 1) exited non-zero on 'Dongle/dongle0-0100000000'
КУДА КОПАТЬ ДАЛЬШЕ?
bg1 писал(а):
надо бы сначала понять chan_dongle звук доставляет или нет... Для этого можно пользовать Echo Playback и прочие забавные вещи. А уже потом смотреть на SIP и далее ... И мне не понятно собственно как на другой ноге SIP в мобиль то уходит... Надо бы софтфоном бы позвонить то....
Тоже вопросик. А такая хрень в астере на модеме из-за чего может быть? WARNING[15454]: channel.c:3538 ast_prod: Prodding channel 'SIP/astmaster-00000ac4' failed Периодически появляется....
Немного отлучался из города, но вернулся к свистку.... Глупый вопрос: как включить дебаг того, что происходит на chan_dongle? Был собран с опцией --enable-debug. На данный момент получил одностороннюю слышимость на X-Lite и вообще ничего на хард-телефонах. Плюс, как я понял, эти модемы - вещь настолько в себе, что даже если на нем написано E1550, то не факт, что он будет работать также, как другой, на котором написано то же самое.
--upd Поставил драйвера от Novax'a. Dongle вообще перестал находить на ttyUSB2 модем. Говорит, что нет ответа на AT. _________________ Asterisk 1.4.30 @ Ubuntu 9.04 + Cisco MC3810 + NEC NEAX 2000IPS + Polycom IP Phones
дебаг в asterisk включается core set debug N чем больше число тем больше отладочных сообщений.
и редактируем logger.conf
если на одном телефоне есть звук, на другом нет то логично предположить что дело не в chan_dongle.
Added after 6 minutes:
Belovit писал(а):
Тоже вопросик. А такая хрень в астере на модеме из-за чего может быть? WARNING[15454]: channel.c:3538 ast_prod: Prodding channel 'SIP/astmaster-00000ac4' failed Периодически появляется....
Может что неправильно написал? Вот, что в консоли:
Код:
== Using SIP RTP CoS mark 5 -- Executing [091ХХХХХХХ@XXXX:1] Dial("SIP/601-00000002", "Dongle/g0/091ХХХХХХХ") in new stack -- Called g0/091ХХХХХХХ -- Dongle/dongle0-0100000002 is making progress passing it to SIP/601-00000002 -- Dongle/dongle0-0100000002 answered SIP/601-00000002
При этом core set verbose 8 Также /etc/asterisk/logger.conf
Код:
console => notice,warning,error,debug,verbose
Правда после прерывания вызова идет характерное сообщение, когда телефоны за НАТом:
Код:
WARNING[1157]: chan_sip.c:3968 retrans_pkt: Maximum retries exceeded on transmission NTgyNDc0MmYwMDdhYmYzNGIyYjhlZTA1Mzg1ZDBiMDM. for seqno 2 (Critical Response) -- See https://wiki.asterisk.org/wiki/display/AST/SIP+Retransmissions
Но телефон и станция в одной подсети. _________________ Asterisk 1.4.30 @ Ubuntu 9.04 + Cisco MC3810 + NEC NEAX 2000IPS + Polycom IP Phones
В офисе стоит Ubuntu 10.10, Asterisk 1.6, FREEPBX 2.8, chan_datacard (Махутова), E1550.
Это из распечатки звонков на сайте оператора:
Код:
Дата Время Длит. сек стоим. 29.06.2011 18:25:40 1 380 10.52
Звонок по данным оператора длился 23 мин., дальше просто деньги на счете закончились. Счастливый случай - кредит в этом тарифном плане не предусмотрен, и денег оставалось немного.
Было несколько попыток дозвониться, в результате так и не удалось услышать абонента этого номера. Но был конец рабочего дня, оставили это на завтра, потом все выключили(~ через полчаса) и ушли домой. Утром выяснилось, что на счете денег нет.
Плохая новость. Железка может "не положить" трубку. Думаю, что железка. Ведь asterisk в cdr записал duration=34, billsec=13 disposition=ANSWERED. Пользователь, не дождавшись ответа вызываемого, через 34 сек.(13 из них asterisk отметил как ANSWERED) положил трубку. Подобный случай был замечен несколько месяцев тому назад (описывал здесь - Заголовок сообщения: Модем "не повесил трубку"; тогда из ответов bg1 понял, что "может быть тысяча причин" такого поведения модема). Проверил по cdr. Это было с другой такой-же железкой. Может были другие случаи, но остались незамеченными.
Как видим, последующие попытки дозвониться заканчивались с Disposition=FAILED. Можно ли этим воспользоваться, и соорудить какие-то костыли? Типа скриптик запускается каждые 5 минут, проверяет состояние железки, проверяет какой канал с ней соединен. Если никакой, как-то заставлять модем "ложить трубку".
Привет всем. Использую chan_dongle (спасибо автору!) Есть ли стандартный способ приема длинных СМС (объединять в одно сообщение)? Если нет, то можно ли сохранять сообщение в исходном формате PDU? Дальше из файла я их уже сам разберу.
Может были другие случаи, но остались незамеченными.
Проверил отчеты оператора на предмет: "Десять самых дорогих звонков за месяц", и обнаружил еще один случай. Звонок был перед концом рабочего дня, и по данным оператора длился час, пока компьютер не выключили.
Итого за пять месяцев три случая. При том, что система не нагружена. В FreePBX загрузка процессора от 0 до 10%, занято памяти до 30%. Может такое число отказов в пределах нормы? Даже интересно, больше никто такого не наблюдает?
Правда после прерывания вызова идет характерное сообщение, когда телефоны за НАТом:
Код:
WARNING[1157]: chan_sip.c:3968 retrans_pkt: Maximum retries exceeded on transmission NTgyNDc0MmYwMDdhYmYzNGIyYjhlZTA1Mzg1ZDBiMDM. for seqno 2 (Critical Response) -- See https://wiki.asterisk.org/wiki/display/AST/SIP+Retransmissions
Но телефон и станция в одной подсети.
причём тут verbose если написано core set debug N ???
Maximum retries может указывать что соединения двухстороннего у вас не устанавливается, а получаете вы только early media в одну сторону...
Бывает в том числе когда телефон не понимает кодированные последовательности в набираемом тексте. Очевидно что на уровне SIP у вас проблемы, и пофигу совершенно в одной сети или на другой планете. В любом случае отладку никто не отменял. в том числе и sip set debug on
Added after 3 minutes:
nn38 писал(а):
В офисе стоит Ubuntu 10.10, Asterisk 1.6, FREEPBX 2.8, chan_datacard (Махутова), E1550.
модуль Махутова я не поддерживаю. мне достаточно своего.
в астериске зависать может всё, включая и SIP сессии, по которым время тикает а фреймов RTP нет часами. disposition - это полная чепуха, надо писать в cdr cause code, которая в астериске видима как HANGUPCAUSE.
res_timing_timerfd.so обычно значительно точнее чем pthread у меня эмбеднутый chan_datacard тогда ещё работал и без timing вообще, но я понимаю что с таймингом качество намного лучше.
Added after 16 minutes:
SibMonk писал(а):
Есть ли стандартный способ приема длинных СМС (объединять в одно сообщение)? Если нет, то можно ли сохранять сообщение в исходном формате PDU? Дальше из файла я их уже сам разберу.
Спасибо.
Архитектура астериска не позволяет этого делать.... Либо надо конкретно и целенаплавлено заниматься извращениями.
Всё очень просто: пришло сообщение - его бросили в dialplan дальше уже делайте что хотите. Ждать, собирать сообщение по кускам, что делать если какой то кусок не пришёл... это всё вы можете сделать внешним приложением. chan_dongle - это канальный драйвер и не более. Инструменты по приёму и отправки PDU в chan_dongle существуют, читайте
Какой то адский у вас отправитель 7FBFDD5DE2F93C6E7BB1
Это происходит, когда вместо номера телефона текстовая строка. В данном конкретном случае "Megafon.ru".
P.S. Вы правы. Отправитель действительно адский
Added after 14 minutes:
Кстати, если кому интересна тема с СМС и лениво возиться с Asterisk'ом, можно попробовать другое решение.
В настройках chan_dongle отключаем прием сообщений (disablesms=yes). Убираем из диалплана все правила приема СМС. Ставим софтину по имени Gammu http://wammu.eu/ вешаем ее на порт /dev/ttyUSB0 в случае FreeBSD - /dev/cuaU0.0
Да, в очередной раз понял, что невнимательность - зло. Причина односторонней слышимости - неправильно выставленные параметры externip и localnet. Приношу свои извинения автору. _________________ Asterisk 1.4.30 @ Ubuntu 9.04 + Cisco MC3810 + NEC NEAX 2000IPS + Polycom IP Phones
Очень прошу указать на причину постоянного флуда: WARNING[18421]: chan_sip.c:6213 sip_write: Asked to transmit frame type slin, while native formats is 0x4 (ulaw) read/write = 0x4 (ulaw)/0x4 (ulaw)
На старом chan_datacard (до переименования в chan_dongle) и asterisk 1.6 (то, что стояло на сервере до его падения) такого не было. Сейчас, после восстановления сервера и установке последних версий, появилась такая беда. Флудит очень много в момент дозвона и отбоя, т.е. скорей всего в момент передачи тона. В момент самого разговора сообщений нет. Разговор успешен, звук идёт в обе стороны. Но флуд сильно напрягает.
Были поставлены и загружены ВСЕ кодеки (codec_), все форматы (format_). Что ещё нужно сделать? Что проверить? Готов ответить на все вопросы...
Disclaimer: this command is for informational purposes only. It does not indicate anything about your configuration. INT BINARY HEX TYPE NAME DESCRIPTION ----------------------------------------------------------------------------------- 1 (1
Всем добрый день! Уважаемые, помогите найти решение в моей проблеме. Разлочил модем Huawei E1550 для подключения интернета в машине. Вернул его в прежнее состоние прогой tool_PortSwitch. Но теперь при подключении к компьютеру пропал звук, не видит микрофона и звук через колонки не идет. Раньше через модем мог делать звонки и разговаривать, а теперь вызов идет а звука нет. Я уже скачал прошивку модема, перепрошил по новой, но не помогло. Помогите разобраться, в чем проблема? Заранее всем благодарен!
Problema ... (asterisk-1.6.2.19, dongle-read-only ... Получена редакция 15)
automake: no `Makefile.am' found for any configure output ./configure pdu.c:437:1: warning: "/*" within comment pdu.c:439:2: error: expected identifier or ‘(’ before ‘/’ token pdu.c: In function ‘pdu_parse’: pdu.c:688:6: warning: implicit declaration of function ‘pdu_parse_number’ pdu.c: At top level: pdu.c:315:13: warning: ‘pdu_code2digit’ defined but not used make: *** [pdu.o] Ошибка 1 help!!!
Есть такая идея по чан_донглу... Сперва предистория. В ранних доисторических версиях послать cmd можно было при любом состоянии порта модема. Это выручало при как бы отвалившемся модеме и позволяло вернуть связку модем-порт к жизни с помощью AT+CFUN=1,1
Модем Huawei E173 от Мегафона, разлоченный и обновленный до прошивки 11.126.85.00.209. Выключен 3G. AT^U2DIAG=0
Код:
ID Group State RSSI Mode Submode Provider Name Model Firmware IMEI IMSI Number huawei_E173 0 Free 23 0 0 UL-GSM E173 11.126.85.00.209 357291043963192 250032600350256 Unknown
Работает USSD и SMS без проблем (и даже по-русски).
НЕ РАБОТАЕТ ГОЛОС. При исходящих: просто тишина, не слышно даже гудков вызова, DEBUG молчит ошибок нет. При входящих: есть гудки, после поднятия трубки (на SIP-телефон идёт сигнал) короткий щелчёк, тишина и ошибка
Код:
[Jul 13 23:06:10] ERROR[11901] chan_dongle.c: [huawei_E173] timedout while waiting 'OK' in response to 'AT+CLCC' [Jul 13 23:06:25] ERROR[11975] chan_dongle.c: [huawei_E173] timedout while waiting 'OK' in response to 'AT'
Модем вылетает, помогает только отключение/подключение от порта.
Копаю уже день, не могу решить проблему. Какие есть идеи?
Состояние модема
gw*CLI> dongle show device state huawei_E173 -------------- Status ------------- Device : huawei_E173 State : Free Audio : /dev/ttyUSB_utps_modem Data : /dev/ttyUSB_utps_pcui Voice : Yes SMS : Yes Manufacturer : huawei Model : E173 Firmware : 11.126.85.00.209 IMEI : 357291043963192 IMSI : 250032600350256 GSM Registration Status : Registered, home network RSSI : 23, -111 dBm Mode : No Service Submode : No service Provider Name : UL-GSM Location area code : 439D Cell ID : B43 Subscriber Number : Unknown SMS Service Center : +79087509208 Use UCS-2 encoding : Yes USSD use 7 bit encoding : Yes USSD use UCS-2 decoding : No Tasks in queue : 0 Commands in queue : 0 Call Waiting : Disabled Current device state : start Desired device state : start When change state : now Calls/Channels : 0 Active : 0 Held : 0 Dialing : 0 Alerting : 0 Incoming : 0 Waiting : 0 Releasing : 0 Initializing : 0
dongle.conf
[general]
interval=15 ; Number of seconds between trying to connect to devices
;------------------------------ JITTER BUFFER CONFIGURATION -------------------------- ;jbenable = yes ; Enables the use of a jitterbuffer on the receiving side of a ; Dongle channel. Defaults to "no". An enabled jitterbuffer will ; be used only if the sending side can create and the receiving ; side can not accept jitter. The Dongle channel can't accept jitter, ; thus an enabled jitterbuffer on the receive Dongle side will always ; be used if the sending side can create jitter.
;jbforce = no ; Forces the use of a jitterbuffer on the receive side of a Dongle ; channel. Defaults to "no".
;jbmaxsize = 200 ; Max length of the jitterbuffer in milliseconds.
;jbresyncthreshold = 1000 ; Jump in the frame timestamps over which the jitterbuffer is ; resynchronized. Useful to improve the quality of the voice, with ; big jumps in/broken timestamps, usually sent from exotic devices ; and programs. Defaults to 1000.
;jbimpl = fixed ; Jitterbuffer implementation, used on the receiving side of a Dongle ; channel. Two implementations are currently available - "fixed" ; (with size always equals to jbmaxsize) and "adaptive" (with ; variable size, actually the new jb of IAX2). Defaults to fixed.
;jbtargetextra = 40 ; This option only affects the jb when 'jbimpl = adaptive' is set. ; The option represents the number of milliseconds by which the new jitter buffer ; will pad its size. the default is 40, so without modification, the new ; jitter buffer will set its size to the jitter value plus 40 milliseconds. ; increasing this value may help if your network normally has low jitter, ; but occasionally has spikes.
;jblog = no ; Enables jitterbuffer frame logging. Defaults to "no". ;-----------------------------------------------------------------------------------
[defaults] ; now you can set here any not required device settings as template ; sure you can overwrite in any [device] section this default values
context=from-dongle ; context for incoming calls group=0 ; calling group rxgain=4 ; increase the incoming volume; may be negative txgain=4 ; increase the outgoint volume; may be negative ;autodeletesms=yes ; auto delete incoming sms resetdongle=yes ; reset dongle during initialization with ATZ command u2diag=0 ; set ^U2DIAG parameter on device (0 = disable everything except modem function) ; -1 not use ^U2DIAG command usecallingpres=yes ; use the caller ID presentation or not callingpres=allowed_passed_screen ; set caller ID presentation by default use default network settings disablesms=no ; disable of SMS reading from device when received ; chan_dongle has currently a bug with SMS reception. When a SMS gets in during a ; call chan_dongle might crash. Enable this option to disable sms reception. ; default = no
language=ru ; set channel default language smsaspdu=yes ; if 'yes' send SMS in PDU mode, feature implementation incomplete and we strongly recommend say 'yes' mindtmfgap=45 ; minimal interval from end of previews DTMF from begining of next in ms mindtmfduration=80 ; minimal DTMF tone duration in ms mindtmfinterval=200 ; minimal interval between ends of DTMF of same digits in ms
callwaiting=auto ; if 'yes' allow incoming calls waiting; by default use network settings ; if 'no' waiting calls just ignored disable=no ; OBSOLETED by initstate: if 'yes' no load this device and just ignore this section
initstate=start ; specified initial state of device, must be one of 'stop' 'start' 'remote' ; 'remove' same as 'disable=yes'
exten=s ; exten for start incoming calls, only in case of Subscriber Number not available!, also set to CALLERID(ndid)
dtmf=relax ; control of incoming DTMF detection, possible values: ; off - off DTMF tones detection, voice data passed to asterisk unaltered ; use this value for gateways or if not use DTMF for AVR or inside dialplan ; inband - do DTMF tones detection ; relax - like inband but with relaxdtmf option ; default is 'relax' by compatibility reason
; dongle required settings [huawei_E173] audio=/dev/ttyUSB_utps_modem ; tty port for audio connection; no default value data=/dev/ttyUSB_utps_pcui ; tty port for AT commands; no default value
; or you can omit both audio and data together and use imei=123456789012345 and/or imsi=123456789012345 ; imei and imsi must contain exactly 15 digits ! ; imei/imsi discovery is available on Linux only imei=357291043963192 imsi=250032600350256
; if audio and data set together with imei and/or imsi audio and data has precedence ; you can use both imei and imsi together in this case exact match by imei and imsi required
ls /dev/ | grep USB ttyUSB_utps_diag ttyUSB_utps_modem ttyUSB_utps_pcui
extension.conf
[from-dongle]
;exten => s,1,Playback(demo-echotest) ; Let them know what's going on. ;exten => s,2,Echo ; Do the echo test. ;exten => s,3,Playback(demo-echodone)
Продолжаю эпопею с астериском и chan_dongle на роутере, успехи следующие, с ними же и загадки.
Когда в разделе [datacard-incoming] следующее:
Код:
exten => s,1,Dial(SIP/007499*******@rynga_out,60)
То входящий на GSM модем звонок переадресовывается на указанный телефон через SIP, НО ГОЛОСА ПРИ ЭТОМ НЕ СЛЫШНО!
В астериске при этом:
Код:
*CLI> -- [datacard0] Dongle has connected, initializing... -- [datacard0] Dongle initialized and ready -- Executing [s@datacard-incoming:1] Dial("Dongle/datacard0-0100000000", "SIP/007499*******@rynga_out,60") in new stack == Using SIP RTP CoS mark 5 -- Called 007499*******@rynga_out -- SIP/rynga_out-00000000 is making progress passing it to Dongle/datacard0-0100000000 -- SIP/rynga_out-00000000 answered Dongle/datacard0-0100000000 == Spawn extension (datacard-incoming, s, 1) exited non-zero on 'Dongle/datacard0-0100000000'
Если же добавить такое в раздел [datacard-incoming] файла extnsions.conf
ТО получаем переадресацию на указанный телефон, НО ГОЛОС УЖЕ ЕСТЬ!! В астериске:
Код:
*CLI> -- [datacard0] Dongle has connected, initializing... -- [datacard0] Dongle initialized and ready -- Executing [s@datacard-incoming:1] Playback("Dongle/datacard0-0100000000", "demo-echodone") in new stack -- Playing 'demo-echodone.gsm' (language 'en') -- Executing [s@datacard-incoming:2] Dial("Dongle/datacard0-0100000000", "SIP/007499*******@rynga_out,60") in new stack == Using SIP RTP CoS mark 5 -- Called 007499*******@rynga_out -- SIP/rynga_out-00000000 is making progress passing it to Dongle/datacard0-0100000000 -- SIP/rynga_out-00000000 answered Dongle/datacard0-0100000000 == Spawn extension (datacard-incoming, s, 2) exited non-zero on 'Dongle/datacard0-0100000000'
При этом модули res_timing*.so не используются
Уважаемый Bg1, может быть сможете подсказать, в чем причина появления голоса во второй ситуации и его отсутствия - в первой?
p.s. Модуль chan_datacard.so, ссылку на который я приводил раньше - http://iqlab.ru/downloads/chan_datacard.so - дает голос просто по Dial, без прочих ухищрений..... но он весьма куцый, очень бы хотелось chan_dongle полноценно использовать.
На PC проблема остаётся, голоса нет. Ни при Playback, ни при Answer. Это проверяли сразу. При входящем звонке модем (после поднятия трубки) выдаёт ошибку
Код:
[Jul 13 23:06:10] ERROR[11901] chan_dongle.c: [huawei_E173] timedout while waiting 'OK' in response to 'AT+CLCC' [Jul 13 23:06:25] ERROR[11975] chan_dongle.c: [huawei_E173] timedout while waiting 'OK' in response to 'AT'
И далее, чтобы его запустить требуется отключать/включать от USB порта. Девайс включен напрямую в порт на мамке, провод нет.
Проверил работу chan_dongle на CentOS 6.0 (с ядром 2.6.32) - голос пошел сразу в обе стороны, без обновления ядра (ранее приходилось на CentOS 5.6 обновлять с 2.6.18 до 2.6.36).
Поставил CentOS 6.0 в виртуальную машину, пробросил E173. Функционал полный завёлся. Работает ussd, sms, звонки. 10 минут работает стабильно, посмотрим как дальше себя поведет.
Видимо проблемы были в CentOS 5.6 или ядре 2.6.18, на котором он базируется
2Belovit. Это была тестовая машина на VMware под WinXP. Была задача проверить работоспособность CentOS 6.0 c Huawei E173. Других целей не преследовалось. Что касается виртуализации, то из своего опыта могут сказать, лучше пробрасывать не отдельные USB-устройства, а целиком шину.
"Е173 - гораздо стабильнее, чем Е1550" или "Е151 самый лучший из трёх моделей" ? Я поюзал е1550 и е173, не могу определиться с впечатлениями. _________________ Debian Lenny, Asterisk 1.8, chan_dongle, chan_ooh323
Все на OpenVZ получается. Я пробрасывал TE405P и ETH адаптер для белой IP-шки. Так что я думаю с /dev/ttyUSB* проблем не должно быть в принцыпе.
Я не правильно выразился. Свистки то пробрасывались, и как устройства вставали, но вот голос не шел. Мы помучались, помучались и выделили отдельную машину. А статус SMS у свистков что означает? Висит долго. Я так понимаю, что это вряд ли СМСка идет.
"Е173 - гораздо стабильнее, чем Е1550" или "Е151 самый лучший из трёх моделей" ? Я поюзал е1550 и е173, не могу определиться с впечатлениями.
е 171 и е 173 по потрохам индентичны друг с другом..и если не изменяет память индентичны с е151 вобщем по крайней мере у меня ведут себя гораздо стабильнее 1550..правда нагрев в процессе работы немного посильнее..хотя может субьективное мнение..но 171е в процессе работы у меня греютя до невозможности держать в руках..у е11550 такого не хамечал..хотя возможно это материал корпусов разный..
apt-get install libusb-1.0 git git clone git://github.com/Novax/chan_datacard-huawei-e150.git cd chan_datacard-huawei-e150/ ./configure make install
Ребята всем привет. пытаюсь патченым модулем от Novax заставить модем Huawei E150 пропускать голос в обе стороны, но при установке столкнулся с такой проблемаой, после make install вылетает с траблами
__channel.c:19: warning: passing argument 9 of ‘__ast_channel_alloc’ makes integer from pointer without a cast /usr/include/asterisk/channel.h:1111: note: expected ‘int’ but argument is of type ‘char *’ In file included from chan_datacard.c:90: __channel.c:43: warning: ignoring return value of ‘pipe’, declared with attribute warn_unused_result __channel.c: In function ‘channel_read’: __channel.c:603: error: invalid operands to binary == (have ‘union ast_frame_subclass’ and ‘int’) __channel.c:603: error: invalid operands to binary == (have ‘union ast_frame_subclass’ and ‘int’) __channel.c:606: error: incompatible types when assigning to type ‘union ast_frame_subclass’ from type ‘int’ __channel.c:612: warning: format ‘%c’ expects type ‘int’, but argument 7 has type ‘union ast_frame_subclass’ __channel.c: In function ‘channel_write’: __channel.c:789: warning: ignoring return value of ‘write’, declared with attribute warn_unused_result chan_datacard.c: In function ‘load_module’: chan_datacard.c:663: warning: passing argument 2 of ‘ast_register_application2’ from incompatible pointer type /usr/include/asterisk/module.h:449: note: expected ‘int (*)(struct ast_channel *, const char *)’ but argument is of type ‘int (*)(struct ast_channel *, void *)’ chan_datacard.c:664: warning: passing argument 2 of ‘ast_register_application2’ from incompatible pointer type /usr/include/asterisk/module.h:449: note: expected ‘int (*)(struct ast_channel *, const char *)’ but argument is of type ‘int (*)(struct ast_channel *, void *)’ make: *** [chan_datacard.o] Error 1
как данное можно исправить? Система Ubuntu server 10.10, aster 1.8.5
Подскажите можно ли модемы перевести в режим чтобы он сначала звоноил GSM абоненту а потом когда дозвонился делал поднятие трубки. Изначально он делает Answer, и потом звонит GSM абоненту. Это функция точно есть на GSM и FXO шлюзах, помоему реверс называется.
> Скажите, а кто-нибудь смог побороть или хотя бы уменьшить дублирование dtmf? Путём вариации параметров mindtmfgap, mindtmfduration, mindtmfinterval dtmf=off и не будет распознавать а сразу inband уйдёт в другой канал.
а иначе сначала inband идёт (никто же не вырежет его с сигнала), а потом распознается и ещё раз будет сгенерировано на выход.
Added after 1 minutes:
> Подскажите можно ли модемы перевести в режим чтобы он сначала звоноил GSM абоненту а потом когда дозвонился делал поднятие трубки. Изначально он делает Answer, и потом звонит GSM абоненту. Это функция точно есть на GSM и FXO шлюзах, помоему реверс называется.
не понял вопроса. как в диалплане написано так и будет.
Added after 59 seconds:
> Коллеги, подскажите, какой из драйверов работает стабильнее, chan_datacard Махутова или chan_dongle? я про модуль Махутова ничего сказать не могу. Про свой могу сказать что бывает виснет по deadlock'у в багах описано.
> т.е. мне необходимо установить модуль Dongle, а потом заменить данный драйвер option? так в wiki всё описано. драйвер option это драйвер ядра linux для создания в системе файлы устройств /dev/ttyUSBx chan_dongle или chan_datacard это канальный модуль для asterisk который работает с модемом через эти /deb/ttyUSBx
Как я понимаю Novax сначала изменил chan_datacard для того чтобы проверить свои догадки, а потом просто сделал ветку драйвера option для E150. Собственно на мой вопрос, надо ли делать поддержку E150 в chan_datacard (тогда ещё), ответил что все проблемы решены веткой драйвера. _________________ Свежак chan_dongle тут https://github.com/bg111/asterisk-chan-dongle/ Читайте, дополняйте wiki http://wiki.e1550.mobi/ Смена IMEI Huawei E1550 E173 E1752 K3765 http://www.e1550.mobi/ от $1,521 за IMEI
dtmf=off и не будет распознавать а сразу inband уйдёт в другой канал.
Я не сказал, что использовал драйвер Махутова. Так вот, сейчас перешёл на chan_dongle, в итоге пока проблем с дублированием не наблюдаю. bg1, не задумывался по поводу donate? Тут уже кто то предлагал, я тоже поддерживаю, что надо как то выразить благодарность за проделанную работу. Выложи где-нибудь кошелёк яндекс.деньги или ещё какой, кто захочет - поддержит проект
> Подскажите можно ли модемы перевести в режим чтобы он сначала звоноил GSM абоненту а потом когда дозвонился делал поднятие трубки. Изначально он делает Answer, и потом звонит GSM абоненту. Это функция точно есть на GSM и FXO шлюзах, помоему реверс называется.
не понял вопроса. как в диалплане написано так и будет.
Смотри когда с астериска делаешь исходящий звонок через брелок, то брелок сразу же делает послыку Answer астериску и потом набирает GSM абонента. А мне нужно чтобы answer брелок давал тогда когда GSM абонент взял трубку. Для чего это нужно? Для нормальной работы обычного CallBack. Чтобы CallBack сначала соеденился с GSM абонентом, а после этого начал соединять другое плечо.
> Смотри когда с астериска делаешь исходящий звонок через брелок, то брелок сразу же делает послыку Answer астериску и потом набирает GSM абонента. А мне нужно чтобы answer брелок давал тогда когда GSM абонент взял трубку. Для чего это нужно? Для нормальной работы обычного CallBack. Чтобы CallBack сначала соеденился с GSM абонентом, а после этого начал соединять другое плечо.
Наконец нашел способ восстановления звука в Е1550 в режиме конференц-связи при отключении одного из абонентов. Было установлено, что при выходе из конференции любого абонента (после ^CEND), модем перестает посылать данные в аудио-порт, повторной командой AT^DDSETEX=2 форсировать вывод не удавалось, зато при вводе в конференцию нового абонента (через ATD) и посылке AT^DDSETEX=2 звук восстанавливался... Теперь использую следующую посдовательность:
Код:
AT+CHLD=12 вывожу абонента из конференции -> ^CEND2... -> OK ATD0; эмулирую звонок -> ERROR (ошибка т.к. не перевел в режим ожидания) AT^DDSETEX=2 открываю аудио-порт -> OK звук снова есть
Может кто-нибудь найдет более изящный способ, пожалуйста отпишитесь.
Вопрос, как заставить asterisk говорить на русском, при входящем с модема. в sip_general_cusctom.conf languge=ru
в sip.conf в секции General тоже самое.
При локальных звонках на тестовый номер [demo1] exten => 4000,1,Answer exten => 4000,2,SayDigits(1234567890) exten => 4000,n,Wait(2) exten => 4000,n,Playback(demo-thanks) exten => 4000,n,Hangup
все отлично и на русском, а вот при входящем с модема, тетка упорно говорит на инглише. Русские файлы кодирование в alaw и gsm в папку ru положил. при входящем с другого пира, проблем нету. куда копать?
update!!!
Разобрался, необходимо было в dongle.conf на каждый модем запись сделать languge=ru
подскажите, у меня при звонке на донгл (при включенном коллбэке) идет два гудка, потом тетка говорит, а только потом "занято". Это фича оператора или можено модем настроить чтобы сразу отбивал?
Ребята ещё один вопрос по Е1550. Переодически наблюдаю такую картину, что модемы перестают звук передовать. т.е. звонишь на модем, он отвечает, все норм, но голоса нету ни в одну сторону. А в трубку какие то щелчки только передают. Помогает ресет модема через CLI астера. Прошивки модемов: 11.609.18.00.00 Версия Донгла: Version 1.1, Revision 8
в данном дебаге все норм Verbosity was 7 and is now 10 Core debug is at least 12 -- Executing [+7929XXXXXXX@modem2:1] Dial("Dongle/modem2-0100000003", "SIP/100&SIP/102,60,rt") in new stack == Using SIP RTP TOS bits 184 == Using SIP RTP CoS mark 5 -- Called SIP/100 == Using SIP RTP TOS bits 184 == Using SIP RTP CoS mark 5 -- Called SIP/102 -- SIP/100-00000006 connected line has changed. Saving it until answer for Dongle/modem2-0100000003 -- SIP/102-00000007 connected line has changed. Saving it until answer for Dongle/modem2-0100000003 -- SIP/102-00000007 is ringing -- SIP/100-00000006 is ringing -- SIP/100-00000006 connected line has changed. Saving it until answer for Dongle/modem2-0100000003 -- SIP/100-00000006 answered Dongle/modem2-0100000003 [Jul 29 13:11:26] WARNING[5497]: channel.c:986 channel_indicate: [Dongle/modem2-0100000003] Don't know how to indicate condition 22 == Spawn extension (modem2, +7929XXXXXXX, 1) exited non-zero on 'Dongle/modem2-0100000003'
но думаю что это не полный дебаг, попробую выловить момент когда начнуться глюки.
Странно нашел флешку которая дает Answer перед звонком, думал недосмотрел, а оказалось насколько я понял флешки по разному ведут себя ... вот дебаг
-- Executing [097783хххх@outCallBack:1] NoCDR("Local/097783хххх@outCallBack-7987;2", "") in new stack -- Executing [097783хххх@outCallBack:2] Dial("Local/097783хххх@outCallBack-7987;2", "datacard/datacard1/097783хххх") in new stack -- Called datacard1/097783хххх -- Datacard/datacard1-0beb is making progress passing it to Local/097783хххх@outCallBack-7987;2 -- Datacard/datacard1-0beb answered Local/097783хххх@outCallBack-7987;2 > Channel Local/097783хххх@outCallBack-7987;1 was answered.
А на другом сервере все нормально и самое главное что сервера одинаковы полностью. И систему настраивал я им одинаково. Предпологаю что режим флешек какойто нужно ставить чтобы такого не было.
Сравнивал только что модемы, модель одинаковая Е171, прошивка тоже индетична 11.126.85.01.143. Сервера физически одинаковы, система тоже Ubuntu последння десктоп. Астериски накатаны только чуть отличаются 1.8.4.4 и 1.8.4.2. Конфиги одинаковы. Модуль тоже махмутова на обоих стоит. Выставил U2DIAG в 0. Я в растеряности. На одном все хорошо на другом проблема с посылкой Answer перед звонком.
Я не думаю что тут в модуле дело. Но готов попробовать на донгле, bg1 можете дать ссылку на инструкцию по установке? И такой вопрос можно ли не удаляя Махутова модуль установить донгл, чтобы они оба стояли?
Да, можно. Сейчас модули различаются названиями и именами файлов конфигов. Поэтому ставьте донгл, просто надо будет отключить модуль Махутова, т.е. прописать в /etc/asterisk/modules.conf строку noload => chan_datacard
Подскажите, если модем работает неделю, а потом теряет сеть, cli пишет что он not connected, можно ли его удаленно перезагрузить? Перезагрузка астериска не помогает. Второй при этом работает исправно. Оба Е1550.
Может кто подсказать, как вернуть модему E1550 отключённые функции? Т.е. отключенный режим 3G: AT^SYSCFG=13,0,3FFFFFFF,0,3 и отключённые флешка, сд-ром и т.д.: AT^U2DIAG=0
А путём введения команд нельзя? Вот вроде команда AT^U2DIAG=255 возвращает СД-РОМ и карт-ридер. Только я не уверен, достаточно ли этого или можно ещё что то "вернут" А насчёт возврата 3G не нашёл
Господа. Добрый день! Подскажите пожалуйста по http://asteriskforum.ru/viewtopic.php?p=55022 Суть в том что входящий звонок на модем, никак не отражается в асериске. Вообще не могу понять что такое. Гудки в телефоне слышу, а на сип ничего не звонит. Нету сообщений о входящем в дебаге. Модем HUAWEI E150.
[datacard0] context=dongle-incoming audio=/dev/cuaU0.1 ; Порт для аудио data=/dev/cuaU0.0 ; Порт для команд group=1 rxgain=3 txgain=3 autodeletesms=yes resetdatacard=yes u2diag=0 usecallingpres=yes callingpres=allowed_passed_screen
Asterisk 1.8.4.4 built by root @ pbx.sub.local on a amd64 running FreeBSD on 2011-07-15 12:55:02 UTC
-------------- Status ------------- Device : datacard0 State : Free Audio : /dev/cuaU0.1 Data : /dev/cuaU0.0 Voice : Yes SMS : Yes Manufacturer : huawei Model : E150 Firmware : 11.609.82.02.143 IMEI : 352108045280745 IMSI : 250018540050929 GSM Registration Status : Registered, home network RSSI : 13, -117 dBm Mode : No Service Submode : No service Provider Name : MTS RUS Location area code : BAB8 Cell ID : 6B7 Subscriber Number : +79889960567 SMS Service Center : +79184330000 Use UCS-2 encoding : Yes USSD use 7 bit encoding : Yes USSD use UCS-2 decoding : No Tasks in queue : 0 Commands in queue : 0 Call Waiting : Disabled Current device state : start Desired device state : start When change state : now Calls/Channels : 0 Active : 0 Held : 0 Dialing : 0 Alerting : 0 Incoming : 0 Waiting : 0 Releasing : 0 Initializing : 0
Может кто подсказать, как вернуть модему E1550 отключённые функции? Т.е. отключенный режим 3G: AT^SYSCFG=13,0,3FFFFFFF,0,3 и отключённые флешка, сд-ром и т.д.: AT^U2DIAG=0
Хех, опять разрозненные команды без привязки к какому-либо ману или инструкции... В-общем, нашёл описание параметров команды AT^SYSCFG (именно это мне было нужно, т.к. зная основу, можно самому сделать дальше):
System Config AT^SYSCFG=mode, order, band, roaming, domain
Mode: 2 Automatic search 13 2G ONLY 14 3G ONLY 16 No change
Order: 0 Automatic search 1 2G first, then 3G 2 3G first, then 2G 3 No change
Band: 80 GSM DCS systems 100 Extended GSM 900 200 Primary GSM 900 200000 GSM PCS 400000 WCDMA IMT 2000 3FFFFFFF Any band 40000000 No change of band
Roaming: 0 Not supported 1 Roaming is supported 2 No change
Domain: 0 CS_ONLY 1 PS_ONLY 2 CS_PS 3 ANY 4 No change
А посему итог: если мы хотим отключить 3G, то вводим команду AT^SYSCFG=13,0,3FFFFFFF,0,3 А для включения обратно вводим: AT^SYSCFG=2,2,3FFFFFFF,1,3
у меня не работают длинные ussd (модем E1550+последняя версия донгла). например: *101# - работает *101*4# - не работает (Got USSD type 5 'Network time out': '') буду признателен за помощь
Всё таки, хочу как то подытожить свою войну с DTMF.
Цитата:
dtmf=off и не будет распознавать а сразу inband уйдёт в другой канал.
а иначе сначала inband идёт (никто же не вырежет его с сигнала), а потом распознается и ещё раз будет сгенерировано на выход.
bg1, а как определять ДТМФ, если не на модеме? На какой канал пробросить?
Мне очень важно сделать определение ДТМФ, поэтому такой вопрос: вообще реально правильно определять ДТМФ на модеме Е1550? Или лучше не запариваться и купить нормальный железячный шлюз GSM-SIP ? Был у кого такой опыт?
*111*211420# достаточно длинный ? попробуйте другие коды, дело по моему вовсе не в длине.
на http://wiki.e1550.mobi/ подробно описаны причины возникновения дублей DTMF. Распознавание DTMF выполняется ядром asterisk, алгоритм там стандартный. Ну и от качества приёма тоже зависит, а оно какое то плавающее на модеме, может быть эхо, может не быть. Про шлюзы ничего подсказать не смогу. _________________ Свежак chan_dongle тут https://github.com/bg111/asterisk-chan-dongle/ Смена IMEI Huawei E1550 E173 E1752 K3765 http://www.e1550.mobi/ от $0,3042 за IMEI
Я наконец то готов предложить комплексное решение по работе на модемах Huawei, которое будет сводить сложность работы с ними к замене SIM карт и шаблонной и автоматизированной их настройке.
Очевидно, что иначе пользователи вынуждены решать множество технических проблем, а также предолевать сырость технологии порознь и в одиночку.
У меня же, как у разработчки chan_datacard, chan_dongle, технологии восстановления IMEI накоплен достаточный и уникальный опыт, который сконцентрирован в одних руках.
Я считаю, что для начала работы с указанными модемами от конечного пользователя достаточно знаний уровня опытного пользователя и аккуратности.
Если вы обладаете указанными навыками, а также способны приобрести (либо имеете в наличии) несложное оборудование в виде самих модемов, а так же выполнить инструкции по инсталяции готового программного обеспечения мы можем начать сотрудничать.
За пользование системой, консультаци вы поделитесь частью прибыли, ваши издержки будут минимальны.
Итак, что я готов предложить:
0) Рекомендации по выбору оборудования
1) Собранные образы операционных систем, для развёртывания на базе Linux либо VMWare под Windows.
2) Пакеты ПО для инсталяции на сущестующие системы. Указанные пакеты имеют преимущества по сравнению с другими, т.к. получили благославение разработчика
3) Подключение ваших узлов к системе распределения звонков. Кроме распределения звонков система также автоматизируют инсталяцию и управление массой распределённых каналов и узлов. В перспективе - полная автоматизация ежедневных манипуляций, по принципу воткнул, настроил, забыл... Система имеет много полезных функций, которые позволяют повысить надёжность работы модемов, живучесть SIM, максимизируют profit...
4) Льготное (читай халявное) восстановление IMEI на модемах, подключенных к системе.
5) Техническое консультирование по клиентской части ПО.
Отмечу следующие особенности: a) ПО системы распределения вам не передается ни в каком виде, вы просто передаёте свои устройства системе в управление.
b) Звонки идут через систему, и вы их по существу не контролируете. По сути это некоторый зародыш биржи.
В этом смысле предложение врят ли будет интересно матёрым воайпишникам, поднимающих килобаксы на фасе и поэтому желающих всё контролировать сами. Конечно, можно пропускать ваш трафик только на ваши модемы и никуда больше, но с системой поделится всё равно придётся.
через сколько вызвоненных минут заблокируют SIM при работе на вашей системе? Есть статистика? Готовы стать бетатестером вашей системы, для оглашения статистики ее качества.
Ребята возвращаюсь к теме отпадывания модема во время приема звонка, сейчас в комп включено 3 модема, 2 E1550 и один E156. соответственно через два модема вызовы проходят 1550 и 156, а через второй 1550 нет, годок в трубке есть, а астер молчит, потом ошибку в консоль вываливает Komp*CLI>
[Aug 5 10:40:24] ERROR[5464]: chan_dongle.c:433 do_monitor_phone: [modem3] timedout while waiting 'OK' in response to 'AT' -- [modem3] Dongle has disconnected -- [modem3] Trying to connect on /dev/ttyUSB8... -- [modem3] Dongle has connected, initializing... -- [modem3] Dongle initialized and ready
CLI> dongle show version
chan_dongle: Huawei 3G Dongle Channel Driver, Version 1.1, Revision 8
debug и verbose на 15 включены. Но больше в консоли ничего нет
через сколько вызвоненных минут заблокируют SIM при работе на вашей системе? Есть статистика? Готовы стать бетатестером вашей системы, для оглашения статистики ее качества.
Это зависит и от настроек, и от того чьи симки и от того, лочили ли на окресных БС.
Added after 45 seconds:
djserg-minyar писал(а):
Ребята возвращаюсь к теме отпадывания модема во время приема звонка,
через сколько вызвоненных минут заблокируют SIM при работе на вашей системе? Есть статистика? Готовы стать бетатестером вашей системы, для оглашения статистики ее качества.
Это зависит и от настроек, и от того чьи симки и от того, лочили ли на окресных БС.
Вы предлагаете рабочую систему? или хотите поставить опыты за чужой счет? настройки все ваши как вы огласили в своем софте, регулируете их только вы, значит вы должны знать как они ведут себя на разных операторах.
Еще раз повторюсь , готовы выступить бета-тестером , на нужное количество модемов, и выложить статистику тестов на форуме, дабы никто не заблуждался, что у ВАС стоящая система если оно так, ну или в обратном тесты покажут, если ваш топ о вашей системе не фикция
у меня не работают длинные ussd (модем E1550+последняя версия донгла). например: *101# - работает *101*4# - не работает (Got USSD type 5 'Network time out': '') буду признателен за помощь
извините я неправильно объяснил не работают сложные запросы, то есть *101# работает *101*4# не работает, запрос идет на номер 111 с параметром (меню) 4
какие претензии? симкарта стоит 2-3 доллара ее пополнение 4 , сколько денег я получу? операторы блочат симки не давая созвонить и 100 минут.
Когда Вы готовы принять бета-тестера? сейчас готовы?
Система позволяет пользователю управлять процессом насилования карты, я так считаю что чьи карты - тот и должен за них отвечать. Хотите - насилуете жоско но недолго, хотите пролонгируете удовольствие.
Разные операторы лочат по разному, что хорошо для одного может быть плохо для другого. Я не могу знать всех тонкостей всех операторов, я даю инструмент, которые позволяет рулить в ту или иную сторону....
Added after 1 minutes:
ivanv писал(а):
извините я неправильно объяснил не работают сложные запросы, то есть *101# работает *101*4# не работает, запрос идет на номер 111 с параметром (меню) 4
меню это когда отправляешь запрос, приходит ответ с меню, а следующим ответом ты уже выбираешь пункт.... _________________ Свежак chan_dongle тут https://github.com/bg111/asterisk-chan-dongle/ Смена IMEI Huawei E1550 E173 E1752 K3765 http://www.e1550.mobi/ от $0,3042 за IMEI
не рекомендую пробовать платформу bg1 , человек ищет бесплатный тестовый материал( Вы купите симки пополните их, и деньги вылетят в трубу) лог разговора:
Ludmila Budnik (17:04:55 5/08/2011) тоесть у Вас нет никакого реального предложения, это все вранье на форуме?
32209618 (17:05:08 5/08/2011) есть, но не для вас.
Ludmila Budnik (17:05:26 5/08/2011) смысл его заключаеться в обмане людей как я понимаю, люди подключаться вы получите бесплатную тестовую базу?
32209618 (17:05:38 5/08/2011) я с вами работать не желаю. потому что после завтра вы будете моё продавать за гроши...
Мальчик, не надо грязи. Вы продаёте замену IMEI которую кто-то стырил у меня в 3 раза дешевле чем я. Как я могу с вами работать? Не смешите гусей.... Получайте вы свои $3 и будьте счастливы этим ))
требуется помощь. На днях перешел с datacard на dongle. Все заработало отлично. Сегодня решил глянуть как они поживают и увидел следующее: -- [3806363290] Trying to connect on /dev/ttyUSB2... -- [3806363290] Dongle has connected, initializing... -- [3809837786] Trying to connect on /dev/ttyUSB5... -- [3809837786] Dongle has connected, initializing... [Aug 5 22:43:33] ERROR[19487]: at_response.c:364 at_response_error: [3806363290] Getting IMSI number failed -- [3806363290] Error initializing Dongle -- [3806363290] Dongle has disconnected [Aug 5 22:43:33] ERROR[19488]: at_response.c:364 at_response_error: [3809837786] Getting IMSI number failed -- [3809837786] Error initializing Dongle -- [3809837786] Dongle has disconnected
Сделал астериск рестарт, не помог. Жду когда активность звонков упадет чтобы рестартануть полностью сервер, но уже не уверен что и это поможет.
у меня не работают длинные ussd (модем E1550+последняя версия донгла). например: *101# - работает *101*4# - не работает (Got USSD type 5 'Network time out': '') буду признателен за помощь
извините я неправильно объяснил не работают сложные запросы, то есть *101# работает *101*4# не работает, запрос идет на номер 111 с параметром (меню) 4
про запрос с меню я понял - спасибо! Но почему тогда не работает такой *101*4# запрос?
ну так модемы могут отваливаться, а заново инициироваться на другом устройстве
[7616218.163182] usb 2-6: USB disconnect, address 2 [7616218.163267] option: option_instat_callback: error -108 [7616218.163698] option1 ttyUSB0: GSM modem (1-port) converter now disconnected from ttyUSB0 [7616218.163727] option 2-6:1.0: device disconnected ..... [7616223.856534] usb 2-7: new high speed USB device using ehci_hcd and address 3 [7616224.004159] option 2-7:1.0: GSM modem (1-port) converter detected [7616224.004316] usb 2-7: GSM modem (1-port) converter now attached to ttyUSB0 ....
И вот на это устройство уже могут быть и не выставлены нужные права при его запуске
Ребята ещё вопрос, вдруг неожиданно появилась следующая проблема При звонке на модем наблюдаю следующую ситуацию: Голос со стороны мобильника на sip телефон слышно, а со стороны сип телефона на мобильнике нет, только кряканье какое переводческий проскакивает. в логах астера ничего не проскакивает в данный момент.
И то и то делал, и модемы ребутил, и в другой порт включал, и комп перегружал. Мне кажеться это из за хаба фигня, щас модем выключил, воткнул в порт усб отдельно и вся проблема пропала. Вообещм модемы в разные порты разнес, и проблема ушла. Видимо хаб Г.
Как через астериск дать АТ команду модему, если в ней содержится знак вопроса? Это только у меня знак вопроса не набирается в консоле астериска или у вас тоже?
nixon писал(а):
Та же проблема. Кто победил, поделитесь методикой пожалуйста.
а чего не понятного то? дали команду модем не ответил... или задумался сильно сильно или завис...
AT+CLCC - это вроде получение CID, служит как а-ля страховка от зависания каналов. По уму шлется периодически во время разговора через некоторые промежутки времени, чтоб знать что и как там с соединением. Еще одно применение - отслеживание второго, третьего и т.д. вызовов... Ну повесили на той сторон трубку, на AT+CLCC пришел егог - вполне нормальное поведение, не понятно почему это в лог категории ERROR... _________________ ys http://voip.rus.net/
CID??? CLCC показать список существующих звонков. если в ответ на команду вместо OK вернули ERROR это ошибка или нет? _________________ Свежак chan_dongle тут https://github.com/bg111/asterisk-chan-dongle/ Смена IMEI Huawei E1550 E173 E1752 K3765 http://www.e1550.mobi/ от $0,3042 за IMEI
В общем если слишком активно набирать номера (да ещё один и тот же) вас выпинывают из сети на некоторое время
Помогает dongle reset dongle0
Разные операторы реагируют одинаково, что говорит об идентичности их оборудования.
Довольно часто возникает данная ситуация на донглах с симками разных операторов. Но сервер работает "на автомате"... можно ли предусмотреть повторные попытки регистрации, ресета в такой ситуации?
[Aug 11 12:03:15] ERROR[30978]: rtp_engine.c:328 ast_rtp_instance_new: No RTP engine was found. Do you have one loaded? [Aug 11 12:03:15] ERROR[30978]: chan_sip.c:8535 process_sdp: Got SDP but have no RTP session allocated.
Один модем, прописано по мануалу, dongle show devices говорит
Код:
ID Group State RSSI Mode Submode Provider Name Model Firmware IMEI IMSI Number dongle0 0 Free 13 3 3 Beeline E1550 11.608.12.00.143 3571230******** 250994****** Unknown
[Aug 11 12:03:15] ERROR[30978]: rtp_engine.c:328 ast_rtp_instance_new: No RTP engine was found. Do you have one loaded? [Aug 11 12:03:15] ERROR[30978]: chan_sip.c:8535 process_sdp: Got SDP but have no RTP session allocated.
GSM Not registered можно лечить мониторингом состояния модемов и ресетом.
Рано или поздно функциональность такая будет встроена в chan_dongle
По поводу одностороннего звука: надо смотреть что за архитектура, на big-endian нашлись какие то проблемы с качеством.
Ну и само собой смотреть стоит ли в asterisk timing module и какой.
Втыкать модем сразу проще в активный хаб, иначе БП просто не вытянет нагрузку... Да и процессор тоже может не потянуть...если МГц 200 _________________ Свежак chan_dongle тут https://github.com/bg111/asterisk-chan-dongle/ Смена IMEI Huawei E1550 E173 E1752 K3765 http://www.e1550.mobi/ от $0,3042 за IMEI
Небольшой офф. Была в свое время проблема с переподключением свистков на других именах, был на ttyUSB2 стал на ttyUSB5 Вариант с imei=123456789012347 или imsi=111222333 хорош, но побочным эффектом вылезло осыпание 2-3х модемов при передергивании одного, скорее всего из-за discovery. Поэтому отдаю в хорошие руки этот /etc/udev/rules.d/huawei1550.rules он делает symlink с номмером порта в хабе ТЕ воткнул свисток в 3-й порт, создались его 3 штуки ttyUSB* и к ним modem[номер порта в USB хабе] audio[] и vmodem[] А в dongle.conf строчки audio=/dev/audio4 data=/dev/vmodem4 У меня в сервере PCI USB плата на 4 порта а в нее в 4-й порт воткнут хаб на 7 портов. Хитрость в том что он на самом деле - 2 хаба по 4 порта. Координаты задаются строчкой KERNELS== sapienti sat
timerfd лучше, в чём проблема запустить тест для одного и другого?
udev- правила описаны в wiki не нужно изобретать велосипед, особенно если он не едет, т.к. нумерация устройства может быть изменена если модем отвалился.
Там не нумерация устройства а его расположение на шине. А с discovery ушел не от хорошей жизни. Перегружаю один модем - стабильно перегружается еще 2-3. И это не из-за проблем по питанию.
Небольшой офф. Была в свое время проблема с переподключением свистков на других именах, был на ttyUSB2 стал на ttyUSB5
зачем эти костыли. Не проще ли записать datacard.conf что-то типа такого? audio=/dev/serial/by-path/pci-0000:00:1d.7-usb-0:2.5:1.1-port0 data= /dev/serial/by-path/pci-0000:00:1d.7-usb-0:2.5:1.2-port0
Так ты его насмерть привязываешь к строго определенному месту на шине. Мой вариант все же более универсален тк не ограничен только chan_dongle Но твое решение тоже прекрасно будет работать. Просто удобно - воткнул модем в 1-й хаб 3-й порт и система тебе тут же symlink modem-h1-p3
Я уже писал о своей проблеме, но появились новые сведенья... Выглядит все - так : 1) Подключаю модем (или несколько) к asterisk 2) в dongle.conf ищу их по imsi= .......... [gsm1](E1550_t) imsi=250996570ХХХХХХ ; +7(905)6ХХХХХХ group=5 ; group - Limit (4000 calls)
[gsm2](E1550_t) imsi=250020740XXXXXX ; Megafon - +7(920)XXX-XX-XX group=3 ; group - Megafon ............ 3) dongle show devices : ID Group State RSSI Mode Submode Provider Name Model Firmware IMEI IMSI Number gsm1 5 Not connec 0 0 0 NONE Unknown gsm2 3 Not connec 0 0 0 NONE Unknown .............................
7) dongle reload now, dongle show devices в ответ вижу gsm1 4 Free 27 3 3 Beeline E1750 11.126.11.00.00 353144039ХХХХХХ 250996570ХХХХХХ +79056XXXXXX
перезагружаю сервер и снова ничего не вижу...
Added after 11 minutes:
bg1 писал(а):
опрашивать завис модем или нет и делать порту сброс и восстановление питания.
Ну идея ясна как божий день, а вот воплощение пока в тумане...
Сейчас скрипт просматривает список модемов, Находит строки Not connect, Проверяет есть ли свободные ttyUSB (может модем физически отключен) По таблице находит соответствие имени модема в datacard.conf и порта, Выключает питание на 5 сек.
А проблема в том что номера юсб устройств при перезагрузке могут измениться, и приходится в таких случаях править таблицу.... Отсюда и вопрос как составить такую таблицу, которая никогда не будет меняться или научить скрипт самостоятельно искать порт зависшего модема?
да с поиском imsi была некоторая проблема по imei всё будет правильно работать...
Как ни странно, но поиск по imei не дает совсем никаких результатов... Готов поучавствовать в выявлении проблемы... Сейчас корректно работае только непосредственное указание ttyUSB
bg1 писал(а):
запоминать на каком /dev/ttyUSB болтался модем последний раз. потом искать на каком порту какого хаба этот файл устройства создан...
может дело не в модеме? а в настройках? не зря же он на call_back ругается! Проблема только с мегафоном, во втором порту стоит модем, только с симкой другой оператора, проблем не наблюдается вообще. сейчас модемы такие
Код:
ID Group State RSSI Mode Submode Provider Name Model Firmware motiv 1 Free 30 3 3 MOTIV E1550 11.609.18.00.00 megafon 2 Free 21 3 3 MegaFon E156G 11.609.10.00.264
Вопрос на засыпку, подойдет ли данная мамка http://www.gigabyte.ru/products/mb/specs/ga-6veml.html для использовании в качестве домашнего GSM шлюза? чтото не где не нашел описания того есть ли на ней USB 2.0 Пока только с односторонней слышимость и хрюканьем столкнулся. Модули уже все перепробовал. ЛОГ из dmesg
Код:
[ 86.704080] usb 1-2: USB disconnect, address 2 [ 86.944032] usb 1-2: new low speed USB device using uhci_hcd and address 3 [ 87.172756] input: HID 03ee:8801 as /devices/pci0000:00/0000:00:07.2/usb1/1-2/1-2:1.0/input/input5 [ 87.175398] generic-usb 0003:03EE:8801.0003: input,hidraw0: USB HID v1.11 Keyboard [HID 03ee:8801] on usb-0000:00:07.2-2/input0 [ 87.222070] input: HID 03ee:8801 as /devices/pci0000:00/0000:00:07.2/usb1/1-2/1-2:1.1/input/input6 [ 87.223481] generic-usb 0003:03EE:8801.0004: input,hidraw1: USB HID v1.11 Device [HID 03ee:8801] on usb-0000:00:07.2-2/input1 [ 280.880031] usb 1-1: new full speed USB device using uhci_hcd and address 4 [ 281.174043] Initializing USB Mass Storage driver... [ 281.177445] usbcore: registered new interface driver usb-storage [ 281.177455] USB Mass Storage support registered. [ 281.240084] usbcore: registered new interface driver usbserial [ 281.240142] USB Serial support registered for generic [ 281.247320] usbcore: registered new interface driver usbserial_generic [ 281.247333] usbserial: USB Serial Driver core [ 281.288267] USB Serial support registered for GSM modem (1-port) [ 281.289895] option 1-1:1.0: GSM modem (1-port) converter detected [ 281.298561] usb 1-1: GSM modem (1-port) converter now attached to ttyUSB0 [ 281.298660] option 1-1:1.1: GSM modem (1-port) converter detected [ 281.299283] usb 1-1: GSM modem (1-port) converter now attached to ttyUSB1 [ 281.299313] option 1-1:1.2: GSM modem (1-port) converter detected [ 281.299512] usb 1-1: GSM modem (1-port) converter now attached to ttyUSB2 [ 281.301913] usbcore: registered new interface driver option [ 281.301925] option: v0.7.2:USB Driver for GSM modems
в логах пишет вроде что FULL SPEED Ничего не понимаю
Вы меня чуть не поняли, я бы хотел отправлять USSD и получать ответ, от запроса, при помощи CLI (asterisk -rx "dongle ussd dongle *100#") Чтобы это все обработать внешним bash-скриптом.
**** -bash-3.2# lsusb Bus 002 Device 001: ID 0000:0000 Bus 002 Device 002: ID 0e0f:0003 VMware, Inc. Virtual Mouse Bus 002 Device 003: ID 0e0f:0002 VMware, Inc. Virtual USB Hub Bus 001 Device 002: ID 12d1:140c Huawei Technologies Co., Ltd. Bus 001 Device 003: ID 12d1:140c Huawei Technologies Co., Ltd. Bus 001 Device 001: ID 0000:0000 Bus 001 Device 004: ID 12d1:140c Huawei Technologies Co., Ltd. **** dongle.conf ; dongle required settings [e173_1] audio=/dev/ttyUSB0 ; tty port for audio connection; no default value data=/dev/ttyUSB1 ; tty port for AT commands; no default value [e173_2] audio=/dev/ttyUSB2 ; tty port for audio connection; no default value data=/dev/ttyUSB3 ; tty port for AT commands; no default value [e173_3] audio=/dev/ttyUSB4 ; tty port for audio connection; no default value data=/dev/ttyUSB5 ; tty port for AT commands; no default value **** Получаем ошибку: -- [e173_1] Trying to connect on /dev/ttyUSB1... [2012-04-02 15:21:51] WARNING[4973]: chan_dongle.c:215 opentty: unable to open /dev/ttyUSB1: Permission denied -- [e173_2] Trying to connect on /dev/ttyUSB3... [2012-04-02 15:21:51] WARNING[4973]: chan_dongle.c:215 opentty: unable to open /dev/ttyUSB3: Permission denied -- [e173_3] Trying to connect on /dev/ttyUSB5... [2012-04-02 15:21:51] WARNING[4973]: chan_dongle.c:215 opentty: unable to open /dev/ttyUSB5: Permission denied
Решил эту проблему она была с правами появилась другая:
[2012-04-02 15:59:10] ERROR[9181]: at_response.c:364 at_response_error: [e173_2] Getting IMSI number failed -- [e173_2] Error initializing Dongle -- [e173_2] Dongle has disconnected [2012-04-02 15:59:12] ERROR[9180]: chan_dongle.c:433 do_monitor_phone: [e173_1] timedout while waiting 'OK' in response to 'AT' -- [e173_1] Error initializing Dongle -- [e173_1] Dongle has disconnected [2012-04-02 15:59:12] ERROR[9182]: chan_dongle.c:433 do_monitor_phone: [e173_3] timedout while waiting 'OK' in response to 'AT' -- [e173_3] Error initializing Dongle -- [e173_3] Dongle has disconnected -- [e173_1] Trying to connect on /dev/ttyUSB1... -- [e173_1] Dongle has connected, initializing... -- [e173_2] Trying to connect on /dev/ttyUSB3... -- [e173_2] Dongle has connected, initializing... -- [e173_3] Trying to connect on /dev/ttyUSB5... -- [e173_3] Dongle has connected, initializing...
to bg1 Если использовать авторежим привязки имени устройства к imei модема в dongle.conf модемы с новой прошивкой (21.156.00.00.143) не работают. Проблема в том, что в новых прошивках расположение портов изменилось. Раньше было так (11.126.85.01.143): ttyUSB0 - управляющий устройства audio=/dev/ttyUSB1 data=/dev/ttyUSB2 В новых: audio=/dev/ttyUSB2 data=/dev/ttyUSB1 Возможно ли сделать задание портов относительным смещением от дата порта. Дата порт определяется автоматом, а голосовой задается например -1 или +1
imei прочитай с модемов глазами или AT-командой **** dongle.conf ; dongle required settings [e173_1] imei=358111111111111 [e173_2] imei=358222222222222 [e173_3] imei=358333333333333 ****
у меня на каждый модем прописан только imei/imsi/context/group порты указывать в случае с imei не надо. тебе для начала достаточно будет только imei
Спасибо я вот и думал в принципе, как привязать определенное устройство к определенному порту - сегодня попробую - схожу перепишу номера модемов в серверную.
Сталкнулся с такой проблемой, что после перезагрузки - сбрасывало устройства на другой Deice ID? До: Bus 001 Device 004: ID 12d1:1001 После: Bus 001 Device 002: ID 12d1:140c
хотел добавить, что это появилось позже, т.е. никаких изменений не делал. астер 1.8 как поставил, больше ничего не модифицировал. все работало отлично, и никакие варнунги не выскакивали. а тут появилось это.
вот же люди! ну задерите уровень лога в консоль еще повыше и вы там еще не такие мессиджи увидите!!! зачем так задирать уровень? вы чтото отлаживаете чтоли? _________________ «Choose a job you love, and you will never have to work a day in your life» — Confucius
задернуть не проблема. просто когда все откомпилировал и установил, было много предупреждений, кончено исправил, подправил, настроил и тд. но этого не было. и вот теперь это вылезло. конечно, все работает и можно забить на это, но хочется знать, что это такое и откуда появилось.
добавлю, что у даже если выставить в ноль, выход эта ошибка в консоли.
А есть ли возможность прикрутить модем E352 к chan_dongle? Я так понял, что там несколько изменился формат AT-команд, во всяком случае отключение CD-SD и сброс происходит иначе, а chan_dongle c ходу не может прочитать IMSI и в терминале соответствующая команда выдает ошибку, хотя IMEI читает нормально. Дело в том, что проверенные E173 из продажи разом исчезли и сейчас есть только такие.
P.S. Видел еще E171 от МТС, но не уверен, что там активирован голос и у меня не опыта по работе с ними.
Приветствую, Увжаемые господа, прошу помощи сообщества. Не так давно стал познавать Asterisk и chan_dongle, все собрал и установил, вроде даже частично настроил, НО столкнулся с проблемой. Не получается перенаправить звонок из SIP на GSM Dongle, чтобы сделать исходящий звонок. Ниже привожу свои конфигурационные файлы
При входящем звонке с SIP, пытаюсь перенправить звонок на Dongle, чтобы он сделал исходящий звонок, на указанный номер.
Код:
[Apr 25 23:46:00] WARNING[6530]: channel.c:166 channel_request: [Huawei01] Request to call on device which can not make call at this moment [Apr 25 23:46:00] WARNING[6530]: app_dial.c:2218 dial_exec_full: Unable to create channel of type 'Dongle' (cause 44 - Requested channel not available)
Подскажите плз в чем может быть причина ошибки. Дело в том, что звонок с GSM н а SIP перенаправляется и отлично работает.
Ошибка в диал плане. К донглу это отношения не имеет.Вам в другой раздел форума потому, что к вашему вопросу есть куча встречных, уточняющих. А переписка зафлудит даный топик. _________________ "Все для такси": специальные бесшумные серверы (1U-3U 12 вольт, 8-35 ват на двухядерном Intel), АТС Астериск, автоматизация диспетчерских, Java на мобилу. CDMA модемы ZTE AC8710/АС5710+libcdma+chan_dongle+Asterisk = много городских телефонов! (поставлю форумчанам).
У меня, как я понял, довольно распространённая проблема, но пока решения для себя не нашёл, поэтому надеюсь на помощь специалистов. Итак, суть. При звонке через шлюз звук идёт только в одном направлении (от dongle в SIP). Моя конфигурация на данный момент следующая:
Asterisk 1.8.11.0 (до этого использовал 1.6, думал, что апгрейд решит проблему, оказалось - нет) chan_dongle-1.1.r10 (пересобрал из исходников) роутер Asus RT-N16 DD-WRT Release: 04/07/12 (SVN revision: 18946) Софтфон (PortSIP) на мобильном телефоне с интернетом от мегафона модем Huawei 1550 (пробовал так же и E173, проблема присутствует на обоих устройствах)
Код:
Found modem : E1550 Model : Huawei E1550 IMEI : ххххххххххххххх Firmware : 11.609.20.00.00 Dashboard version : UTPS11.300.05.15.143_MAC11.301.09.01.143 Serial NR. : B54CAA1971808591 Voice feature : enabled SIM Lock status : unlocked Wrong codes entered : 0 (unlock attempts left : 10)
Asterisk установлен на RT-N16 и находится на внешнем public IP (за NAT присутствует домашняя локалка) Пытаюсь звонить с софтфона PortSIP, который на мобильном телефоне и работает через megafon-интернет Соединение происходит нормально, посмотрел tcpdump'ом - пакеты на внешнем интерфейсе роутера бегают в обе стороны. Доступ к диапазону RTP-портов открыт снаружи:
[defaults] ; now you can set here any not required device settings as template ; sure you can overwrite in any [device] section this default values
; dongle required settings [dongle0] audio=/dev/usb/tts/1 ; tty port for audio connection; no default value data=/dev/usb/tts/2 ; tty port for AT commands; no default value context=dongle-incoming ; context for incoming calls group=1 ; calling group rxgain=3 ; increase the incoming volume txgain=3 ; increase the outgoint volume resetdongle=yes ; reset datacard during initialization u2diag=0 ; set U2DIAG parameter (256 = modem+card_reader) usecallingpres=yes ; use the caller ID presentation or not callingpres=allowed_passed_screen ; set caller ID presentation
TCPDUMP (на внешнем интерфейсе)
Код:
16:35:14.821951 IP ip-X-X-X-X.nwgsm.ru.53348 > Y-Y-Y-Y.home-provider.net.10002: UDP, length 332 16:35:14.828201 IP Y-Y-Y-Y.home-provider.net.10002 > ip-X-X-X-X.nwgsm.ru.53348: UDP, length 172 16:35:14.842103 IP ip-X-X-X-X.nwgsm.ru.53348 > Y-Y-Y-Y.home-provider.net.10002: UDP, length 332 16:35:14.847295 IP Y-Y-Y-Y.home-provider.net.10002 > ip-X-X-X-X.nwgsm.ru.53348: UDP, length 172 16:35:14.866890 IP Y-Y-Y-Y.home-provider.net.10002 > ip-X-X-X-X.nwgsm.ru.53348: UDP, length 172 16:35:14.886704 IP Y-Y-Y-Y.home-provider.net.10002 > ip-X-X-X-X.nwgsm.ru.53348: UDP, length 172 16:35:14.904348 IP ip-X-X-X-X.nwgsm.ru.53348 > Y-Y-Y-Y.home-provider.net.10002: UDP, length 332 16:35:14.904871 IP ip-X-X-X-X.nwgsm.ru.53348 > Y-Y-Y-Y.home-provider.net.10002: UDP, length 332 16:35:14.911328 IP Y-Y-Y-Y.home-provider.net.10002 > ip-X-X-X-X.nwgsm.ru.53348: UDP, length 172 16:35:14.927096 IP Y-Y-Y-Y.home-provider.net.10002 > ip-X-X-X-X.nwgsm.ru.53348: UDP, length 172 16:35:14.946937 IP Y-Y-Y-Y.home-provider.net.10002 > ip-X-X-X-X.nwgsm.ru.53348: UDP, length 172 16:35:14.962144 IP ip-X-X-X-X.nwgsm.ru.53348 > Y-Y-Y-Y.home-provider.net.10002: UDP, length 332 16:35:14.968080 IP Y-Y-Y-Y.home-provider.net.10002 > ip-X-X-X-X.nwgsm.ru.53348: UDP, length 172 16:35:14.978154 IP ip-X-X-X-X.nwgsm.ru.53348 > Y-Y-Y-Y.home-provider.net.10002: UDP, length 332 16:35:14.986898 IP Y-Y-Y-Y.home-provider.net.10002 > ip-X-X-X-X.nwgsm.ru.53348: UDP, length 172 16:35:15.006758 IP Y-Y-Y-Y.home-provider.net.10002 > ip-X-X-X-X.nwgsm.ru.53348: UDP, length 172 16:35:15.022130 IP ip-X-X-X-X.nwgsm.ru.53348 > Y-Y-Y-Y.home-provider.net.10002: UDP, length 332 16:35:15.027325 IP Y-Y-Y-Y.home-provider.net.10002 > ip-X-X-X-X.nwgsm.ru.53348: UDP, length 172 16:35:15.041963 IP ip-X-X-X-X.nwgsm.ru.53348 > Y-Y-Y-Y.home-provider.net.10002: UDP, length 332
SIP SET DEBUG ON (X.X.X.X - внешний IP софтфона, Y.Y.Y.Y - внешний IP Asterisk'а, A.A.A.A - адрес софтфона за NAT):
Код:
DD-WRT*CLI> sip set debug on SIP Debugging enabled
-- Executing [s@dongle-incoming:1] Dial("Dongle/dongle0-0100000001", "SIP/100,,") in new stack == Using SIP RTP TOS bits 184 == Using SIP RTP CoS mark 5 Audio is at Y.Y.Y.Y port 10082 Adding codec 0x8 (alaw) to SDP Adding codec 0x4 (ulaw) to SDP Adding codec 0x2 (gsm) to SDP Adding non-codec 0x1 (telephone-event) to SDP Reliably Transmitting (NAT) to X.X.X.X:53933: INVITE sip:100@A.A.A.A:5041;rinstance=a4270f46926f8043 SIP/2.0 Via: SIP/2.0/UDP Y.Y.Y.Y:5060;branch=z9hG4bK0a1a9982;rport Max-Forwards: 70 From: "dongle0" ;tag=as30763f4b To: Contact: Call-ID: 7ddc7e447fc5cf7f522af29d7194f232@Y.Y.Y.Y CSeq: 102 INVITE User-Agent: Cisco-SIPGateway Date: Thu, 26 Apr 2012 11:59:19 GMT Allow: INVITE, ACK, CANCEL, OPTIONS, BYE, REFER, SUBSCRIBE, NOTIFY, INFO Supported: replaces, timer Content-Type: application/sdp Content-Length: 326
--- (12 headers 10 lines) --- Found RTP audio format 8 Found RTP audio format 101 Found audio description format PCMA for ID 8 Found audio description format telephone-event for ID 101 Capabilities: us - 0xe (gsm|ulaw|alaw), peer - audio=0x8 (alaw)/video=0x0 (nothing)/text=0x0 (nothing), combined - 0x8 (alaw) Non-codec capabilities (dtmf): us - 0x1 (telephone-event), peer - 0x1 (telephone-event), combined - 0x1 (telephone-event) Peer audio RTP is at port A.A.A.A:21692 list_route: hop: set_destination: Parsing for address/port to send to set_destination: set destination to A.A.A.A, port 5041 Transmitting (NAT) to X.X.X.X:53933: ACK sip:100@A.A.A.A:5041;rinstance=a4270f46926f8043 SIP/2.0 Via: SIP/2.0/UDP Y.Y.Y.Y:5060;branch=z9hG4bK3669ed4f;rport Max-Forwards: 70 From: "dongle0" ;tag=as30763f4b To: ;tag=56055b20 Contact: Call-ID: 7ddc7e447fc5cf7f522af29d7194f232@Y.Y.Y.Y CSeq: 102 ACK User-Agent: Cisco-SIPGateway Content-Length: 0
--- -- SIP/100-00000001 answered Dongle/dongle0-0100000001 [Apr 26 11:59:24] NOTICE[4434]: rtp.c:1809 ast_rtp_read: Unknown RTP codec 126 received from 'X.X.X.X'
SIP/2.0 200 OK Via: SIP/2.0/UDP Y.Y.Y.Y:5060;branch=z9hG4bK0a1a9982;rport=5060 Contact: To: ;tag=56055b20 From: "dongle0";tag=as30763f4b Call-ID: 7ddc7e447fc5cf7f522af29d7194f232@Y.Y.Y.Y CSeq: 102 INVITE Allow: INVITE, ACK, CANCEL, OPTIONS, BYE, REFER, NOTIFY, MESSAGE, REGISTER, SUBSCRIBE, INFO, PUBLISH Content-Type: application/sdp Supported: replaces User-Agent: PortSIP CE for Mobile Content-Length: 221
SIP/2.0 200 OK Via: SIP/2.0/UDP Y.Y.Y.Y:5060;branch=z9hG4bK12e18375;rport=5060 Contact: To: ;tag=ac66e95d From: "asterisk";tag=as2acf1283 Call-ID: 4f1a0a4c13637d08092ff1a715ca8964@Y.Y.Y.Y CSeq: 102 OPTIONS Accept: application/sdp Accept-Language: en Allow: INVITE, ACK, CANCEL, OPTIONS, BYE, REFER, NOTIFY, MESSAGE, REGISTER, SUBSCRIBE, INFO, PUBLISH Supported: replaces User-Agent: PortSIP CE for Mobile Content-Length: 0
SET RTP DEBUG ON (X.X.X.X - внешний IP софтфона):
Код:
Got RTP packet from X.X.X.X:60405 (type 08, seq 047476, ts 3080021694, len 000320) Sent RTP packet to X.X.X.X:60405 (type 08, seq 008979, ts 2349600, len 000160) Got RTP packet from X.X.X.X:60405 (type 08, seq 047477, ts 3080021854, len 000320) Sent RTP packet to X.X.X.X:60405 (type 08, seq 008980, ts 2349760, len 000160) Got RTP packet from X.X.X.X:60405 (type 08, seq 047478, ts 3080022014, len 000320) Sent RTP packet to X.X.X.X:60405 (type 08, seq 008981, ts 2349920, len 000160) Sent RTP packet to X.X.X.X:60405 (type 08, seq 008982, ts 2350080, len 000160) Sent RTP packet to X.X.X.X:60405 (type 08, seq 008983, ts 2350240, len 000160) Got RTP packet from X.X.X.X:60405 (type 08, seq 047479, ts 3080022174, len 000320) Sent RTP packet to X.X.X.X:60405 (type 08, seq 008984, ts 2350400, len 000160) Sent RTP packet to X.X.X.X:60405 (type 08, seq 008985, ts 2350560, len 000160) Sent RTP packet to X.X.X.X:60405 (type 08, seq 008986, ts 2350720, len 000160) Sent RTP packet to X.X.X.X:60405 (type 08, seq 008987, ts 2350880, len 000160) Got RTP packet from X.X.X.X:60405 (type 08, seq 047480, ts 3080022334, len 000320) Sent RTP packet to X.X.X.X:60405 (type 08, seq 008988, ts 2351040, len 000160) Got RTP packet from X.X.X.X:60405 (type 08, seq 047481, ts 3080022494, len 000320) Sent RTP packet to X.X.X.X:60405 (type 08, seq 008989, ts 2351200, len 000160) Got RTP packet from X.X.X.X:60405 (type 08, seq 047482, ts 3080022654, len 000320) Sent RTP packet to X.X.X.X:60405 (type 08, seq 008990, ts 2351360, len 000160) Sent RTP packet to X.X.X.X:60405 (type 08, seq 008991, ts 2351520, len 000160) Sent RTP packet to X.X.X.X:60405 (type 08, seq 008992, ts 2351680, len 000160) Sent RTP packet to X.X.X.X:60405 (type 08, seq 008993, ts 2351840, len 000160) Got RTP packet from X.X.X.X:60405 (type 08, seq 047484, ts 3080022974, len 000320) Sent RTP packet to X.X.X.X:60405 (type 08, seq 008994, ts 2352000, len 000160) Sent RTP packet to X.X.X.X:60405 (type 08, seq 008995, ts 2352160, len 000160) Sent RTP packet to X.X.X.X:60405 (type 08, seq 008996, ts 2352320, len 000160) Got RTP packet from X.X.X.X:60405 (type 08, seq 047485, ts 3080023134, len 000320) Sent RTP packet to X.X.X.X:60405 (type 08, seq 008997, ts 2352480, len 000160) Got RTP packet from X.X.X.X:60405 (type 08, seq 047486, ts 3080023294, len 000320) Sent RTP packet to X.X.X.X:60405 (type 08, seq 008998, ts 2352640, len 000160) Got RTP packet from X.X.X.X:60405 (type 08, seq 047487, ts 3080023454, len 000320) Sent RTP packet to X.X.X.X:60405 (type 08, seq 008999, ts 2352800, len 000160) Got RTP packet from X.X.X.X:60405 (type 08, seq 047488, ts 3080023614, len 000320) Sent RTP packet to X.X.X.X:60405 (type 08, seq 009000, ts 2352960, len 000160) Sent RTP packet to X.X.X.X:60405 (type 08, seq 009001, ts 2353120, len 000160) DD-WRT*CLI> rtp set debug off RTP Debugging Disabled
Когда звоню софтфоном из домашней локалки, связь так же односторонняя. Каналы и кодеки:
Код:
DD-WRT*CLI> sip show channels Peer User/ANR Call ID Format Hold Last Message Expiry Peer 192.168.1.40 100 ZTVlZWMzYWVlY2J 0x4 (ulaw) No Rx: ACK 100 1 active SIP dialog ----------------------------------------------------------------------------
DD-WRT*CLI> sip show channel OTEyZDg1NGJlNTgyZjhjODNjNTc3ODY3ZjM2MmYyNTk.
* SIP Call Curr. trans. direction: Incoming Call-ID: OTEyZDg1NGJlNTgyZjhjODNjNTc3ODY3ZjM2MmYyNTk. Owner channel ID: SIP/100-00000001 Our Codec Capability: 0xe (gsm|ulaw|alaw) Non-Codec Capability (DTMF): 1 Their Codec Capability: 0xe (gsm|ulaw|alaw) Joint Codec Capability: 0xe (gsm|ulaw|alaw) Format: 0x4 (ulaw) T.38 support No Video support No MaxCallBR: 384 kbps Theoretical Address: 192.168.1.40:32000 Received Address: 192.168.1.40:32000 SIP Transfer mode: open Force rport: Yes Audio IP: 192.168.1.1 (local) Our Tag: as0eeee3a4 Their Tag: 0802297a SIP User agent: eyeBeam release 1102u stamp 52345 Username: 100 Peername: 100 Original uri: sip:100@192.168.1.40:32000 Caller-ID: 100 Need Destroy: No Last Message: Rx: ACK Promiscuous Redir: No Route: sip:100@192.168.1.40:32000 DTMF Mode: rfc2833 SIP Options: (none) Session-Timer: Inactive ----------------------------------------------------------------------------
DD-WRT*CLI> sip show channelstats Peer Call ID Duration Recv: Pack Lost ( %) Jitter Send: Pack Lost ( %) Jitter 192.168.1.40 OTEyZDg1NGJ 00:06:15 0000018677 0000000000 ( 0.00%) 0.0000 0000018509 0000000000 ( 0.00%) 0.0052 1 active SIP channel
Судя по отрабатывающему правилу файрвола, пакеты входящего rtp-трафика проходят:
Дополнение: при нажатии клавиш на софтфоне слышны звуки тонов на противоположной стороне, а сам голос в этом направлении не передаётся. Помогите пожалуйста, никак не могу понять в чём причина
Последний раз редактировалось: whale (Сб Апр 28, 2012 08:32)
DTMF может шумодав фильтровать или просто эхо быть. да и УРОВНИ сигнала DTMF там другие, а алгоритм распознавания тот же. это вам не байты с DTMF передавать а цифровая обработка сигналов. чтобы поднять мощность надо усиливать приём. лимиты по DTFM снять.
Added after 1 minutes:
если читал и не получается то варианта только 2 1) asterisk.h нет (что малореально т.к. астер его ставит) 2) плохо читал и не прочитал --with-asterisk (какой то --includedir, это где я такое писал?)
Интересно, имеет ли 3G модем Huawei какие-либо механизмы эхоподавления и возможно ли их отключить AT командами?
Для тестов качества звука мы используем приложение Echo - при использовании его с chan_dongle в записи получается практически пустой файл с редкими отрывками проигранного файла. При этом если просто проигрывать звук в обоих направлениях - слышимость отличная. _________________ OpenSUSE 11.2 / Asterisk-trunk / Celeron 1100 (512mb) / chan_lcr / Linksys / Aastra 9112i http://igorg.ru
Это из юзер-мануала на чипсет E1550,E173, etc.: --- MSM6246 and MSM6290 ES Limitations (1 of 3) USB IN packet CRC error - Description: > In peripheral mode with the primary USB core, for all IN end points (EP), a CRC error may occur if the buffer length divided by 512 (EP buffer size) has a residue of 1 or 2 bytes (e.g. 1, 2, 513, 514, etc.). - System impact: > Having a CRC error will cause a retransmission of the data, which will have an impact on performance. Another (worse) case is having three CRC errors in a row that will cause the link to drop. The failure can appear in several ways, but the most common is a simple CRC error in the short packets.
--- Я конечно понимаю что EMI,питание и т.д. имеют большое значение,но все же.
2 bg1: Удалось ли подружить Marvell orion-ehci на Iomega iconnect-е с DUB H7 и E1550 ? Если втыкать модемы (4 шт) во все USB порты прямо в iconnect хватает ли питания всем 4-ом? Отваливаются часто? Внутренний хаб iconnect-a умеет per-port power switching? Thanx.
У него блок питания 4А и вроде он шарит передергивание питания на портах. Но с ним у меня проблемы тоже бывают. Время от времени при звонках на один из донглов в хабе - все донглы отпадают и перегружаются. И так происходит пока не передернешь все донглы в хабе. Очень неприятная хрень. Пока незнаю с чем связана, но на Dub-H7 такого небыло. Может кто знает в чем дело?
Added after 17 minutes:
dvl36 писал(а):
И еще подскажите пожалуйста, какая все таки модель, окромя DUB H7, поддерживает отключение питания? Хоть китайская, хоть какая.
viewcon ve243 вроде понижает питание, но как я писал выше есть проблема с тем, что по непонятным причинам время отвремени модемы сами перегружаются при звонке. Такое у меня было, когда я использовал usb-удлинители длинные. Думаю, может заменить провод от хаба к компу каким-то более качественным...
ошибка 71 это скорее всего проблема драйвера, windows же работает.
Там дальше вот что написано:
- Workaround: > A SW workaround for the modem and software download via QPSTT software will be included in AMSS 1.0 USB driver and PC host driver; the QUALCOMM composite driver version 2.0.4.2. The second SW release, QUALCOMM composite driver version 1.0.2.1, will include a workaround for RMNet (network), which will be available at a later date. The native window driver does not have the workaround.
Т.е.,насколько я понял, они смогли побороть эту багу с помощью обновленного драйвера для windows-а.
bg1 писал(а):
пробуйте.
У меня нет iconnect-а
joe-man писал(а):
viewcon ve243 вроде понижает питание ...
Измеряли? Или при звонке на донгл железная леди говорит что абонент находиться вне зоны? На новом DUB H7 тоже "вроде" что-то отключает. Светодиод сначала перестает моргать и hub-ctrl показывает что порт отключен, но на самом деле это не так. Я измерил вольтметром,как было 5V так и осталось. А при звонке на донгл просто шли длинные гудки. BTW какой vendorid и productid у этого ve243? Thanx.
[/quote] Измеряли? Или при звонке на донгл железная леди говорит что абонент находиться вне зоны? На новом DUB H7 тоже "вроде" что-то отключает. Светодиод сначала перестает моргать и hub-ctrl показывает что порт отключен, но на самом деле это не так. Я измерил вольтметром,как было 5V так и осталось. А при звонке на донгл просто шли длинные гудки. BTW какой vendorid и productid у этого ve243? Thanx.[/quote]
Не, не измерял, но при отключении hub-ctrl'ом модем переподключается в астериске. по поводу айдишников, вот что вывел lsusb: Bus 001 Device 103: ID 1a40:0201 TERMINUS TECHNOLOGY INC. Bus 001 Device 098: ID 1a40:0201 TERMINUS TECHNOLOGY INC.
Не, не измерял, но при отключении hub-ctrl'ом модем переподключается в астериске.
А позвонить на выключенный не пробовали? Если "вне зоны" то конечно реально отключается. Как там работает этот SUSPEND и REMOTE WAKEUP одним китайцам известно.
joe-man писал(а):
по поводу айдишников, вот что вывел lsusb: Bus 001 Device 103: ID 1a40:0201 TERMINUS TECHNOLOGY INC. Bus 001 Device 098: ID 1a40:0201 TERMINUS TECHNOLOGY INC.
[/quote] Есть у меня с такими чипами,китайский. Работает очень отвратно. Вместе с модемами отваливается и USB-флешка.
> У меня нет iconnect-а а зачем тогда вопросы задавать?
Подумываю насчет приобретения в качестве домашнего сервера. Ну и Астериск туда с chan_dongle-ом, в целях экономии. Мой tp-link mr3220 вроде бы тоже справляется, но g.729,например, уже идет с задержкой в 1-2 секунды.(1 канал)
Цитата:
> По-правде говоря не внушает он мне доверия. прям как маленькие: взял паяльную станцию, пригоршню чипов и сделал себе хаб
Мы это ... люди простые, в университетах пайкам не обученные.
Цитата:
если надо есть несколько (7- HUB H-7 двух старых ревизий А2 А3, могу продать с блоками на 3A, 4А.
И по чем? BTW, эти ревизии хорошо себя показывают?
Нужна смена imei для e1550, обращаюсь к пользователю bg1. Я видимо нарушаю правила форума, но послать ПМ я ему не могу, получаю сообщение "не авторизирован", почта на его сайт тоже не уходит!
Подскажите коллеги. Обновил ядро у Centos 5.7 64-bit (Elastix 2.3.0) для работы chan_dongle, но как и у 36, так и у 39 при загрузке вылетают сообщения с ошибками: 1.) insmod: error inserting '/lib/dm-region-hash.ko': -1 File exists 2.) Не определяются системные часы. ... Невозможно получить доступ к аппаратным часам каким бы то ни было известным способом
Подскажите коллеги. Обновил ядро у Centos 5.7 64-bit (Elastix 2.3.0) для работы chan_dongle, но как и у 36, так и у 39 при загрузке вылетают сообщения с ошибками: 1.) insmod: error inserting '/lib/dm-region-hash.ko': -1 File exists 2.) Не определяются системные часы. ... Невозможно получить доступ к аппаратным часам каким бы то ни было известным способом
По второму вопросу близок к решению. В ядре 2.6.18 dev/rtc, в .36 и .39 dev/rtc и dev/rtc0. Удаляем rtc, делаем symlink с rtc0 на rtc. Запускаем hwclock - работает. Или ставим util-linux.2.14 (появилась опция --rtc /dev/rtcN)- тоже работает. Но при загрузке всё равно выдаёт такую же ошибку, что нет возможности произвести синхронизацию используя все доступные методы с ошибкой 19. Остается вопрос, где подправить hwclock в автозагрузке?
Братцы, подскажите как скомпилировать chan_dongle на OpenWrt Attitude Adjustment (прошивку для роутера использую готовую отсюда. Роутер NetGear WNDR3800). Какие пакеты нужно доустановить, чтобы можно было компилировать прямо с роутера? На предыдущем роутере (Asus RT-N16 DD-WRT) без проблем компилировал сам, на этом в репозитории нет пакетов buildroot, да и gcc
Установил на виртуальную машину CentOS 6.3. Скачал исходники OpenWrt из транка, установил тулчейн. Скачал исходники chan_dongle. Как скомпилировать только модуль chan_dongle под требуемую мне архитектуру и версию астериска? Весь гугл перерыл, а примеров не нашёл.
awsswa, на OpenWrt нет компилятора, поэтому для сборки приходится пользоваться кросскомпиляцией на сторонней Linux OS под требуемую архитектуру. Я пытался сделать это следующим образом:
1. На виртуальную машину установил CentOS 6.3 2. Установил необходимые для сборки пакеты:
7. В Makefile изменил WITH_ASTERISK= на требуемую версию 9. Собрал tools и toolchain:
Код:
make prereq && make tools/install && make toolchain/install
Сконфигурировал меню, выбрав необходимые пакеты и требуемую архитектуру (AR71xx):
Код:
make menuconfig
10. Пытаюсь собрать, но не получается
Я в линуксе не эксперт, поэтому прошу помощи у специалистов. Очень хочу настроить работающий GSM-шлюз (Asterisk + chan_dongle + e1550) на моём NetGear WNDR3800. Подскажите, пожалуйста, правильную последовательность действий для корректной сборки.
Прошу совета. Схема прохождения звонка такая GSM телефон--->dongle-->Asterisk-->внутренний номер(100-программный Bria). Суть в следующем. Если при входящем звонке на 100 дать отбой не поднимая трубки то модем продолжает звонить. При поднятии трубки и последующем отбое все срабатывает.
Попробую написать по памяти, виртуальная машинка на которой собирал у меня сейчас не под рукой, но последовательность действий такая: (действовал методом проб и ошибок) На виртуальную машину установил CentOS 6.3
В нём исправляем WITH_ASTERISK= на требуемую нам версию, которую будем собирать, (проверяем значения PKG_MD5SUM, PKG_REV, PKG_RELEASE). Затем создаём директорию wndr3800/package/feeds/packages/asterisk18-chan-dongle и помещаем в неё наш Makefile
Собираем tools и toolchain:
Код:
make prereq && make tools/install && make toolchain/install
Конфигурируем меню, выбрав необходимые пакеты и требуемую архитектуру (AR71xx):
Код:
make menuconfig
Я выбирал следующее (для NetGear WNDR3800): Target System (Atheros AR7xxx/AR9xxx) Target Profile (NETGEAR WNDR3700/WNDR3800/WNDRMAC)
Выбираем нужные пакеты для установки (asterisk и chan_dongle, а так же в Libraries выбираем libiconv)
Нам понадобится файл iconv.h, берём его здесь: wndr3800/build_dir/target-mips_r2_uClibc-0.9.33.2/libiconv/include/iconv.h и копируем его в "инклюд" астериска: build_dir/target-mips_r2_uClibc-0.9.33.2/asterisk-1.8.10.1/include/
появится он там не сразу, а только после сборки libiconv, поэтому процесс сборки после первого запуска остановился с ошибкой (ругнулся на отсутствие iconv.h), но теперь можно выполнить
Реально ли мне запустить E173 и в чем могут быть проблемы?
Доброго времени суток! Прошу совета, сам уже не знаю, куда копать.
Код:
$ uname -r 3.0.0-23-generic > dongle show version chan_dongle: Huawei 3G Dongle Channel Driver, Version 1.1, Revision 10 > core show version Asterisk 1.8.11.1-1digium1~natty
E173u-1 в порту самого ноута
Код:
CLI> dongle show device settings dongle0 ------------- Settings ------------ Device : dongle0 Audio : /dev/ttyUSB2 Data : /dev/ttyUSB0
Dial(Dongle/dongle0/89313333333,20,T);
Получаю:
Код:
== Using SIP RTP CoS mark 5 -- Executing [522@from-home:1] Dial("SIP/12-00000002", "Dongle/dongle0/89313333333,20,T") in new stack -- Called Dongle/dongle0/89313333333 -- Dongle/dongle0-0100000002 is making progress passing it to SIP/12-00000002 -- Nobody picked up in 20000 ms -- Auto fallthrough, channel 'SIP/12-00000002' status is 'NOANSWER'
maria-laptop*CLI> dongle show devices ID Group State RSSI Mode Submode Provider Name Model Firmware IMEI IMSI Number dongle0 0 Dialing 12 0 0 Beeline E173 11.126.85.00.209 356576044141202 250992200804162 Unknown
Иногда, впрочем, вижу и классическое отваливание по неответу на AT c timedout while waiting 'OK' in response to 'AT' и
Код:
dongle0 0 Not connec 0 0 0 NONE
Из винды в MobilePartner все более-менее прилично звонится (какие-то затыки с отбоем есть, но они не критичны).
До перепрошивки, на 11.126.85.00.114 получал отвал от Dongle и что-то вроде зомби-звонка на сотовый - когда уже и астериск дает отбой, сотовый все равно звонит. Но там я что-то перемудрил, и в итоге из MobPartner голос не проходил (хотя изначально тестировал).
Вопрос, собственно в том, смогу ли я допилить e173 или мне искать просто "другой модем" и пробовать? Это рядовая проблема, котрая решается поисковиком?
Спасибо.
з.ы. Больше всего меня удивило то, что если в процессе НЕотвечания девайса на AT по таймауту заломиться, например, minicom на другой порт, то с большой вероятностью девайс отвисал.
Форумчане установил asterisk 1.8.10 на openwrt с chan_dongle модем Е153, вызовы принимает и отвечает, я слышу, а абонент на другом конце слышит сильное эхо и бульканье, как исправить. Кроме того ищется рещение для CDMA сети, как дешевое решение для домашней АТС. P.S. E153 работает под Windows превосходно. Попробывал в dongle.conf опцию jitterbuffer включать, эхо пропадает однако после непродолжительного времени разговора Asterisk падает с Segmentation Fault. Победил значением rxgain=5; txgain=-4
Здравствуйте! Может кто-нибудь сталкивался с такой проблемой:
-установлен asterisk 1.8.15.0 подключен 3g модем huawei e153 звоню через модем в обоих направлениях все нормально; -создал конференцию дозваниваюсь в нее и через модем и с zoiper но если ложу трубку на мобильникеee в консоль asteriks идет непрерывно сообщение: WARNING[2718]: app_meetme.c:3678 conf_run: Unable to write frame to channel Datacard/Datacard0-0100000000 если ложу трубку на софтфоне все нормально; -звоню повторно с мобильного опять вхожу в конференцию нормально ,но приэтом нет уже сообщения что я первый участник конференции (хотя больше никто не вошел за исключением предыдущего звонка с мобильного); -все файлы конфигов стандартные очень простые;
Коллеги, подскажите в чём может быть проблема. Пытаюсь донабором сделать вызов на внутренний номер, нажимая 200, а в логах получается: Invalid extension '2' или Invalid extension '0' Может это можно настроить через параметры mindtmf*? Я пытался их менять, но не помогает.
Код:
-- Executing [s@Beeline-incoming:4] WaitExten("Dongle/dongle0-0100000000", "50") in new stack [Sep 11 17:10:58] DTMF[3091]: channel.c:4063 __ast_read: DTMF begin '2' received on Dongle/dongle0-0100000000 [Sep 11 17:10:58] DTMF[3091]: channel.c:4067 __ast_read: DTMF begin ignored '2' on Dongle/dongle0-0100000000 [Sep 11 17:10:58] DTMF[3091]: channel.c:3978 __ast_read: DTMF end '2' received on Dongle/dongle0-0100000000, duration 140 ms [Sep 11 17:10:58] DTMF[3091]: channel.c:4047 __ast_read: DTMF end passthrough '2' on Dongle/dongle0-0100000000 -- Invalid extension '2' in context 'Beeline-incoming' on Dongle/dongle0-0100000000 == CDR updated on Dongle/dongle0-0100000000 -- Executing [i@Beeline-incoming:1] Playback("Dongle/dongle0-0100000000", "pbx-invalid") in new stack -- Playing 'pbx-invalid.gsm' (language 'ru') [Sep 11 17:10:58] DTMF[3091]: channel.c:4063 __ast_read: DTMF begin '0' received on Dongle/dongle0-0100000000 [Sep 11 17:10:58] DTMF[3091]: channel.c:4067 __ast_read: DTMF begin ignored '0' on Dongle/dongle0-0100000000 [Sep 11 17:10:58] DTMF[3091]: channel.c:3978 __ast_read: DTMF end '0' received on Dongle/dongle0-0100000000, duration 140 ms [Sep 11 17:10:58] DTMF[3091]: channel.c:4047 __ast_read: DTMF end passthrough '0' on Dongle/dongle0-0100000000 [Sep 11 17:10:59] DTMF[3091]: channel.c:4063 __ast_read: DTMF begin '0' received on Dongle/dongle0-0100000000 [Sep 11 17:10:59] DTMF[3091]: channel.c:4067 __ast_read: DTMF begin ignored '0' on Dongle/dongle0-0100000000 [Sep 11 17:10:59] DTMF[3091]: channel.c:3978 __ast_read: DTMF end '0' received on Dongle/dongle0-0100000000, duration 89 ms [Sep 11 17:10:59] DTMF[3091]: channel.c:4047 __ast_read: DTMF end passthrough '0' on Dongle/dongle0-0100000000 -- Executing [i@Beeline-incoming:2] Goto("Dongle/dongle0-0100000000", "Beeline-incoming,s,4") in new stack -- Goto (Beeline-incoming,s,4) -- Executing [s@Beeline-incoming:4] WaitExten("Dongle/dongle0-0100000000", "50") in new stack [Sep 11 17:11:06] DTMF[3091]: channel.c:4063 __ast_read: DTMF begin '2' received on Dongle/dongle0-0100000000 [Sep 11 17:11:06] DTMF[3091]: channel.c:4067 __ast_read: DTMF begin ignored '2' on Dongle/dongle0-0100000000 [Sep 11 17:11:07] DTMF[3091]: channel.c:4063 __ast_read: DTMF begin '0' received on Dongle/dongle0-0100000000 [Sep 11 17:11:07] DTMF[3091]: channel.c:4067 __ast_read: DTMF begin ignored '0' on Dongle/dongle0-0100000000 [Sep 11 17:11:07] DTMF[3091]: channel.c:3978 __ast_read: DTMF end '0' received on Dongle/dongle0-0100000000, duration 89 ms [Sep 11 17:11:07] DTMF[3091]: channel.c:4047 __ast_read: DTMF end passthrough '0' on Dongle/dongle0-0100000000 -- Invalid extension '0' in context 'Beeline-incoming' on Dongle/dongle0-0100000000 == CDR updated on Dongle/dongle0-0100000000 -- Executing [i@Beeline-incoming:1] Playback("Dongle/dongle0-0100000000", "pbx-invalid") in new stack -- Playing 'pbx-invalid.gsm' (language 'ru') [Sep 11 17:11:08] DTMF[3091]: channel.c:4063 __ast_read: DTMF begin '0' received on Dongle/dongle0-0100000000 [Sep 11 17:11:08] DTMF[3091]: channel.c:4067 __ast_read: DTMF begin ignored '0' on Dongle/dongle0-0100000000 [Sep 11 17:11:08] DTMF[3091]: channel.c:3978 __ast_read: DTMF end '0' received on Dongle/dongle0-0100000000, duration 102 ms [Sep 11 17:11:08] DTMF[3091]: channel.c:4047 __ast_read: DTMF end passthrough '0' on Dongle/dongle0-0100000000 -- Executing [i@Beeline-incoming:2] Goto("Dongle/dongle0-0100000000", "Beeline-incoming,s,4") in new stack
oleg_kr Как костыльный вариант видится такой. Имеется два файла с конфигурацией донгла: в одном запрет показа callerid, в другом это разрешено. Непосредственно перед вызовом по нужному вам условию скриптом передёргиваем нужный файл, затем делаем "asterisk -rx 'dongle reload'" и вуаля получаем что надо. Как?
oleg_kr Как костыльный вариант видится такой. Имеется два файла с конфигурацией донгла: в одном запрет показа callerid, в другом это разрешено. Непосредственно перед вызовом по нужному вам условию скриптом передёргиваем нужный файл, затем делаем "asterisk -rx 'dongle reload'" и вуаля получаем что надо. Как?
Спасибо. Это одно из решений, но тут другая проблема: Решение с переустановкой скрытого звонка нужно мне для убирания привязки модема к порту звонок можно совершить и по IMEI и все равно как модем определился. И тут наступает неприятный момент: если делаем привязку модемов по IMSI или IMEI почему-то при рестарте компа не всегда определяются все (всего пока 2) модема. При указании портов определяются нормально, но иногда местами путаются (Ubuntu 12.04). В один с модемов вставлен официальный дубль карточки для совершения только исходящих звонко, вот на нем и надобно скрыть номер. Вот тут и возник мой вопрос. Сейчас немного разгребусь и гляну исходники dongle - как они там берут переменную, только с своего файла настроек или, как я понял по логике, с той информации которую передает * при вызове. Когда настраивал то смотрел исходники и видел что эту инфу передают непосредственно перед вызовом командой AT на модем, но не смотрел на основании чего берут... Привязывать модемы к портам - как костыль... не очень нравится, тогда уж дописать, если позволят знания и время, dongle - более правильное решение
Олег, а почему в файле для udev не запилить для этого как это делается обычно? Чем это мешает? Хоть 9000 раз ребутай и всё нормуль.
Да, но мы привязываемся до портов, а в моем случае только до IMEI карточки. Мой случай сам по себе работает, только со скрытым номером завязка. А так входящие различаем по номеру, исходящие делаем по IMEI и модемы не играет роли где стоят и как инициализируются.
охота сделать универсально, без костыльной привязки к железу
т.е. что у вас на входящем к примеру SIP было, то и на исходящей ноге Dongle и унаследуется.
Понятно что в вызове Dial(Dongle/xxx/NUM) одновременно создаётся channel Dongle астера и производится вызов call для него, поэтому управлять cid_pres для исходящего канала Dongle прямо не получится.
т.е. что у вас на входящем к примеру SIP было, то и на исходящей ноге Dongle и унаследуется.
Понятно что в вызове Dial(Dongle/xxx/NUM) одновременно создаётся channel Dongle астера и производится вызов call для него, поэтому управлять cid_pres для исходящего канала Dongle прямо не получится.
Немного может офтопп: Как я понял канал поднимается пусть и dongle но все функции вызова объявляются в структуре
и уже непосредственно * вызывает необходимую функцию для канала, то есть в нашем случае
Код:
.call = channel_call,
И при этом передает в нее заполненные структуры согласно заголовку функции:
Код:
static int channel_call (struct ast_channel* channel, char* dest, attribute_unused int timeout)
а в переменной channel уже от астериска приходят стандартные структуры данных (http://www.asterisk.org/doxygen/trunk/structast__channel.html) которые соответственно для канала должны меняться командами.
Или я ошибаюсь? И канал на dongle создается в момент команды Dial() но тогда * логично должен передавать параметры канала которые я изменил в диалплане, так-же как если-бы я устанавливал связь с другим sip абонентом и установил
Added after 2 hours 16 minutes: Описываем модемы как обычно с привязкой к портам и глубоко не волнуемся где какой - главное прошить в модем номер: dongle.conf (только минимум для понимания)
Код:
[defaults] exten=+1234567890 ; exten по которому приходят звонки с неизвестным номером, context=gsm ; context который обрабатывает звонки
[dongle0] audio=/dev/ttyUSB1 ; tty port for audio connection; data=/dev/ttyUSB2 ; tty port for AT commands; usecallingpres=yes ; использовать команды скрытия номера callingpres=-1 ; Использовать значение которое передает Asterisk
[dongle1] audio=/dev/ttyUSB4 ; tty port for audio connection; data=/dev/ttyUSB5 ; tty port for AT commands;
и extensions.conf(только минимум для понимания)
Код:
; глобальные переменные для облегчение чтения/написания [globals] ; IMEI первого модема GSM_1 = dongle/i:123456789012345 ; IMEI второго модема GSM_2 = dongle/i:012345678901234
[gsm] ; вход обработки звонков по gsm линии exten => +3806712345678,1,NoOp(from GSM) ;обработка вызова same => n,Hangup()
;обработка вызова модема без прописанного номера exten => s,1,NoOp(from GSM) ;обработка вызова same => n,Hangup()
; просто пишем в лог exten => ussd,1,Verbose(Incoming USSD: ${BASE64_DECODE(${USSD_BASE64})}) same => n,System(echo '${STRFTIME(${EPOCH},,%d.%m.%Y %H:%M:%S)} - USSD - ${DONGLENAME}: ${BASE64_DECODE(${USSD_BASE64})}' >> /var/log/asterisk/ussd.log same => n,Hangup()
; просто пишем в лог exten => sms,1,Noop(Incoming SMS from ${CALLERID(num)} ${BASE64_DECODE(${SMS_BASE64})}) same => n,System(echo '${STRFTIME(${EPOCH},,%Y-%m-%d %H:%M:%S)} - ${DONGLENAME} - ${CALLERID(num)}: ${BASE64_DECODE(${SMS_BASE64})}' >> /var/log/asterisk/sms.log same => n,Hangup()
Исходящие звонки делаем по IMEI:
Код:
exten => _0ZXXXXXXXX,1,NoOp(GSM-bezlim) same => n,NoOp(${CALLERPRES()})
; ******* если надо скрыть номер ; для Asterisk 10 - рекомендация использовать same => n,Set(CALLERID(num-pres)=prohib_not_screened) ; скрыть номер при звонке ; для более старых возможно ; same => n,Set(CALLERPRES()=prohib_not_screened) same => n,Dial(${GSM_1}/+38${EXTEN}, 30,T) same => n,Hangup()
аналогично для второго модема.
Что имеем - модемы не привязаны к портам, можно местами менять Звонок приходит по номеру прошитому в модем из рекомендаций http://wiki.e1550.mobi/doku.php?id=usage:
Цитата:
To save Subscriber Number, you can write an entry for OWN NUMBERS storage on SIM. For example, in asterisk CLI
Помогите пожалуйсто. У меня несколько модемов висят на нескольких хабах D-link DUB-H7, переодически некоторые модемы отваливаются и переходят в состояние Not connect. Все модемы у меня настроены по IMEI.
Как мне определить на каком хабе и каком порту весит скажем Dongle13, что бы передернуть его с помощью hub-ctrl?
Есть похожая проблема. Во время звонка на модем и донаборе через IVR, вызывающий не слышит сигнал вызова. При этом вызов идет нормально и при поднятии трубки голос слышен в обе стороны. Если номер, который донабрали через IVR, занят - сигнал занятой линии передается нормально.
Подскажите, пожалуйста, в какую сторону копать? Может, кто сталкивался?
> Как мне определить на каком хабе и каком порту весит скажем Dongle13, что бы передернуть его с помощью hub-ctrl? маркером подписать хабы и модемы _________________ Свежак chan_dongle тут http://code.google.com/p/asterisk-chan-dongle Читайте, дополняйте wiki http://wiki.e1550.mobi/ Смена IMEI Huawei E1550 E173 E1752 K3765 http://www.e1550.mobi/ от $1,521 за IMEI
Подскажите, пожалуйста, в какую сторону копать? Может, кто сталкивался?
Да, именно эта проблема. Входящий приходит на модем, далее донабор. Если при донаборе вызов идёт через другой dongle, то гудки слышны. Проблема с отсутствием гудков только при донаборе на SIP
суперконденсаторы можно припаять, от конденсаторов то толку маловато будет. вообще у USB есть вполне конкретные ограничения ёмкостной нагрузки шин питания, и профиль тока-напряжения при подключении нового устройства или перевода его в suspend режим. Источник тока может и не выдержать. _________________ Свежак chan_dongle тут http://code.google.com/p/asterisk-chan-dongle Читайте, дополняйте wiki http://wiki.e1550.mobi/ Смена IMEI Huawei E1550 E173 E1752 K3765 http://www.e1550.mobi/ от $1,521 за IMEI
ядро обновил. астериск стоит 1.6.0.26 перенакатил из исходников.
chan-dongle затыкается на
Код:
In file included from chan_dongle.c:47: /usr/include/asterisk/manager.h:88: error: expected specifier-qualifier-list before ‘AST_RWLIST_ENTRY’ /usr/include/asterisk/manager.h:126: error: expected specifier-qualifier-list before ‘AST_RWLIST_ENTRY’ chan_dongle.c:51:68: error: asterisk/timing.h: No such file or directory chan_dongle.c: In function ‘pvt_on_create_1st_channel’: chan_dongle.c:743: warning: implicit declaration of function ‘ast_timer_open’ chan_dongle.c:743: warning: assignment makes pointer from integer without a cast chan_dongle.c: In function ‘pvt_on_remove_last_channel’: chan_dongle.c:762: warning: implicit declaration of function ‘ast_timer_close’ chan_dongle.c: In function ‘pvt_dsp_setup’: chan_dongle.c:1359: error: ‘DSP_FEATURE_DIGIT_DETECT’ undeclared (first use in this function) chan_dongle.c:1359: error: (Each undeclared identifier is reported only once chan_dongle.c:1359: error: for each function it appears in.) chan_dongle.c:1360: warning: implicit declaration of function ‘ast_dsp_set_digitmode’ chan_dongle.c: At top level: chan_dongle.c:1727: warning: ‘static’ is not at beginning of declaration make: *** [chan_dongle.o] Error 1
ну вот я вчера попробовал накатить mуsql из исходников. ибо не ставился без него asterisk 1.8, вроде встало но asterisk не накатывается:
Код:
/usr/bin/ld: cannot find -lmysqlclient collect2: ld returned 1 exit status make[1]: *** [app_mysql.so] Error 1 make: *** [addons] Error 2
чего ему не хватает??? на прошлый asterisk не накатывается chan_dongle мне кажется проще уже плюнуть и поставить все с нуля. на ubuntu. там у меня все ставилось в отличие от этой CentOS
Зачем вы поставили mysql из исходников, а не из репозитория дистрибутива? Ну раз уж поставили его не стандартно и видимо по нестандартным путям, будете любезны при сборке астриска указать ему куда же вы все таки mysql поставили.
Зачем вы поставили mysql из исходников, а не из репозитория дистрибутива? Ну раз уж поставили его нестандартно и видимо по нестандартным путям, будете любезны при сборке астриска указать ему куда же вы все таки mysql поставили.
спасибо. а как ему указать? он ведь остальные файлы находит и не ругается. это единственный затык. ставил стандартно. но из исходников. а поставил потому, что без файлов *.h от MySQL он не ставился. Черт знает вообще что. Устал уже ковыряться.
может быть кто знает более простой способ подключить модемы на trixbox? а то неужели для этого надо обновить ядро, mysql и asterisk. Там по сути то уже что тогда остается?
Перечитал весь топик, но так и не нашёл ответа почему не приходят USSD ответы... имеем: Ядро: 3.0.0-20-generic #34-Ubuntu Астер: 1.6.2.9 chan_dongle: Huawei 3G Dongle Channel Driver, Version 1.1, Revision 10 Модем E156G
Device : dongle0 State : Free Audio : /dev/ttyUSB1 Data : /dev/ttyUSB2 Voice : Yes SMS : Yes Manufacturer : huawei Model : E156G Firmware : 11.609.10.00.264 IMEI : 3538700358xxxxx IMSI : 2500124003xxxxx GSM Registration Status : Registered, home network RSSI : 31, >= -75 dBm Mode : GSM/GPRS Submode : EDGE Provider Name : MTS RUS Location area code : 1D39 Cell ID : 1C7B Subscriber Number : +7919xxxxxxx SMS Service Center : +79126313431 Use UCS-2 encoding : Yes USSD use 7 bit encoding : No USSD use UCS-2 decoding : No Tasks in queue : 0 Commands in queue : 0 Call Waiting : Disabled Current device state : start Desired device state : start When change state : now Calls/Channels : 0 Active : 0 Held : 0 Dialing : 0 Alerting : 0 Incoming : 0 Waiting : 0 Releasing : 0 Initializing : 0
на комманду: dongle ussd dongle0 *100# выдаёт следующее:
dongle ussd dongle0 *100# [dongle0] USSD queued for send with id 0x97160d0 -- [dongle0] Successfully sent USSD 0x97160d0 [Sep 25 16:28:25] NOTICE[4870]: at_response.c:267 at_response_ok: [dongle0] Successfully sent USSD 0x97160d0 [dongle0] Got USSD type 2 'USSD Terminated by network': '' -- Executing [ussd@inc:1] Verbose("Local/ussd@inc-13ed;1", "Incoming USSD: ") in new stack Incoming USSD: -- Executing [ussd@inc:2] System("Local/ussd@inc-13ed;1", "echo '2012-09-25 16:28:28 ' >> /var/log/asterisk/ussd.txt") in new stack -- Executing [ussd@inc:3] Hangup("Local/ussd@inc-13ed;1", "") in new stack == Spawn extension (inc, ussd, 3) exited non-zero on 'Local/ussd@inc-13ed;1'
ответ вроде бы есть, а текста нет... на комманду: dongle cmd dongle0 "AT+CUSD=1, "*100#"" отвечает: [dongle0] Got Response for user's command:'ERROR'
с голосом всё нормально, с смс тоже (даже по русски) вот с USSD беда, а баланс узнавать надо...
есть подозрение на строчках: USSD use 7 bit encoding : No USSD use UCS-2 decoding : No но как задействовать эти функции - не нашёл. ткните носом в нерадивого....
так и не удается мне модемы прикрутить. попробовал поставить elastix не цепляет dongle модемы. хотя и установился и запустился. модемы в порту видны. пробовал новый elastix накатить, но он не встает с флешки у меня почему-то. в общем, устал от этого гемора.
Привет, купил Raspberry Pi, активный хаб, воткнул Huawei e173, поставил usb_modeswitch, minicom... с usb_modeswitch дал все команды, после чего в дебиане появилось устройство /dev/ttyUSB0, но с minicom зайти в модем не получается.
Делаю все это впервые, может кто подскажет, где копать?
Ubuntu 12.04.1 LTS (GNU/Linux 3.2.0-23-generic-pae i686) Asterisk 1.8.16.0 chan_dongle-1.1.r10 FreePBX 2.10 Модемы Е1550-1шт, Е171-7шт. ( один из Е171 с новой прошивкой 21......) - полет нормальный. Решил прикрутить Е150 по инструкции Novax после make получаю вот это:
root@astertwo:/usr/src/kmod-huawei-voice# make make -C /lib/modules/3.2.0-23-generic-pae/build M=/usr/src/kmod-huawei-voice modules make: *** /lib/modules/3.2.0-23-generic-pae/build: Нет такого файла или каталога. Останов.
Спасибо awsswa установил apt-get install linux-headers-3.2.0-23-generic-pae после этого все установилось, мопед (Е150) завелся, звук в обе стороны. к сожалению появился МИНУС - все остальные модемы (Е171) теперь односторонняя слышимость.
Кто нить пробовал на одной машине завести эти девайсы?
E171 Firmware 11.126.16.00.161 голос в Винде точно проходил. Но под Ubuntu + Asterisk 1.8 голоса не было - тишина была в обоих направлениях.
Пробую накатить elastix 2.4.0 beta, но пишет GRUB Hard Disk Error Ставил на SSD, грузился с флешки. Наконец накатил. Использовал установку через FTP. Ставится дюже медленно. На экране кажется все стухло, движения нет, однако к FTP запросы идут. На мощной тачке ставилось несколько часов, но наконец удачно.
Последний раз редактировалось: starplus (Пн Окт 15, 2012 19:35)
Спасибо awsswa установил apt-get install linux-headers-3.2.0-23-generic-pae после этого все установилось, мопед (Е150) завелся, звук в обе стороны. к сожалению появился МИНУС - все остальные модемы (Е171) теперь односторонняя слышимость.
Кто нить пробовал на одной машине завести эти девайсы?
Все завелось на реальной машине ( до этого на VirtualBox гонял )
Ubuntu 12.04. LTS (GNU/Linux 3.2.0-23-generic-pae i686) Asterisk 1.8.16.0 chan_dongle-1.1.r14 FreePBX 2.10 Модемы Е150-2шт, Е171-1шт. c прошивкой 11.126.85.01.143 и Е171 с новой прошивкой 21.156.00.00.143
оказывается, причина неработы модема в правах. после перезагрузки приходится делать chmod 666 /dev/ttyUSB*
а как установить права на постоянно? chown -R asterisk:asterisk /dev/ttyUSB* что-то тоже не помогло.
у меня под убунтой помогло создать файлик /etc/udev/rules.d/92-dongle.rules с содержимым KERNEL=="ttyUSB*", MODE="0666", OWNER="asterisk", GROUP="uucp"
Added after 7 minutes:
Модем Е171 с прошивкой 21.156.00.00.143 сброс по at+cfun=1 не делает. Помогает переключиться во flight mode командой at+cfun=4, сделать паузу, пока произойдет переключение, а затем обратно at+cfun=6
Если модем подвис ( а с ним случается, если уровень сигнала не очень и связь обрывается во время разговора/звонка), то приходится это делать ручками из minicom. Было бы здорово делать это автоматом при попытках инициализации/сброса модема.
Последний раз редактировалось: alex1299 (Чт Окт 25, 2012 06:16)
usb 1-1: new full-speed USB device number 51 using uhci_hcd usb 1-1: New USB device found, idVendor=12d1, idProduct=1001 usb 1-1: New USB device strings: Mfr=2, Product=1, SerialNumber=0 usb 1-1: Product: HUAWEI Mobile usb 1-1: Manufacturer: HUAWEI Technology option 1-1:1.0: GSM modem (1-port) converter detected usb 1-1: GSM modem (1-port) converter now attached to ttyUSB0 option 1-1:1.1: GSM modem (1-port) converter detected usb 1-1: GSM modem (1-port) converter now attached to ttyUSB1 option 1-1:1.2: GSM modem (1-port) converter detected usb 1-1: GSM modem (1-port) converter now attached to ttyUSB2
Подпаивал к юсб кабелю доп. блоки питания 5В 0,6-1,1А, даже выделял отдельный блок питания invin 300W.
Суть проблемы, при входящем вызове проходит звонок на sip(софтфон), если ответить, то тишина пару сек, и отваливается, при исходящем вызове, сразу валится, вот пример (в примере звонил 0890, но так с любым номером):
Код:
-- [dongle0] Dongle has connected, initializing... -- [dongle0] Dongle initialized and ready == Using SIP RTP CoS mark 5 -- Executing [0890@phones:1] Dial("SIP/1510-0000002c", "Dongle/dongle0/0890") in new stack -- Called Dongle/dongle0/0890 -- Dongle/dongle0-0100000022 is making progress passing it to SIP/1510-0000002c [Nov 1 10:30:56] ERROR[4607]: chan_dongle.c:411 do_monitor_phone: [dongle0] Lost connection to Dongle -- [dongle0] Dongle has disconnected == Everyone is busy/congested at this time (1:0/0/1) -- Auto fallthrough, channel 'SIP/1510-0000002c' status is 'CHANUNAVAIL' -- [dongle0] Trying to connect on /dev/ttyUSB2... [Nov 1 10:30:56] WARNING[1488]: chan_dongle.c:215 opentty: unable to open /dev/ttyUSB2: No such file or directory
Пожалуйста, помогите или подскажите направление куда копать. Поиском пользовался, но без толку, может что либо не углядел. И прошу прощения за "много букв". Заранее спасибо.
с USB портами проблема на матери, меняйте мать, как вариант попробуйте с USB набами (с доп питанием)
хаб тоже пробовал. Мать менять ...этого я больше всего боялся( как и ОС менять.
Added after 1 hours 47 minutes:
alko @ Чт Ноя 01, 2012 12:54 писал(а):
хаб тоже пробовал. Мать менять ...этого я больше всего боялся( как и ОС менять.
И правда, "колхозно" запустил астериск на другом сервере(Centos 6 2.6.32-71.29.1.el6.x86_64 #1 SMP Mon Jun 27 19:49:27 BST 2011 x86_64 x86_64 x86_64 GNU/Linux) и все отлично заработало. Может быть можно как то решить проблему на старом сервере? (тот что compaq)
Для тех у кого модемы Е171 с новой прошивкой 21.156.00.00.143 Не спешите их выбрасывать, нашел вот http://3ginfo.ru/forum-t1-100.html На данный момент разлачивают один модем бесплатно, последующие по 35р шт. свой разлочил там, планирую еще поход в МТС...
Доброе время суток. Подскажите как победить эхо при звонке на dongle (у звонящего с мобильного). До обновления ядра с 2.6.18 -> 2.6.35 звук был только в одну сторону, sip>asterisk>dongle>gsm=voice "no" and gsm>dongle>asterisk>sip=voice "yes"
Доброе время суток. Подскажите как победить эхо при звонке на dongle (у звонящего с мобильного). До обновления ядра с 2.6.18 -> 2.6.35 звук был только в одну сторону, sip>asterisk>dongle>gsm=voice "no" and gsm>dongle>asterisk>sip=voice "yes"
usecallingpres=yes ; Определять номер звонящего callwaiting=no ; Принимать второй звонок при активном разговоре autodeletesms=yes ; Удаление смс с симкарты при перезапуске rxgain=10 ; Изменение громкости динамика txgain=-3 ; Изменение громкости микрофона
[GSM-001]
context=from-gsm imei=311111111111111 ; Привязка имени модема к IMEI номеру
[GSM-002]
context=from-gsm1 imei=811111111111111 ; Привязка имени модема к IMEI номеру
Попробуйте поиграть с параметрами: rxgain=10 txgain=-3
У меня обычно всё работает прекрасно. Поступают звонки на донгл, там астер даёт DISA и оттуда идёт звонок дальше. Но через несколько часов или дней такой работы получается так, что астериск не слышыт набор dtmf - то есть гудок от DISA просто идёт дальше, хотя он должен ведь прекращаться как только набираешь dtmf. Лечиться это просто перестартовыванием астериска. Но это плохой выход из положения: ставил cronjob чтобы каждую минуту core restart gracefully делалось. Но это не выход. Как победить проблему? Есть ли у кого такая же заморочка?
Эхо так и не удалось победить (( Пробовал уже и на на ubuntu 11.10 + asterisk 1.8.17 + chan_dongle-1.1.r14 (модем e173) Параметры rxgain txgain результат дают но эхо все равно есть.
Эхо так и не удалось победить (( Пробовал уже и на на ubuntu 11.10 + asterisk 1.8.17 + chan_dongle-1.1.r14 (модем e173) Параметры rxgain txgain результат дают но эхо все равно есть.
У меня asterisk 1.8.17 тоже не шел, попробуйте вот такую конфигурацию: Ubuntu Server 12.04.1 LTS (GNU/Linux 3.2.0-23-generic-pae i686) Asterisk 1.8.16.0 chan_dongle-1.1.r14
Сервер стоит в помещении с хорошим сигналом, это если судить по звонкам с моб. телефонов (рядом БС). Дело в том, что я встречал asterisk настроенный именно с такими модемами Huawei e173 F/W 11.126.16.04.174, решил для себя повторить, но наткнулся с проблемой эха.
Добрый день всем, случилась беда, собрал стенд с астером 1.6 и dongle rev.10 Подключил модем E173.
В некоторое время начинаются следующие глюки, вх. звонок попадает на IP телефон, идет разговор и вдруг звонок прерывается, ни в логах ни в консоли астера никаких ошибок и сообщений. тишина вообщем. сразу же можно перезвонить и продолжить дальше общаться, но ситуация может повториться, а может и нет((
в общем не знаю пока куда копать, может кто подскажет чего?
RSSI в районе 7-15, помещение немного глуховатое, но рядом окно.
Может это покажется смешным, но проблема с эхо оказалась только при использовании sip клиента 3cx phone, в таких клиентах как zoiper и CSipSimple (android) слышимость отличная. )
Скажите пожалуйста. я подключаю к asterisk 1.8.18.0 4 модема мтс huawei e1550 с прошивкой E155XUpdate_11.608.14.15.311.B418. Подключаю в количестве 4х штук через D-Link H7 Hub
ПРи поступлении звонков я вижу в логах ошибку
[Dec 5 18:41:31] ERROR[6851] chan_dongle.c: [dongle2] Lost connection to Dongle [Dec 5 18:41:31] ERROR[6852] chan_dongle.c: [dongle0] Lost connection to Dongle [Dec 5 18:41:31] ERROR[6853] chan_dongle.c: [dongle3] Lost connection to Dongle [Dec 5 18:41:31] ERROR[6850] chan_dongle.c: [dongle1] Lost connection to Dongle [Dec 5 18:41:32] WARNING[1748] chan_dongle.c: unable to open /dev/ttyUSB2: No such file or directory [Dec 5 18:41:32] WARNING[1748] chan_dongle.c: unable to open /dev/ttyUSB5: No such file or directory [Dec 5 18:41:32] WARNING[1748] chan_dongle.c: unable to open /dev/ttyUSB8: No such file or directory [Dec 5 18:41:32] WARNING[1748] chan_dongle.c: unable to open /dev/ttyUSB11: No such file or directory [Dec 5 18:41:52] NOTICE[7299] at_response.c: Call waiting is disabled on device dongle0 [Dec 5 18:41:53] NOTICE[7300] at_response.c: Call waiting is disabled on device dongle1 [Dec 5 18:42:02] ERROR[7301] chan_dongle.c: [dongle2] timedout while waiting 'OK' in response to 'AT+CCWA=' [Dec 5 18:42:02] ERROR[7302] chan_dongle.c: [dongle3] timedout while waiting 'OK' in response to 'AT+CCWA=' [Dec 5 18:42:05] ERROR[7299] chan_dongle.c: [dongle0] Lost connection to Dongle [Dec 5 18:42:05] ERROR[7300] chan_dongle.c: [dongle1] Lost connection to Dongle [Dec 5 18:42:17] ERROR[7452] chan_dongle.c: [dongle2] Lost connection to Dongle [Dec 5 18:42:17] ERROR[7453] at_queue.c: [dongle3] Error write command 'AT' expected response 'OK' length 3, cancel [Dec 5 18:42:17] ERROR[7453] chan_dongle.c: [dongle3] Error adding initialization commands to queue [Dec 5 18:42:17] ERROR[7450] chan_dongle.c: [dongle0] Lost connection to Dongle [Dec 5 18:42:17] ERROR[7451] chan_dongle.c: [dongle1] Lost connection to Dongle [Dec 5 18:42:32] ERROR[7597] at_response.c: [dongle3] Command 'AT+CCWA=' failed [Dec 5 18:42:32] ERROR[7597] at_response.c: [dongle3] Command 'AT+CCWA?' failed [Dec 5 18:42:34] ERROR[7597] at_response.c: [dongle3] Command 'AT+CLCC' failed [Dec 5 18:42:35] ERROR[7596] at_response.c: [dongle2] Command 'AT+CCWA=' failed [Dec 5 18:42:38] NOTICE[7596] at_response.c: Call waiting is disabled on device dongle2 [Dec 5 18:42:38] NOTICE[7595] at_response.c: Call waiting is disabled on device dongle1 [Dec 5 18:42:41] NOTICE[7594] at_response.c: Call waiting is disabled on device dongle0 [Dec 5 18:42:49] NOTICE[7603] chan_sip.c: Call to peer '011' rejected due to usage limit of 1 [Dec 5 18:42:54] NOTICE[7602] at_response.c: Call waiting is disabled on device dongle3
и модемы все отваливаются начинают переиницилизацию
настройки dongle.conf
Код: Выделить всё [general]
interval=15 ; Number of seconds between trying to connect to devices
;------------------------------ JITTER BUFFER CONFIGURATION -------------------------- ;jbenable = yes ; Enables the use of a jitterbuffer on the receiving side of a ; Dongle channel. Defaults to "no". An enabled jitterbuffer will ; be used only if the sending side can create and the receiving ; side can not accept jitter. The Dongle channel can't accept jitter, ; thus an enabled jitterbuffer on the receive Dongle side will always ; be used if the sending side can create jitter.
;jbforce = no ; Forces the use of a jitterbuffer on the receive side of a Dongle ; channel. Defaults to "no".
;jbmaxsize = 200 ; Max length of the jitterbuffer in milliseconds.
;jbresyncthreshold = 1000 ; Jump in the frame timestamps over which the jitterbuffer is ; resynchronized. Useful to improve the quality of the voice, with ; big jumps in/broken timestamps, usually sent from exotic devices ; and programs. Defaults to 1000.
;jbimpl = fixed ; Jitterbuffer implementation, used on the receiving side of a Dongle ; channel. Two implementations are currently available - "fixed" ; (with size always equals to jbmaxsize) and "adaptive" (with ; variable size, actually the new jb of IAX2). Defaults to fixed.
;jbtargetextra = 40 ; This option only affects the jb when 'jbimpl = adaptive' is set. ; The option represents the number of milliseconds by which the new jitter buffer ; will pad its size. the default is 40, so without modification, the new ; jitter buffer will set its size to the jitter value plus 40 milliseconds. ; increasing this value may help if your network normally has low jitter, ; but occasionally has spikes.
;jblog = no ; Enables jitterbuffer frame logging. Defaults to "no". ;-----------------------------------------------------------------------------------
;[defaults] [E1550_t](!) ; now you can set here any not required device settings as template ; sure you can overwrite in any [device] section this default values
context=huawei_in ; context for incoming calls group=0 ; calling group rxgain=3 ; increase the incoming volume; may be negative txgain=3 ; increase the outgoint volume; may be negative autodeletesms=yes ; auto delete incoming sms resetdongle=yes ; reset dongle during initialization with ATZ command u2diag=0 ; set ^U2DIAG parameter on device (0 = disable everything except modem function) ; -1 not use ^U2DIAG command usecallingpres=yes ; use the caller ID presentation or not ;usecallingpres=no ; use the caller ID presentation or not callingpres=allowed_passed_screen ; set caller ID presentation by default use default network settings disablesms=yes ; disable of SMS reading from device when received ; chan_dongle has currently a bug with SMS reception. When a SMS gets in during a ; call chan_dongle might crash. Enable this option to disable sms reception. ; default = no
language=ru ; set channel default language smsaspdu=yes ; if 'yes' send SMS in PDU mode, feature implementation incomplete and we strongly recommend say 'yes' mindtmfgap=45 ; minimal interval from end of previews DTMF from begining of next in ms mindtmfduration=80 ; minimal DTMF tone duration in ms mindtmfinterval=200 ; minimal interval between ends of DTMF of same digits in ms
callwaiting=no ; if 'yes' allow incoming calls waiting; by default use network settings ;callwaiting=auto ; if 'yes' allow incoming calls waiting; by default use network settings ; if 'no' waiting calls just ignored disable=no ; OBSOLETED by initstate: if 'yes' no load this device and just ignore this section
;initstate=start ; specified initial state of device, must be one of 'stop' 'start' 'remote' ; 'remove' same as 'disable=yes'
;exten=+1234567890 ; exten for start incoming calls, only in case of Subscriber Number not available!, also set to CALLERID(ndid)
dtmf=relax ; control of incoming DTMF detection, possible values: ; off - off DTMF tones detection, voice data passed to asterisk unaltered ; use this value for gateways or if not use DTMF for AVR or inside dialplan ; inband - do DTMF tones detection ; relax - like inband but with relaxdtmf option ; default is 'relax' by compatibility reason
; dongle required settings [dongle0](E1550_t) audio=/dev/ttyUSB1 ; tty port for audio connection; no default value data=/dev/ttyUSB2 ; tty port for AT commands; no default value group=1 ; calling group
; or you can omit both audio and data together and use imei=123456789012345 and/or imsi=123456789012345 ; imei and imsi must contain exactly 15 digits ! ; imei/imsi discovery is available on Linux only ;imei=352965047503733 ;imsi=250398564515957
; if audio and data set together with imei and/or imsi audio and data has precedence ; you can use both imei and imsi together in this case exact match by imei and imsi required
; dongle required settings [dongle1](E1550_t) audio=/dev/ttyUSB4 ; tty port for audio connection; no default value data=/dev/ttyUSB5 ; tty port for AT commands; no default value group=1 ; calling group
; or you can omit both audio and data together and use imei=123456789012345 and/or imsi=123456789012345 ; imei and imsi must contain exactly 15 digits ! ; imei/imsi discovery is available on Linux only ;imei=352965047526312 ;imsi=250398564322507
; if audio and data set together with imei and/or imsi audio and data has precedence ; you can use both imei and imsi together in this case exact match by imei and imsi required
; dongle required settings [dongle2](E1550_t) audio=/dev/ttyUSB7 ; tty port for audio connection; no default value data=/dev/ttyUSB8 ; tty port for AT commands; no default value group=1 ; calling group
; or you can omit both audio and data together and use imei=123456789012345 and/or imsi=123456789012345 ; imei and imsi must contain exactly 15 digits ! ; imei/imsi discovery is available on Linux only ;imei=352965047519176 ;imsi=250398564384919
; if audio and data set together with imei and/or imsi audio and data has precedence ; you can use both imei and imsi together in this case exact match by imei and imsi required
; dongle required settings [dongle3](E1550_t) audio=/dev/ttyUSB10 ; tty port for audio connection; no default value data=/dev/ttyUSB11 ; tty port for AT commands; no default value group=1 ; calling group
; or you can omit both audio and data together and use imei=123456789012345 and/or imsi=123456789012345 ; imei and imsi must contain exactly 15 digits ! ; imei/imsi discovery is available on Linux only ;imei=352965044093183 ;imsi=250398564379171
; if audio and data set together with imei and/or imsi audio and data has precedence ; you can use both imei and imsi together in this case exact match by imei and imsi required
я уже сменил 2 хаба 3 компа %( 3 прошивки....подскажите плиз что не так [/spoiler]
прописывайте модемы по imei а не по USB и заумную конструкцию с включением [E1550_t](!) уберите и распишите каждый. Модемы переведены в правильный режим AT^U2DIAG=0 и симки без пин кода ?
Если вылеты продолжаться - начинайте с 1 модема, потом 2 и далеее
sdaver, как минимум стоит обновить прошивки на модемах. На текущей явно были проблемы со стабильностью, много раз люди отписывались. Поставьте 11.609.18 или 11.609.20
Попробую написать по памяти, виртуальная машинка на которой собирал у меня сейчас не под рукой, но последовательность действий такая: (действовал методом проб и ошибок)
День добрый, не получается собрать под ubuntu, дважды появляются ошибки отсутсвия библиотек - libuClibc, libcrypt, libm, libpthread whale, поделитесь собранным пакетом asterisk18 для транка openwrt спс
получаю ошибку при сборке пакета. что править, подскажите:
Код:
dc_config.c:17:2: error: unknown field 'target_extra' specified in initializer dc_config.c:17:2: warning: excess elements in struct initializer [enabled by default] dc_config.c:17:2: warning: (near initialization for 'jbconf_default') [enabled by default] make[3]: *** [dc_config.o] Error 1 make[3]: Leaving directory `/openwrt/trunk/build_dir/target-mips_r2_uClibc-0.9.33.2/chan_dongle-1.1.r14' make[2]: *** [/openwrt/trunk/build_dir/target-mips_r2_uClibc-0.9.33.2/chan_dongle-1.1.r14/.built] Error 2 make[2]: Leaving directory `/openwrt/trunk/package/feeds/packages/asterisk18-chan-dongle' make[1]: *** [package/feeds/packages/asterisk18-chan-dongle/compile] Error 2 make[1]: Leaving directory `/openwrt/trunk' make: *** [package/feeds/packages/asterisk18-chan-dongle/compile] Error 2
собрал: chan_dongle-1.1.r14, asterisk 1.8.x, openwrt, ar71xx (tp-link 1043), trunk - последняя сборка на момент публикации Спасибо форуму http://files.mail.ru/DVSIGG
Последний раз редактировалось: barmaley13 (Вт Дек 25, 2012 19:34)
sdaver, как минимум стоит обновить прошивки на модемах. На текущей явно были проблемы со стабильностью, много раз люди отписывались. Поставьте 11.609.18 или 11.609.20
У меня Е1550 замечательно работает на прошивке 11.608.12.00.143
sdaver, как минимум стоит обновить прошивки на модемах. На текущей явно были проблемы со стабильностью, много раз люди отписывались. Поставьте 11.609.18 или 11.609.20
а не подскажете где взять прошивку 11.609.20 ? максимум что я находил - 11.609.18
djserg-minyar ! пользуйтесь поиском, не пишите в личку привязка Е171 с новой прошивкой (изменения в Chan_dongle делать соответственно до его установки) http://code.google.com/p/asterisk-chan-d ... tail?id=73 этот модем цеплять только по imei, выше в теме, я приводил пример рабочего конфига.
Есть несколько модемов Huawei E1550. Версия прошивки строго та же самая. У всех активирован голос. Включен только модем (AT^U2DIAG=0). При подключении некоторые из них не видятся астериском. Через minicom на АТ команды реагируют, в винде даже звонят. Для теста отключил все, оставил только один.
lkzk8mg*CLI> dongle show devices ID Group State RSSI Mode Submode Provider Name Model Firmware IMEI IMSI Number card1 1 Not connec 0 0 0 NONE
Unknown dmesg
[22474.687072] usb 1-5.1.1: GSM modem (1-port) converter now attached to ttyUSB0 [22474.689619] usb 1-5.1.1: GSM modem (1-port) converter now attached to ttyUSB1 [22474.692713] usb 1-5.1.1: GSM modem (1-port) converter now attached to ttyUSB2
-------------- Status ------------- Device : card1 State : Not connected Start scheduled Audio : /dev/ttyUSB1 Data : /dev/ttyUSB2 Voice : No SMS : No Manufacturer : Model : Firmware : IMEI : IMSI :
Версия прошивки строго та же самая. И какая ... ? Во первых - версию linux Во вторых - версию dongle Перестанте задавать через ttyUSB - заводите модемы по imei
Пробовали найти зависимость ? Взять тот что видиться попробовать со всеми сим картами, во все порты USB. Потом тот что не видится - таже процедура.
Заводим E171 с новой прошивкой 21.ххххххх на Centos 6.3 и аналогах Ставим зависимости: yum install usbutils libusb-devel tcl Качаем и ставим из исходников usb_modemswitch не младше 1.2.5 и usb_modemswitch_data - make install
usb_modemswitch_data должен быть новее 2012 года и 11 месяца то все заводится автоматом иначе, ручками.
Поставили ? Выдергиваем и вставляем модем по новой и смотрим lsusb если Bus 002 Device 007: ID 12d1:14fe Huawei Technologies Co., Ltd - значит автоматом не переключился
Смотрим по новой lsusb Bus 002 Device 008: ID 12d1:1506 Huawei Technologies Co., Ltd. E398 LTE/UMTS/GSM Modem/Networkcard
minicom который идет в депозитарии 2.3 не рабочий и командную строку не дает, надо ручками ставить 2.6 в настройках ставить /dev/ttyUSB0 и включать локальное эхо, и переводить в режим только модем строка перевода AT^SETPORT="A1,A2;1,2,3" (девайс в режиме "только модем")
Перевели ? Выдергиваем вставляем по новой, идем в minicom и даем команду AT^SETPORT? (Текущая конфигурация модема) вывод должен быть A1,A2;1,2,3
Вопрос по DTMF и сенсорным телефонам, удалось ли кому либо заставить работать dongle и dtmf с сенсорных? Есть проблема, в том, что не передаются данные с сенсорников. С нокии и других кнопочных, и даже городских, данную траблу не наблюдал. Сейчас стоит следующий конфиг:
make[3]: Entering directory `/opt/openwrt_buildroot/attitude_adjustment/build_dir/target-mips_r2_uClibc-0.9.33.2/chan_dongle-1.1.r14' mips-openwrt-linux-uclibc-gcc -Os -pipe -mips32r2 -mtune=mips32r2 -fno-caller-saves -fhonour-copts -Wno-error=unused-but-set-variable -msoft-float -DLOW_MEMORY -D_XOPEN_SOURCE=600 -I/opt/openwrt_buildroot/attitude_adjustment/staging_dir/target-mips_r2_uClibc-0.9.33.2/usr/include -I/opt/openwrt_buildroot/attitude_adjustment/staging_dir/target-mips_r2_uClibc-0.9.33.2/include -I/opt/openwrt_buildroot/attitude_adjustment/staging_dir/toolchain-mips_r2_gcc-4.6-linaro_uClibc-0.9.33.2/usr/include -I/opt/openwrt_buildroot/attitude_adjustment/staging_dir/toolchain-mips_r2_gcc-4.6-linaro_uClibc-0.9.33.2/include -I/opt/openwrt_buildroot/attitude_adjustment/staging_dir/target-mips_r2_uClibc-0.9.33.2/usr/lib/libiconv-full/include -I/opt/openwrt_buildroot/attitude_adjustment/build_dir/target-mips_r2_uClibc-0.9.33.2/asterisk-11.2.0/include -DHAVE_CONFIG_H -I. -fPIC -o app.o -c app.c In file included from /opt/openwrt_buildroot/attitude_adjustment/staging_dir/toolchain-mips_r2_gcc-4.6-linaro_uClibc-0.9.33.2/lib/gcc/mips-openwrt-linux-uclibc/4.6.3/../../../../mips-openwrt-linux-uclibc/sys-include/bits/types.h:31:0, from /opt/openwrt_buildroot/attitude_adjustment/staging_dir/toolchain-mips_r2_gcc-4.6-linaro_uClibc-0.9.33.2/lib/gcc/mips-openwrt-linux-uclibc/4.6.3/../../../../mips-openwrt-linux-uclibc/sys-include/unistd.h:188, from /opt/openwrt_buildroot/attitude_adjustment/build_dir/target-mips_r2_uClibc-0.9.33.2/asterisk-11.2.0/include/asterisk/compat.h:37, from /opt/openwrt_buildroot/attitude_adjustment/build_dir/target-mips_r2_uClibc-0.9.33.2/asterisk-11.2.0/include/asterisk.h:27, from app.c:17: /opt/openwrt_buildroot/attitude_adjustment/staging_dir/toolchain-mips_r2_gcc-4.6-linaro_uClibc-0.9.33.2/lib/gcc/mips-openwrt-linux-uclibc/4.6.3/include/stddef.h:212:23: error: duplicate 'unsigned' /opt/openwrt_buildroot/attitude_adjustment/staging_dir/toolchain-mips_r2_gcc-4.6-linaro_uClibc-0.9.33.2/lib/gcc/mips-openwrt-linux-uclibc/4.6.3/include/stddef.h:212:23: error: two or more data types in declaration specifiers In file included from /opt/openwrt_buildroot/attitude_adjustment/build_dir/target-mips_r2_uClibc-0.9.33.2/asterisk-11.2.0/include/asterisk/compat.h:37:0, from /opt/openwrt_buildroot/attitude_adjustment/build_dir/target-mips_r2_uClibc-0.9.33.2/asterisk-11.2.0/include/asterisk.h:27, from app.c:17: /opt/openwrt_buildroot/attitude_adjustment/staging_dir/toolchain-mips_r2_gcc-4.6-linaro_uClibc-0.9.33.2/lib/gcc/mips-openwrt-linux-uclibc/4.6.3/../../../../mips-openwrt-linux-uclibc/sys-include/unistd.h:191:19: error: two or more data types in declaration specifiers make[3]: *** [app.o] Error 1 make[3]: Leaving directory `/opt/openwrt_buildroot/attitude_adjustment/build_dir/target-mips_r2_uClibc-0.9.33.2/chan_dongle-1.1.r14' make[2]: *** [/opt/openwrt_buildroot/attitude_adjustment/build_dir/target-mips_r2_uClibc-0.9.33.2/chan_dongle-1.1.r14/.built] Error 2 make[2]: Leaving directory `/opt/openwrt_buildroot/attitude_adjustment/feeds/packages/net/asterisk11-chan-dongle' make[1]: *** [package/feeds/packages/asterisk11-chan-dongle/compile] Error 2 make[1]: Leaving directory `/opt/openwrt_buildroot/attitude_adjustment' make: *** [package/feeds/packages/asterisk11-chan-dongle/compile] Error 2
Ребята. Никак не могу побороть проблему с доступом к модему. Вываливается в сконсоль ошибка
[Nov 5 21:55:51] WARNING[2026]: chan_dongle.c:215 opentty: unable to open /dev/ttyU0.0: Permission denied
Стоит Фря. Я уже добавил астериск в групу dialer. В стартовом rc-скрипте дописал запуск Астериска с правами группы dialer /usr/local/sbin/asterisk -G dialer -n -U asterisk Все безтолку. Помогает лишь утановка прав на устройства. Но это не тот метод, которым хотелось бы решить проблему. Какие есть варианты?
Проблеу решил. Отпишусь, может кому поможет. Дело в том, что владельцы и группы на ttyU* и cuaU* разные. На ttyU* - root и wheel, на cuaU* - uucp и dialer. Поэтому, поменяв в donglе.conf устройства на /dev/cuaU0.0 и /dev/cuaU0.2, решил проблему. Правда просто добавлением пользователя asterisk в группу dialer ничего не получилось. Пришлось запускать астериск от имени asterisk:dialer. Не понятно почему, может кто пояснит?
Из него кстати добротный 7и портовый сотворить можно..там сейчас 7+4..на 4 хаб на свалку..недостающие элементы распаять..внутрь шим на 5 вольт с юстировкой и вполне себе ничего так хабик получается..а если еще перепаять разьемы через один чтоб вниз смотрели то и шнурки не нужны.
Trent, а такие хабы можно както улучшить своими руками? (кроме как заменой БП на 4А) так чтоб идеальный получился. понимаю что идеальных хабов счас на рынке не найти, интересно ктонить их вообще пробовал уже с GSM мопедами?
разобрать и посмотреть надо..у меня именно такого нет но думаю он ничем по схемотехнике не отличается от того что на фото сверху..разве что разводка возможно более правильная ну и питание с разрывами сделано.
Added after 4 minutes:
2 PsychoMantis там конструктив такой..7и портовый хаб в задницу которого воткнули еще 4х портовый.. вот от 4х портового лучше избавится.. тобишь работать будет в любом случае..но я ловил проблемы с модемами которые в хвосте висели..просто целиком отваливаются и все..
Насколько я понимаю DTMF пока донглом не принимаются? Звоню с донгла на сип, нажимаю цифру на мобилке, а у собеседника на сипе -- непрерывный дтмф. На этом разговор можно заканчивать ) В консоли это и видно -- только begin:
Код:
[Nov 9 17:21:17] DTMF[12992]: channel.c:4061 __ast_read: DTMF begin '6' received on Dongle/dongle0-0100000000 [Nov 9 17:21:17] DTMF[12992]: channel.c:4071 __ast_read: DTMF begin passthrough '6' on Dongle/dongle0-0100000000 [Nov 9 17:21:19] DTMF[12992]: channel.c:4061 __ast_read: DTMF begin '8' received on Dongle/dongle0-0100000000 [Nov 9 17:21:19] DTMF[12992]: channel.c:4071 __ast_read: DTMF begin passthrough '8' on Dongle/dongle0-0100000000
В вики тоже написано, что DTMF не работает. Но люди здесь писали что пользуются. А как?
PsychoMantis и други пытаюсь скомпилировать модуль для OpenWRT (trunk, mipsel) проблема с компиляцией конкретно модуля (все остальные пакеты успешно компилируются).
Оформил "пакет", подкорректировал Makefile для использования asterisk 1.8.7.1, вписал актуальный релиз chan_dongle (24). Выбирал три версии gcc - 4.6.1, 4.5.x с linaro, 4.6.x с linaro. Результаты аналогичны, не компилируется:
Код:
In file included from /home/cvv/hdd2/trunk/staging_dir/toolchain-mipsel_gcc-4.6-linaro_uClibc-0.9.32/lib/gcc/mipsel-openwrt-linux-uclibc/4.6.2/../../../../mip sel-openwrt-linux-uclibc/sys-include/bits/types.h:31:0, from /home/cvv/hdd2/trunk/staging_dir/toolchain-mipsel_gcc-4.6-linaro_uClibc-0.9.32/lib/gcc/mipsel-openwrt-linux-uclibc/4.6.2/../../../../mip sel-openwrt-linux-uclibc/sys-include/unistd.h:188, from /home/cvv/hdd2/trunk/build_dir/target-mipsel_uClibc-0.9.32/asterisk-1.8.7.1/include/asterisk/compat.h:37, from /home/cvv/hdd2/trunk/build_dir/target-mipsel_uClibc-0.9.32/asterisk-1.8.7.1/include/asterisk.h:27, from app.c:17: /home/cvv/hdd2/trunk/staging_dir/toolchain-mipsel_gcc-4.6-linaro_uClibc-0.9.32/lib/gcc/mipsel-openwrt-linux-uclibc/4.6.2/include/stddef.h:212:23: error: dupli cate 'unsigned' /home/cvv/hdd2/trunk/staging_dir/toolchain-mipsel_gcc-4.6-linaro_uClibc-0.9.32/lib/gcc/mipsel-openwrt-linux-uclibc/4.6.2/include/stddef.h:212:23: error: two o r more data types in declaration specifiers In file included from /home/cvv/hdd2/trunk/build_dir/target-mipsel_uClibc-0.9.32/asterisk-1.8.7.1/include/asterisk/compat.h:37:0, from /home/cvv/hdd2/trunk/build_dir/target-mipsel_uClibc-0.9.32/asterisk-1.8.7.1/include/asterisk.h:27, from app.c:17: /home/cvv/hdd2/trunk/staging_dir/toolchain-mipsel_gcc-4.6-linaro_uClibc-0.9.32/lib/gcc/mipsel-openwrt-linux-uclibc/4.6.2/../../../../mipsel-openwrt-linux-ucli bc/sys-include/unistd.h:191:19: error: two or more data types in declaration specifiers make[4]: *** [app.o] Error 1 make[3]: *** [/home/cvv/hdd2/trunk/build_dir/target-mipsel_uClibc-0.9.32/chan_dongle-1.1.r10/.built] Error 2 make[2]: *** [package/asterisk18-chan-dongle/compile] Error 2 make[1]: *** [/home/cvv/hdd2/trunk/staging_dir/target-mipsel_uClibc-0.9.32/stamp/.package_compile] Error 2 make: *** [world] Ошибка 2
Можно ли обойтись малой кровью, либо нужно править stddef-ы, unistd-ы?
Антикосяковые примочки в чан_донгл уже дают 20% успеха. Ещё 30% даст доведение их до совершенства. Ну а уж 50% останутся на совести производителей косяковых хабов и их косяковых пользователей. _________________ https://github.com/nixonch/a2billing
Есть проблема выпадения модема в осадок как в примере с модемом GSM1. Соответсвенно набор через s: либо i: становится невыполнимым заданием, приводящим к ошибке. Вопрос чисто программного характера. Возможно bg1 откликнется помочь? Система FreeBSD. С другими ОС такой проблемы не возникает. Пока что скриптом по крону проверяю и рестартую такой донгл. _________________ https://github.com/nixonch/a2billing
bg1, по идее фря и не понадобится чтобы чан при запросе имси и имея из модема проверял что он получил. Если параметр не прочитался или "кривой", отработать по принципу dongle restart gracefully GSM1. а? _________________ https://github.com/nixonch/a2billing
Asterisk 1.6.2.20 E1550 Chan_Dongle Version 1.1, Revision 10 Ubuntu Server 10.04 x86
При входящем звонке звуковые файлы "ru" (от ivrvoice.ru) проигрываются с хрипом и перегрузками, практически ничего не разобрать. Пробовал менять форматы русских файлов на gsm, wav, alaw - результат тот же.
При этом стандартные звуковые файлы "en.gsm" проигрываются хорошо и качество голоса при исходящем звонке тоже хорошее.
E1550 подключен через USB Hub с внешним питанием и не отваливается, оператор МТС Украина.
Есть проблема выпадения модема в осадок как в примере с модемом GSM1. Соответсвенно набор через s: либо i: становится невыполнимым заданием, приводящим к ошибке. Вопрос чисто программного характера. Возможно bg1 откликнется помочь? Система FreeBSD. С другими ОС такой проблемы не возникает. Пока что скриптом по крону проверяю и рестартую такой донгл.
Аналогично, под FreeBSD выпадает ТОЛЬКО МТС, перепробовал кучу прошивок, менял карточки, поставил длинковский хаб , все бесполезно не зависимо от к-ва звонков переодически MTS UKR huawei E1550
Может просто модем переставить на метр в сторону и все решиться.
Было такое в одном углу здания, но с Киевстаром. Подняли в стойке на пятнадцать юнитов и все прошло. _________________ АВТОМАТИЗАЦИЯ ДИСПЕТЧЕСКИХ ТАКСИ
УНИКАЛЬНАЯ ТЕХНОЛОГИЯ "ТАКСИ БЕЗ ДИСПЕТЧЕРОВ" - без Java и/или Интренет (только телефоны) http://tet-a-tet.mobi
Не сталкивался ли кто-нибудь с такой ошибкой: Span 1: Got SETUP with duplicate call ptr. Dropping call. Имеется Asterisk 1.8.7.0 с модемами Е173 и chan_dongle, подключен к АТС по Е1 через дигиумовскую карточку. При появлении данной ошибки он перестает принимать звонки по Е1, точнее эту ошибку он выдает когда начинает отбрасывать вызовы. Очень похоже на подвисшие тайм-слоты в потоке потому как в момент ее появления смотрел статус модемов - занят разговором был один, а в каналах ядра числились два звонка и 4 канала, соответственно. Ситуация может возникнуть как через два дня, так и через месяц работы. Куда начать копать в этом случае?
Еще вот такие ошибки проскакивают довольно часто: [dongle6] Error sending hangup for call idx 1 но они не приводят к таким последствиям.
> Еще вот такие ошибки проскакивают довольно часто: [dongle6] Error sending hangup for call idx 1 но они не приводят к таким последствиям. одновременно обе стороны повесили трубки. _________________ Свежак chan_dongle тут https://github.com/bg111/asterisk-chan-dongle/ Смена IMEI Huawei E1550 E173 E1752 K3765 http://www.e1550.mobi/ от $0,3042 за IMEI
Последнее обновление было датировано 2-м октября. Поговорить с самим собой если интересно? To bg1... закрыл бы уже проект, не мучил людей. _________________ https://github.com/nixonch/a2billing
Последнее обновление было датировано 2-м октября. Поговорить с самим собой если интересно? To bg1... закрыл бы уже проект, не мучил людей.
Хочу напомнить. bg1 никому, ничего не должен. Проект это дело добровольное, а не обязательное. Никто никого не принуждает и не требует обязательств или сроков. Если вам нужна какая фича - ждите когда до нее дойдут руки у разработчика/разработчиков, либо решите проблемы самостоятельно. Можно нанять сторонних программистом для решения собственных потребностей. А чтоб разработчики чаще тратили свое свободное от основной работы время, их нужно просто к этому стимулировать. Неплохим и очень действенным стимулятором является донатэйшн.
Коды должны завершаться знаком "#" на любой неверно введенный код почти всегда приходит голосовое сообщение. "Типа Код введен неверно, попробуйте еще раз." Естественно что слушать его некому, нечем и вызова не было и не ожидалось.
Это не донгловский косяк. _________________ АВТОМАТИЗАЦИЯ ДИСПЕТЧЕСКИХ ТАКСИ
УНИКАЛЬНАЯ ТЕХНОЛОГИЯ "ТАКСИ БЕЗ ДИСПЕТЧЕРОВ" - без Java и/или Интренет (только телефоны) http://tet-a-tet.mobi
Помогите плз. разобраться почему примерно через сутки работы при попытке позвонить через модем тишина, а потом коротки гудки.
У меня 2 модема, включены через хаб D-link. Проблемный MTS E153
В консоли следующие сообщения
-- Executing [8хххххххххх@phones:1] Dial("SIP/utde-0000005c", "Dongle/MTS-Gate/8хххххххххх") in new stack -- Called MTS-Gate/8хххххххххх -- Dongle/MTS-Gate-0100000017 is making progress passing it to SIP/utde-0000005c == Everyone is busy/congested at this time (1:0/0/1) -- Auto fallthrough, channel 'SIP/utde-0000005c' status is 'CHANUNAVAIL'
состояние модема при этом:
gsm-gate*CLI> dongle show devices ID Group State RSSI Mode Submode Provider Name Model Firmware IMEI IMSI Number MTS-Gate 1 Free 17 3 3 MTS E153 11.609.18.00.00 3xxxxxxxxxxxxxx 2xxxxxxxxxxxxxx Unknown V-Gate 1 Free 13 5 4 VLC E1550 11.609.18.00.00 3xxxxxxxxxxxxxx 2xxxxxxxxxxxxxx Unknown
Извне, если позвонить на модем MTG-Gate - "не доступен"
После рестарта модема:
gsm-gate*CLI> dongle restart now MTS-Gate [MTS-Gate] Restart scheduled -- [MTS-Gate] IMEI 3xxxxxxxxxxxxxx IMSI 2xxxxxxxxxxxxxx found on data_tty=/dev/ttyUSB2 audio_tty=/dev/ttyUSB1 -- [MTS-Gate] Trying to connect on /dev/ttyUSB2... -- [MTS-Gate] Dongle has connected, initializing... -- [MTS-Gate] Dongle initialized and ready
Пытаюсь позвонить после рестарта
== Using SIP RTP CoS mark 5 -- Executing [8хххххххххх@phones:1] Dial("SIP/utde-00000060", "Dongle/MTS-Gate/8хххххххххх") in new stack -- Called MTS-Gate/8хххххххххх -- Dongle/MTS-Gate-010000001a is making progress passing it to SIP/utde-00000060 [Dec 14 16:20:48] ERROR[2274]: chan_dongle.c:411 do_monitor_phone: [MTS-Gate] Lost connection to Dongle -- [MTS-Gate] Dongle has disconnected == Everyone is busy/congested at this time (1:0/0/1) -- Auto fallthrough, channel 'SIP/utde-00000060' status is 'CHANUNAVAIL'
присоединяюсь к tcup. Только у меня openwrt 10.03.1-rc6 Всё необходимое ПО собрано без проблем, а вот chan_datacard(dongle) никак не получается собрать. Делал то же самое что и tcup, ошибки те же. Багрепорт уже кем-то написан http://code.google.com/p/asterisk-chan-d ... tail?id=47 Вобщем присоединяюсь к ожидающим чуда.
nixon Большое спасибо за ссылку. Патч (patch3.patch) наложил, собрал. Астериску скормил драйвер канала, всё запустилось. Попробовал сделать исходящий, а он не совершается т.к в консоли следующее:
Код:
WARNING[22479]: channel.c:144 channel_request: '(slin)' [2011-12-22 08:56:42] WARNING[22479]: channel.c:144 channel_request: Asked to get a channel of unsupported format '(slin)' [2011-12-22 08:56:42] WARNING[22479]: app_dial.c:2218 dial_exec_full: Unable to create channel of type 'Dongle' (cause 69 - Facility not implemented) [2011-12-22 08:56:42] == Everyone is busy/congested at this time (1:0/0/1)
Соответственно отвал звонка. При этом кодек slin в системе существует. А пишет что хочет неподдерживаемый формат.
Added after 1 hours 20 minutes:
Разобрался. Удалил каталог с исходниками dongle. Заново распаковал из архива, наложил патч, сделал (как и раньше собственно):
Код:
./configure --with-asterisk=/usr/src/asterisk-10.0.0/include make make install
Вы не поверите, но просто попробовать! Достаточно, так же как делаю я и многие другие, скачать последнюю версию, распаковать и почитать инфу об установке внутри. Также можно зайти на сайт ссылка на который есть в теме. Ничего волшебного нет. Компилите, если нет ошибок, то всё собирается и ставится. Вот инфа из "недр" архива:
Код:
Please use a recent Linux kernel, 2.6.33+ recommended. If you use FreeBSD, 8.0+ recommended.
Опять нарисовалась с ситуация с зависанием модема:
-- Executing [8xxxxxxxxxx@phones:2] Dial("SIP/utde-00000057", "Dongle/MTS-Gate/8xxxxxxxxxx") in new stack -- Called MTS-Gate/8xxxxxxxxxx -- Dongle/MTS-Gate-010000000b is making progress passing it to SIP/utde-00000057 == Everyone is busy/congested at this time (1:0/0/1) -- Auto fallthrough, channel 'SIP/utde-00000057' status is 'CHANUNAVAIL'
При этом состояние модема отображается как нормальное gsm-gate*CLI> dongle show devices ID Group State RSSI Mode Submode Provider Name Model Firmware IMEI IMSI Number MTS-Gate 1 Free 22 3 2 MTS E153 11.609.18.00.00 3xxxxxxxxxxxxxx 2xxxxxxxxxxxxxx Unknown
Подскажите плз можно ли запустить скрипт рестарта модема, по событию?
== Everyone is busy/congested at this time (1:0/0/1) -- Auto fallthrough, channel 'SIP/utde-00000057' status is 'CHANUNAVAIL'
А вот подскажите. Прошивка для E1550 11.608.14.11.174 чем то стабильнее, чем текущая 11.609.18.00.00 ?
Емеются два киевстаровских модема с 11.608.14.11.174 часто отваливаются при загрузке/перезагрузке системы или запуске голосового софта. Еще три с 11.609.20.00.00 - не припомню с ними никаких проблем.
Ясно. Спасибо. Только откуда взялась 11.609.20.00.00 ? последняя же только 11.609.18.00.00. Почему не обновите прошивку на киевстаровских модемах если они глючат?
Уважаемые форумчане помогите с настройкой экстейшена, суть вот в чем . стоят 7 свистков ( huawei e171) ,требуется чтобы при звонке на модем при не ответе через н-ый гудок шла передресация ,тобишь другой модем из ситемы звонил на забитый номер и соединял . тоесть Звонок на модем>(неответ 10 гудков)>звонит другой модем на н-ый сотовый> при подъеме трубки соединяет стоит Ubuntu server 11.10 ,asterisk 1.8.6.0 +freepbx, chan_dongle. экстейшен в данный момент самый простой
Вопрос для профессионалов. Возможно ли организовать схему переадресации Google Voice звонков на мобильный, используя Asterisk-GSM шлюз?
Хочется следующего: Человек звонит на номер Google Voice. Этот звонок перехватывает Asterisk, работающий в связке с модемом Huawei и сим-картой. С этой сим-карты идет звонок на необходимый номер (белорусский мобильный оператор).
И в обратную сторону то самое. Звонок на вставленную в модем симку переводится в Google Voice с донабором конечного номера.
Смысл: входящие из-за границы по тарифам местных звонков. Звонки с мобильного за границу по тарифам Google Voice.
Итак, ваше профессиональное мнение? Реально ли это организовать? Если да, то как =)
Возможно вы регистрировали GV во времена когда те еще не делали такую проверку. Чтож, повезло. На сегодня они дают звонить бесплатно по америке только американцам, остальным - по указанным тарифам, всё это написано у них на сайте.
2 anest: нахожусь в Нижнем Новгороде, по работе постоянно звоню по американским номерам. Что я делаю не так ? американский IP требуется только для регистрации в GV. потом не обязательно.
opt1k, tcup тоже имел проблемы сборки asterisk18-chan-dongle на Ubuntu 11.10 под Atheros AR71XX/AR7240/AR913X ошибки лезли похожие, как исправить к сожалению не знаю, знаний не хватает, но решилось просто - собралось на CentOS 5.5 (32bit) (лога к сожалению нет) (надеюсь, информация будет полезной и кому нибудь сэкономит массу времени) и спасибо разработчикам chan-dongle, отличный модуль.
я регистрировался. он у меня как запасной транк прописан. номера не дают, войсмэйла тоже, клиент на андроиде не запускается - так как необходима валидацие номера, а его - не дают. callerid не шлет твой - по причине номера
качество голоса неплохо цены - недешево, но неплохо для такочо качества
звонки из браузера, из mailplane (программа-клиент gmail в мак) - идут. звонки с астеирска, с астериска на openwrt – тоже.
надеюсь, через год-другой, гугл допилит сервис и для европы.
А есть способ отключать с линукс консоли CallWaiting командой #43# (ну и прочие переадресации) ? Мобыть в терминале (minicom) можно дать определенные AT-команды ? Вот забыл в новой симке отключить, теперь надо выдергивать мопед, вставлять в телефон......
Huawei 3G Dongle Channel Driver, Version 1.1, Revision 13 *CLI> dongle show devices ID Group State RSSI Mode Submode Provider Name Model Firmware IMEI IMSI Number bee-01 3 Free 17 0 0 Beeline E1550 11.609.18.00.00 358711111111111 250999111111111 +79111111111
*CLI> dongle ussd bee-01 #43# [bee-01] USSD queued for send with id 0x9d838b8 [Feb 8 12:04:18] NOTICE[13734]: at_response.c:267 at_response_ok: [bee-01] Successfully sent USSD 0x9d838b8 Incoming USSD: HOMEP HEKOPPEKTEH
*CLI> dongle cmd bee-01 ATDT#43# [bee-01] 'ATDT#43#' Command queued for execute [Feb 8 12:04:39] NOTICE[13734]: at_response.c:1714 at_response: [bee-01] Got Response for user's command:'NO CARRIER' [Feb 8 12:04:39] ERROR[13734]: at_response.c:1807 at_response: [bee-01] Receive NO CARRIER [Feb 8 12:04:39] ERROR[13734]: chan_dongle.c:433 do_monitor_phone: [bee-01] timedout while waiting 'OK' in response to 'USER'S'
это понятно. но он разве отключает в сети это дело ? мне казалось он просто забивает на 2й вызов в пределах chan_dongle. т.е. в таком варианте второй звонок на занятую симку будет слышать гудки или занято ?
А есть способ отключать с линукс консоли CallWaiting командой #43# (ну и прочие переадресации) ? Мобыть в терминале (minicom) можно дать определенные AT-команды ? Вот забыл в новой симке отключить, теперь надо выдергивать мопед, вставлять в телефон......
*CLI> dongle cmd bee-01 AT+CCWA=0,0,1 [bee-01] 'AT+CCWA=0,0,1' Command queued for execute NOTICE[29755]: at_response.c:1714 at_response: [bee-01] Got Response for user's command:'OK'
*CLI> dongle cmd bee-01 AT+CCWA=1,2 [bee-01] 'AT+CCWA=1,2' Command queued for execute NOTICE[29755]: at_response.c:1714 at_response: [bee-01] Got Response for user's command:'+CCWA: 0,1' NOTICE[29755]: at_response.c:1064 at_response_ccwa: Call waiting is disabled on device bee-01 NOTICE[29755]: at_response.c:1714 at_response: [bee-01] Got Response for user's command:'OK' *CLI>
upd: за одно выяснил для себя, что AT+CCFC=4,4 отменяет всю переадресацию AT+CCFC=4,4 -отмена всех переадресаций AT+CCFC=1,3,"+79xxxxxxxxx",129,1 -переадресация по занято AT+CCFC=3,3,"+79xxxxxxxxx",129,1 -переадресация по недоступен по неответу смысла нет делать, но если что AT+CCFC=2,3,... на еле2 сработало, а на пчелах не хочет.
Кто пробовал киевстаровские модемы Е173? прошивка : 11.126.16.04.174 Работают ли они с программой?
Откройте крышку, если модель модема с припиской u-1 или другой цифрой - нет. Эти модемы пока не шьются, так же в них напрочь отключен голос. Находил это в сети где-то, что владельцам онных либо ждать, либо купить нормальные... _________________ my blog - http://igor.net.ua/
С удивлением обнаружил, что компания d-link заменила всеми любимый хаб dub-h7 ver.a7 на новую модель dub-h7 ver.b1. Старая версия снята с производства и в магазинах почти исчезла, а новая версия с модемами работать отказалась (у меня, по крайней мере). Уважаемые форумчане, подскажите на каких аналогах возможна эксплуатация донглов? Если возможно с фото.
Товарищи, нужна ваша помощь. Установил Asterisk, настроил chan_datacard. Звонки через huawey e1550 работают отлично. Теперь есть желание установить второй модем, но вот беда, не могу найти, каким образом направлять звонки на модем №2, если через модем №1 уже осуществляется звонок?
Пробовал оставлять только этот модем, проблема таже. Все определяется, но при входящем или исходящем звонке отваливается модем. Вот мои конфиги, может, там что ни так?
да bg давно пора прикрутить к своей хоумпейдж кнопку Donate, на его дровах уже куча народа столько денег успело заработать.. думаю им будет просто грех не поделиться/не отблагодарить разраба. но он всё скромничает чтото.
Коды должны завершаться знаком "#" на любой неверно введенный код почти всегда приходит голосовое сообщение. "Типа Код введен неверно, попробуйте еще раз." Естественно что слушать его некому, нечем и вызова не было и не ожидалось.
Это не донгловский косяк.
Только вчитался, и увидел недочёт: вопрос был про USSD. Смысл в том, что *101# проходит, а *101*4# нет (на МТС UKR бесплатные минуты проверять).
Присоединяюсь к желающим видеть кнопку донат! Очень полезный модуль! _________________ my blog - http://igor.net.ua/
В общем оно неправильно кодирует 8-ми символьные USSD. Добавляет в конец два нуля. Соответственно 8-ми символьные USSD должны быть длинной 14 символов, а получаются 16. Хотя при обратном декодинге 16 символьные запросы "AA580CA68AC14600" превращаются в *110*10# , но донгл их не хавает. Проблема именно в этом потому что если в функции at_enque_ussd сделать buf - 2 , то 8-ми символьные запросы начитают работать. Зато все остальные перестают, поскольку передаются без конечной "#". Я уже все функции связанные с кодингом перелазил, но в этом С без 100 грамм не разберусь. Глянул бы кто-то...
Неуёмно жадные люди стали использовать софт с целью побыстрее оттопырить свой карман, и за счёт весьма дешёвого оборудования адски демпингуют.
С другой стороны заливают БС, чем сильно напрягают в том числе и технически опсосов. Опсосы не сидят на месте а начинают с такой чумой бороться.
Если раньше много людей спокойно без фанатизма зарабатывали себе на хлеб с маслом, то сейчас они вынуждены 1) снижать цены 2) бороться с придумками опсоса
низкая цена не выгодна никому, а идиоты пилят сук на котором сидят.
2 bg1: Ничего не понятно, лично мой вопрос, кто виноват и что делать? Я за открытую (нормальную) разработку проекта, т.к. сам привязался к Вашему "донглу", завязав свою мини-атс на нем. Я не использую донгл для наживы, точнее использую для работы, мне просто очень удобно и выгодно на офисной машине иметь ПО с функциями полноценной атс для собственных нужд.
Продукт очень интересен, если надо пожертвования или еще чего-то я готов помочь, в силу своих возможностей. _________________ my blog - http://igor.net.ua/
А есть решение как с ип телефона, например 7960, сделать ussd запрос через *-chan_datacard и получить на телефон-же ответ? касаемо смс на стационарный телефон - тоже интересно... _________________ ася #643888492
Согласен с предыдущими ораторами. Использую модуль для личных целей. Надеюсь, что bg1 не забросит проект. Готов финансово поддержать разработчика по мере своих возможностей. Скажем, 10-15% от сэкономленных средств. Кто поддержит? Теперь вот какой вопрос. Поставил 1.8.10 из репозитория digium'a (https://wiki.asterisk.org/wiki/display/AST/Asterisk+Packages). Собираю chan_dongle.so (и из svn, и из релиза 1.1), но не могу его подгрузить в *. Пишет
Код:
bluebox*CLI> module load chan_dongle.so Unable to load module chan_dongle.so Command 'module load chan_dongle.so' failed. [Mar 10 15:52:04] WARNING[30881]: loader.c:783 inspect_module: Module 'chan_dongle.so' was not compiled with the same compile-time options as this version of Asterisk. [Mar 10 15:52:04] WARNING[30881]: loader.c:784 inspect_module: Module 'chan_dongle.so' will not be initialized as it may cause instability. [Mar 10 15:52:04] WARNING[30881]: loader.c:867 load_resource: Module 'chan_dongle.so' could not be loaded. bluebox*CLI> core show version Asterisk 1.8.10.0-1digium1~squeeze built by pbuilder @ nighthawk on a x86_64 running Linux on 2012-03-08 23:18:26 UTC
2 nixon: Это ехидство, вместо благодарности человеку??? Неужели не очевидно, что проект для людей? То, что обязательно из людей найдется, часть сволочей - это неизбежно, природа человека такова...
2 pknw: Я только ЗА, куда переводить скромные пожертвования, так и не сказали... По Вашему вопросу: проверьте не остался ли пакет asterisk-dev (хедеры от прошлой версии), если они есть, установите хедеры 1.8.10 (текущего). Не знаю, что за дистр у Вас, может пакет, а может руками надо... _________________ my blog - http://igor.net.ua/
Спасибо обгромное. Помогло! asterisk-dev не был установлен, поставил из подключенного репозитария. После этого пересобрал chan_dongle и он без проблем подключился! Раньше всё руками собирал, но раз есть версия от поставщика в репозитории, то почему бы её не использовать.
2 nixon: Это ехидство, вместо благодарности человеку???
Во всяком случае это не выслуживание. Помните, Вы либо опсос, либо "неуёмн"ый. Для нас с вами даже за донейшены ничего не сделают. Лучше ищите нового кодера. Старым героям - слава! Молодым - везде у нас дорога! _________________ https://github.com/nixonch/a2billing
Либа полученная в результате реверса CDMA модема работающая с DM командами по еще одному USBпорту (вместо АТ применяемых в GSM), которая подгружается по команде из chan_dongle, в случаях когда он натыкается не на GSM модем для которого предназначен. Берет на себя управление модемом и его потоками, перехватывает потоки Asterisk->chan_dongle обрабатывает их и отправляет в USBпорты CDMA модема.
Но это грубо и утрированно, на самом деле все немного проще и сложнее одновременно. _________________ АВТОМАТИЗАЦИЯ ДИСПЕТЧЕСКИХ ТАКСИ
УНИКАЛЬНАЯ ТЕХНОЛОГИЯ "ТАКСИ БЕЗ ДИСПЕТЧЕРОВ" - без Java и/или Интренет (только телефоны) http://tet-a-tet.mobi
Ребята, кто-то нашел замену dlink dub-h7. Ща вожусь с парой хабов, но у них engage switching вместо per port power switching. Если не найдем замену, то я напряг знакомого электронщика, он сказал реально самому склепать такой хаб. Дам знать как будут новости...
Управление питанием не пробовал, но просто как хаб новый работает не хуже старого, по крайней мере по первой неделе использования. _________________ Better simpler than clever
про 8 символов ussd ничего сказать не могу, ибо кодирование там было ужасное по смыслу, почему то вместо кодировки GSM считалось что там ASCII, вместо 8bit тоже какой то ужос был, а UCS2 попадал куда то мимо utf-8 в результате. Испанцы таки были правы когда говорили что латиница нихрена не доходит, но на наших телефонах это было не проверить.
всё это я давно переписал и в старом коде нет никакого желания ковыряться ввиду полной бессмысленности этой затеи. _________________ Свежак chan_dongle тут https://github.com/bg111/asterisk-chan-dongle/ Смена IMEI Huawei E1550 E173 E1752 K3765 http://www.e1550.mobi/ от $0,3042 за IMEI
Здравствуйте! Установил chan_dongle 1.1r10 на астериск 1.8.10, ubuntu 10.04 x64. dongle show dongle0
Код:
ID Group State RSSI Mode Submode Provider Name Model Firmware IMEI IMSI Number dongle0 0 Free 18 5 4 MTS-RUS E1550 11.609.18.00.00 35870трампампам 2500трампампам +79859трам
dongle show device state dongle0
Код:
-------------- Status ------------- Device : dongle0 State : Free Audio : /dev/ttyUSB1 Data : /dev/ttyUSB2 Voice : Yes SMS : Yes Manufacturer : huawei Model : E1550 Firmware : 11.609.18.00.00 IMEI : 358701111111111 IMSI : 250011111111111 GSM Registration Status : Registered, home network RSSI : 18, -114 dBm Mode : No Service Submode : No service Provider Name : MTS-RUS Location area code : 189D Cell ID : D6CB Subscriber Number : +79859111111 SMS Service Center : +79168999100 Use UCS-2 encoding : Yes USSD use 7 bit encoding : Yes USSD use UCS-2 decoding : No Tasks in queue : 0 Commands in queue : 0 Call Waiting : Disabled Current device state : start Desired device state : start When change state : now Calls/Channels : 0 Active : 0 Held : 0 Dialing : 0 Alerting : 0 Incoming : 0 Waiting : 0 Releasing : 0 Initializing : 0
dongle show device statistics dongle0
Код:
-------------- Statistics ------------- Device : dongle0 Queue tasks : 21 Queue commands : 42 Responses : 244 Bytes of readed responces : 3265 Bytes of wrote commands : 281 Bytes of readed audio : 0 Bytes of wrote audio : 0 Readed frames : 0 Readed short frames : 0 Wrote frames : 0 Wrote short frames : 0 Wrote silence frames : 0 Write buffer overflow bytes : 0 Write buffer overflow times : 0 Incoming calls : 0 Waiting calls : 0 Handled input calls : 0 Fails to PBX run : 0 Attempts to outgoing calls : 0 Answered outgoing calls : 0 Answered incoming calls : 0 Seconds of outgoing calls : 0 Seconds of incoming calls : 0 ACD for incoming calls : -1 ACD for outgoing calls : -1 ASR for incoming calls : -1 ASR for outgoing calls : -1
кусок от dongle.conf:
Код:
[dongle0] audio=/dev/ttyUSB1 ; tty port for audio connection; no default value data=/dev/ttyUSB2 ; tty port for AT commands; no default value imei=35870трампампам context=in_dongle ; context for incoming calls language=en ; set channel default language
extension.ael приводить смысла особого нет, все стандартно. Все внешне нормально, USSD отправляются, SMS принимаются... Но! Входящие звонки не принимаются (отбивается занято), при этом в лог астера ничего не пишется. И исходящие звонки идут от другого номера (!!!) причем этот номер (+7915тирьям) - мой другой МТС номер. В другом телефоне 985-я симка работает как ей и положено, так что дело не в ней. Я, конечно, могу предположить, что 915-я симка до этого как-то была в этом донгле, но номер-то я перепрописывал, что и видно в выводе команды! Может ли этот номер еще где-то в донгле быть прописан? Вероятность того что IMSI донгла сечется с HTC HD2, в котором сейчас торчит этот злосчастный 915-й номер, крайне мала (IMEI разный, проверял). Причем HD2 с этим 915-м номером включен и принимает/осуществляет звонки нормально (это я так, на всякий случай). Скажите пожалуйста, где смотреть и что делать? Доки читал, форум шерстил как мог. А то фантастика какая-то. Спасибо.
P.S. Все заработало после повторной перепрошивки и активации голоса (с правильной симкой внутри). Что было, не представляю. Хотелось бы повторить эксперимент, чтобы уметь звонить с чужих номеров. Но теперь хоть все работает как надо. Может в итоге кому пригодится сия инфа...
звонки работают, звук отличный. Помогите решить проблему с отправкой смс. Отправляю командой, dongle sms dongle0 067XXXXXX8 test приходит @t@e@s@t@ при том, что входящие смс принимаются нормально, в латыни и кириллице. При включении smsaspdu=yes смс отправляются, но не приходят.
Прослышал что Chan_dongle может работать в режиме конференции, первого абонента вешаем на Hold, звоним второму потом их склеиваем. Пробовал на Elastix 2.2 Правда Chan_datacard второй звонок совершить не дает, когда первый на Hold. Может кто знает как решить проблему ?
ВНИМАНИЕ! Хочу предупредить тех, кто собирается закупаться модемами E171 от МТС. Появились препейд комплекты в новой упаковке в виде маленького прямоугольного бруска. Внутри модем внешне идентичный модему E171 в старой "большой" упаковке и называется аналогично. Но если "старый" модем прекрасно работает с Asterisk и до выполнения modeswitch определяется как: 12d1:1446, то этот видится как 12d1:14fe и переключить из usb-storage режима в usbserial мне не удалось. Соответственно порты через которые работает * не появляются и прикручивать chan_dongle не к чему.
Время на изучение было мало (2 часа) и выяснить точно, заведется или нет не удалось! Вернул все модемы назад. Продавец сказал, что в нашем городе старые модемы уже не найти (хотя 2 недели назад они еще лежали везде).
Если кто-то столкнется с модемом e171 определяющимся как 12d1:14fe и сможет его прикрутить к * прошу отписаться!
п.с. под виндой модем заработал нормально и голосовые звонки совершает. При этом в системе не появился управляющий COM порт, который нужен для того, чтобы послать код перевода в режим - только модем.
siv237 У меня как раз e171 от МТС, сначала определяется как «12d1:14fe» заводил под Debian 6.0.4 и Centos 6.2
Заводится довольно просто. Я заводил так: скачал свежую версию usb-modeswitch-1.2.3.tar.bz2, usb-modeswitch-data, установил согласно инструкции описанной на сайте разработчика. Потом apt-get install tcl8.5 нужен для usb_modeswitch_dispatcher, если Centos то yum –y tcl
ID Group State RSSI Mode Submode Provider Name Model Firmware IMEI IMSI Number kyivstar0 0 Free 14 0 0 KYIVSTAR E171 21.156.00.00.143 хххххххххххх хххххххххххх Unknown
В устанавливаемой версии usb-modeswitch-data из репозитория с помощью менеджера пакетов, нет данных про этот модем.
Что работает. голос в обе стороны, ussd принимает и отправляет, смс принимает, а вот с отправкой, пока никак, выше описал проблему.
ещё немного issue почистил от мусора. там надо писать баги и запросы, а не темы "вот у меня этот модем ZTE не работает". _________________ Свежак chan_dongle тут https://github.com/bg111/asterisk-chan-dongle/ Смена IMEI Huawei E1550 E173 E1752 K3765 http://www.e1550.mobi/ от $0,3042 за IMEI
Сорри, сумбурно получилось. В общем-то вопрос был в том, отчего модем может звонить в сотовую сеть, прикидываясь другим номером? Где еще может у него храниться номер телефона кроме того, что прописано в: (цитата из вики)
А если Астер удаленно стоит...? И сервер www не твои и тебе не дадут права на команды чего делать?
Цитата:
Не знаю как можно с веб-интерфейса, я отправляю CLI-командой типа с командной строки машины: Код: office@office:~$ asterisk -vvvrx 'dongle sms dongle1 +380501234567 "Мы сделали Вам сайт http://fasad.lg.ua/"'
заметил, что надо именно с ком.сроки, потому что в самом CLI астера не набирается киррилица
Уважаемые форумчане, прошу вашей помощи! Пытаюсь отправлять USSD-запрос средствами CLI (asterisk -rx "dongle ussd "), отправить запрос получается, но после принять ответ никак, вижу его только в логах. Отсюда вопрос, как можно принять ответ из CLI, при отправке запроса? Заранее благодарен за посильную помощь.
Вы меня чуть не поняли, я бы хотел отправлять USSD и получать ответ, от запроса, при помощи CLI (asterisk -rx "dongle ussd dongle *100#") Чтобы это все обработать внешним bash-скриптом.
**** -bash-3.2# lsusb Bus 002 Device 001: ID 0000:0000 Bus 002 Device 002: ID 0e0f:0003 VMware, Inc. Virtual Mouse Bus 002 Device 003: ID 0e0f:0002 VMware, Inc. Virtual USB Hub Bus 001 Device 002: ID 12d1:140c Huawei Technologies Co., Ltd. Bus 001 Device 003: ID 12d1:140c Huawei Technologies Co., Ltd. Bus 001 Device 001: ID 0000:0000 Bus 001 Device 004: ID 12d1:140c Huawei Technologies Co., Ltd. **** dongle.conf ; dongle required settings [e173_1] audio=/dev/ttyUSB0 ; tty port for audio connection; no default value data=/dev/ttyUSB1 ; tty port for AT commands; no default value [e173_2] audio=/dev/ttyUSB2 ; tty port for audio connection; no default value data=/dev/ttyUSB3 ; tty port for AT commands; no default value [e173_3] audio=/dev/ttyUSB4 ; tty port for audio connection; no default value data=/dev/ttyUSB5 ; tty port for AT commands; no default value **** Получаем ошибку: -- [e173_1] Trying to connect on /dev/ttyUSB1... [2012-04-02 15:21:51] WARNING[4973]: chan_dongle.c:215 opentty: unable to open /dev/ttyUSB1: Permission denied -- [e173_2] Trying to connect on /dev/ttyUSB3... [2012-04-02 15:21:51] WARNING[4973]: chan_dongle.c:215 opentty: unable to open /dev/ttyUSB3: Permission denied -- [e173_3] Trying to connect on /dev/ttyUSB5... [2012-04-02 15:21:51] WARNING[4973]: chan_dongle.c:215 opentty: unable to open /dev/ttyUSB5: Permission denied
Решил эту проблему она была с правами появилась другая:
[2012-04-02 15:59:10] ERROR[9181]: at_response.c:364 at_response_error: [e173_2] Getting IMSI number failed -- [e173_2] Error initializing Dongle -- [e173_2] Dongle has disconnected [2012-04-02 15:59:12] ERROR[9180]: chan_dongle.c:433 do_monitor_phone: [e173_1] timedout while waiting 'OK' in response to 'AT' -- [e173_1] Error initializing Dongle -- [e173_1] Dongle has disconnected [2012-04-02 15:59:12] ERROR[9182]: chan_dongle.c:433 do_monitor_phone: [e173_3] timedout while waiting 'OK' in response to 'AT' -- [e173_3] Error initializing Dongle -- [e173_3] Dongle has disconnected -- [e173_1] Trying to connect on /dev/ttyUSB1... -- [e173_1] Dongle has connected, initializing... -- [e173_2] Trying to connect on /dev/ttyUSB3... -- [e173_2] Dongle has connected, initializing... -- [e173_3] Trying to connect on /dev/ttyUSB5... -- [e173_3] Dongle has connected, initializing...
to bg1 Если использовать авторежим привязки имени устройства к imei модема в dongle.conf модемы с новой прошивкой (21.156.00.00.143) не работают. Проблема в том, что в новых прошивках расположение портов изменилось. Раньше было так (11.126.85.01.143): ttyUSB0 - управляющий устройства audio=/dev/ttyUSB1 data=/dev/ttyUSB2 В новых: audio=/dev/ttyUSB2 data=/dev/ttyUSB1 Возможно ли сделать задание портов относительным смещением от дата порта. Дата порт определяется автоматом, а голосовой задается например -1 или +1
imei прочитай с модемов глазами или AT-командой **** dongle.conf ; dongle required settings [e173_1] imei=358111111111111 [e173_2] imei=358222222222222 [e173_3] imei=358333333333333 ****
у меня на каждый модем прописан только imei/imsi/context/group порты указывать в случае с imei не надо. тебе для начала достаточно будет только imei
Спасибо я вот и думал в принципе, как привязать определенное устройство к определенному порту - сегодня попробую - схожу перепишу номера модемов в серверную.
Сталкнулся с такой проблемой, что после перезагрузки - сбрасывало устройства на другой Deice ID? До: Bus 001 Device 004: ID 12d1:1001 После: Bus 001 Device 002: ID 12d1:140c
хотел добавить, что это появилось позже, т.е. никаких изменений не делал. астер 1.8 как поставил, больше ничего не модифицировал. все работало отлично, и никакие варнунги не выскакивали. а тут появилось это.
вот же люди! ну задерите уровень лога в консоль еще повыше и вы там еще не такие мессиджи увидите!!! зачем так задирать уровень? вы чтото отлаживаете чтоли?
задернуть не проблема. просто когда все откомпилировал и установил, было много предупреждений, кончено исправил, подправил, настроил и тд. но этого не было. и вот теперь это вылезло. конечно, все работает и можно забить на это, но хочется знать, что это такое и откуда появилось.
добавлю, что у даже если выставить в ноль, выход эта ошибка в консоли.
А есть ли возможность прикрутить модем E352 к chan_dongle? Я так понял, что там несколько изменился формат AT-команд, во всяком случае отключение CD-SD и сброс происходит иначе, а chan_dongle c ходу не может прочитать IMSI и в терминале соответствующая команда выдает ошибку, хотя IMEI читает нормально. Дело в том, что проверенные E173 из продажи разом исчезли и сейчас есть только такие.
P.S. Видел еще E171 от МТС, но не уверен, что там активирован голос и у меня не опыта по работе с ними.
Приветствую, Увжаемые господа, прошу помощи сообщества. Не так давно стал познавать Asterisk и chan_dongle, все собрал и установил, вроде даже частично настроил, НО столкнулся с проблемой. Не получается перенаправить звонок из SIP на GSM Dongle, чтобы сделать исходящий звонок. Ниже привожу свои конфигурационные файлы
При входящем звонке с SIP, пытаюсь перенправить звонок на Dongle, чтобы он сделал исходящий звонок, на указанный номер.
Код:
[Apr 25 23:46:00] WARNING[6530]: channel.c:166 channel_request: [Huawei01] Request to call on device which can not make call at this moment [Apr 25 23:46:00] WARNING[6530]: app_dial.c:2218 dial_exec_full: Unable to create channel of type 'Dongle' (cause 44 - Requested channel not available)
Подскажите плз в чем может быть причина ошибки. Дело в том, что звонок с GSM н а SIP перенаправляется и отлично работает.
Ошибка в диал плане. К донглу это отношения не имеет.Вам в другой раздел форума потому, что к вашему вопросу есть куча встречных, уточняющих. А переписка зафлудит даный топик. _________________ АВТОМАТИЗАЦИЯ ДИСПЕТЧЕСКИХ ТАКСИ
УНИКАЛЬНАЯ ТЕХНОЛОГИЯ "ТАКСИ БЕЗ ДИСПЕТЧЕРОВ" - без Java и/или Интренет (только телефоны) http://tet-a-tet.mobi
У меня, как я понял, довольно распространённая проблема, но пока решения для себя не нашёл, поэтому надеюсь на помощь специалистов. Итак, суть. При звонке через шлюз звук идёт только в одном направлении (от dongle в SIP). Моя конфигурация на данный момент следующая:
Asterisk 1.8.11.0 (до этого использовал 1.6, думал, что апгрейд решит проблему, оказалось - нет) chan_dongle-1.1.r10 (пересобрал из исходников) роутер Asus RT-N16 DD-WRT Release: 04/07/12 (SVN revision: 18946) Софтфон (PortSIP) на мобильном телефоне с интернетом от мегафона модем Huawei 1550 (пробовал так же и E173, проблема присутствует на обоих устройствах)
Код:
Found modem : E1550 Model : Huawei E1550 IMEI : ххххххххххххххх Firmware : 11.609.20.00.00 Dashboard version : UTPS11.300.05.15.143_MAC11.301.09.01.143 Serial NR. : B54CAA1971808591 Voice feature : enabled SIM Lock status : unlocked Wrong codes entered : 0 (unlock attempts left : 10)
Asterisk установлен на RT-N16 и находится на внешнем public IP (за NAT присутствует домашняя локалка) Пытаюсь звонить с софтфона PortSIP, который на мобильном телефоне и работает через megafon-интернет Соединение происходит нормально, посмотрел tcpdump'ом - пакеты на внешнем интерфейсе роутера бегают в обе стороны. Доступ к диапазону RTP-портов открыт снаружи:
[defaults] ; now you can set here any not required device settings as template ; sure you can overwrite in any [device] section this default values
; dongle required settings [dongle0] audio=/dev/usb/tts/1 ; tty port for audio connection; no default value data=/dev/usb/tts/2 ; tty port for AT commands; no default value context=dongle-incoming ; context for incoming calls group=1 ; calling group rxgain=3 ; increase the incoming volume txgain=3 ; increase the outgoint volume resetdongle=yes ; reset datacard during initialization u2diag=0 ; set U2DIAG parameter (256 = modem+card_reader) usecallingpres=yes ; use the caller ID presentation or not callingpres=allowed_passed_screen ; set caller ID presentation
TCPDUMP (на внешнем интерфейсе)
Код:
16:35:14.821951 IP ip-X-X-X-X.nwgsm.ru.53348 > Y-Y-Y-Y.home-provider.net.10002: UDP, length 332 16:35:14.828201 IP Y-Y-Y-Y.home-provider.net.10002 > ip-X-X-X-X.nwgsm.ru.53348: UDP, length 172 16:35:14.842103 IP ip-X-X-X-X.nwgsm.ru.53348 > Y-Y-Y-Y.home-provider.net.10002: UDP, length 332 16:35:14.847295 IP Y-Y-Y-Y.home-provider.net.10002 > ip-X-X-X-X.nwgsm.ru.53348: UDP, length 172 16:35:14.866890 IP Y-Y-Y-Y.home-provider.net.10002 > ip-X-X-X-X.nwgsm.ru.53348: UDP, length 172 16:35:14.886704 IP Y-Y-Y-Y.home-provider.net.10002 > ip-X-X-X-X.nwgsm.ru.53348: UDP, length 172 16:35:14.904348 IP ip-X-X-X-X.nwgsm.ru.53348 > Y-Y-Y-Y.home-provider.net.10002: UDP, length 332 16:35:14.904871 IP ip-X-X-X-X.nwgsm.ru.53348 > Y-Y-Y-Y.home-provider.net.10002: UDP, length 332 16:35:14.911328 IP Y-Y-Y-Y.home-provider.net.10002 > ip-X-X-X-X.nwgsm.ru.53348: UDP, length 172 16:35:14.927096 IP Y-Y-Y-Y.home-provider.net.10002 > ip-X-X-X-X.nwgsm.ru.53348: UDP, length 172 16:35:14.946937 IP Y-Y-Y-Y.home-provider.net.10002 > ip-X-X-X-X.nwgsm.ru.53348: UDP, length 172 16:35:14.962144 IP ip-X-X-X-X.nwgsm.ru.53348 > Y-Y-Y-Y.home-provider.net.10002: UDP, length 332 16:35:14.968080 IP Y-Y-Y-Y.home-provider.net.10002 > ip-X-X-X-X.nwgsm.ru.53348: UDP, length 172 16:35:14.978154 IP ip-X-X-X-X.nwgsm.ru.53348 > Y-Y-Y-Y.home-provider.net.10002: UDP, length 332 16:35:14.986898 IP Y-Y-Y-Y.home-provider.net.10002 > ip-X-X-X-X.nwgsm.ru.53348: UDP, length 172 16:35:15.006758 IP Y-Y-Y-Y.home-provider.net.10002 > ip-X-X-X-X.nwgsm.ru.53348: UDP, length 172 16:35:15.022130 IP ip-X-X-X-X.nwgsm.ru.53348 > Y-Y-Y-Y.home-provider.net.10002: UDP, length 332 16:35:15.027325 IP Y-Y-Y-Y.home-provider.net.10002 > ip-X-X-X-X.nwgsm.ru.53348: UDP, length 172 16:35:15.041963 IP ip-X-X-X-X.nwgsm.ru.53348 > Y-Y-Y-Y.home-provider.net.10002: UDP, length 332
SIP SET DEBUG ON (X.X.X.X - внешний IP софтфона, Y.Y.Y.Y - внешний IP Asterisk'а, A.A.A.A - адрес софтфона за NAT):
Код:
DD-WRT*CLI> sip set debug on SIP Debugging enabled
-- Executing [s@dongle-incoming:1] Dial("Dongle/dongle0-0100000001", "SIP/100,,") in new stack == Using SIP RTP TOS bits 184 == Using SIP RTP CoS mark 5 Audio is at Y.Y.Y.Y port 10082 Adding codec 0x8 (alaw) to SDP Adding codec 0x4 (ulaw) to SDP Adding codec 0x2 (gsm) to SDP Adding non-codec 0x1 (telephone-event) to SDP Reliably Transmitting (NAT) to X.X.X.X:53933: INVITE sip:100@A.A.A.A:5041;rinstance=a4270f46926f8043 SIP/2.0 Via: SIP/2.0/UDP Y.Y.Y.Y:5060;branch=z9hG4bK0a1a9982;rport Max-Forwards: 70 From: "dongle0" ;tag=as30763f4b To: Contact: Call-ID: 7ddc7e447fc5cf7f522af29d7194f232@Y.Y.Y.Y CSeq: 102 INVITE User-Agent: Cisco-SIPGateway Date: Thu, 26 Apr 2012 11:59:19 GMT Allow: INVITE, ACK, CANCEL, OPTIONS, BYE, REFER, SUBSCRIBE, NOTIFY, INFO Supported: replaces, timer Content-Type: application/sdp Content-Length: 326
--- (12 headers 10 lines) --- Found RTP audio format 8 Found RTP audio format 101 Found audio description format PCMA for ID 8 Found audio description format telephone-event for ID 101 Capabilities: us - 0xe (gsm|ulaw|alaw), peer - audio=0x8 (alaw)/video=0x0 (nothing)/text=0x0 (nothing), combined - 0x8 (alaw) Non-codec capabilities (dtmf): us - 0x1 (telephone-event), peer - 0x1 (telephone-event), combined - 0x1 (telephone-event) Peer audio RTP is at port A.A.A.A:21692 list_route: hop: set_destination: Parsing for address/port to send to set_destination: set destination to A.A.A.A, port 5041 Transmitting (NAT) to X.X.X.X:53933: ACK sip:100@A.A.A.A:5041;rinstance=a4270f46926f8043 SIP/2.0 Via: SIP/2.0/UDP Y.Y.Y.Y:5060;branch=z9hG4bK3669ed4f;rport Max-Forwards: 70 From: "dongle0" ;tag=as30763f4b To: ;tag=56055b20 Contact: Call-ID: 7ddc7e447fc5cf7f522af29d7194f232@Y.Y.Y.Y CSeq: 102 ACK User-Agent: Cisco-SIPGateway Content-Length: 0
--- -- SIP/100-00000001 answered Dongle/dongle0-0100000001 [Apr 26 11:59:24] NOTICE[4434]: rtp.c:1809 ast_rtp_read: Unknown RTP codec 126 received from 'X.X.X.X'
SIP/2.0 200 OK Via: SIP/2.0/UDP Y.Y.Y.Y:5060;branch=z9hG4bK0a1a9982;rport=5060 Contact: To: ;tag=56055b20 From: "dongle0";tag=as30763f4b Call-ID: 7ddc7e447fc5cf7f522af29d7194f232@Y.Y.Y.Y CSeq: 102 INVITE Allow: INVITE, ACK, CANCEL, OPTIONS, BYE, REFER, NOTIFY, MESSAGE, REGISTER, SUBSCRIBE, INFO, PUBLISH Content-Type: application/sdp Supported: replaces User-Agent: PortSIP CE for Mobile Content-Length: 221
SIP/2.0 200 OK Via: SIP/2.0/UDP Y.Y.Y.Y:5060;branch=z9hG4bK12e18375;rport=5060 Contact: To: ;tag=ac66e95d From: "asterisk";tag=as2acf1283 Call-ID: 4f1a0a4c13637d08092ff1a715ca8964@Y.Y.Y.Y CSeq: 102 OPTIONS Accept: application/sdp Accept-Language: en Allow: INVITE, ACK, CANCEL, OPTIONS, BYE, REFER, NOTIFY, MESSAGE, REGISTER, SUBSCRIBE, INFO, PUBLISH Supported: replaces User-Agent: PortSIP CE for Mobile Content-Length: 0
SET RTP DEBUG ON (X.X.X.X - внешний IP софтфона):
Код:
Got RTP packet from X.X.X.X:60405 (type 08, seq 047476, ts 3080021694, len 000320) Sent RTP packet to X.X.X.X:60405 (type 08, seq 008979, ts 2349600, len 000160) Got RTP packet from X.X.X.X:60405 (type 08, seq 047477, ts 3080021854, len 000320) Sent RTP packet to X.X.X.X:60405 (type 08, seq 008980, ts 2349760, len 000160) Got RTP packet from X.X.X.X:60405 (type 08, seq 047478, ts 3080022014, len 000320) Sent RTP packet to X.X.X.X:60405 (type 08, seq 008981, ts 2349920, len 000160) Sent RTP packet to X.X.X.X:60405 (type 08, seq 008982, ts 2350080, len 000160) Sent RTP packet to X.X.X.X:60405 (type 08, seq 008983, ts 2350240, len 000160) Got RTP packet from X.X.X.X:60405 (type 08, seq 047479, ts 3080022174, len 000320) Sent RTP packet to X.X.X.X:60405 (type 08, seq 008984, ts 2350400, len 000160) Sent RTP packet to X.X.X.X:60405 (type 08, seq 008985, ts 2350560, len 000160) Sent RTP packet to X.X.X.X:60405 (type 08, seq 008986, ts 2350720, len 000160) Sent RTP packet to X.X.X.X:60405 (type 08, seq 008987, ts 2350880, len 000160) Got RTP packet from X.X.X.X:60405 (type 08, seq 047480, ts 3080022334, len 000320) Sent RTP packet to X.X.X.X:60405 (type 08, seq 008988, ts 2351040, len 000160) Got RTP packet from X.X.X.X:60405 (type 08, seq 047481, ts 3080022494, len 000320) Sent RTP packet to X.X.X.X:60405 (type 08, seq 008989, ts 2351200, len 000160) Got RTP packet from X.X.X.X:60405 (type 08, seq 047482, ts 3080022654, len 000320) Sent RTP packet to X.X.X.X:60405 (type 08, seq 008990, ts 2351360, len 000160) Sent RTP packet to X.X.X.X:60405 (type 08, seq 008991, ts 2351520, len 000160) Sent RTP packet to X.X.X.X:60405 (type 08, seq 008992, ts 2351680, len 000160) Sent RTP packet to X.X.X.X:60405 (type 08, seq 008993, ts 2351840, len 000160) Got RTP packet from X.X.X.X:60405 (type 08, seq 047484, ts 3080022974, len 000320) Sent RTP packet to X.X.X.X:60405 (type 08, seq 008994, ts 2352000, len 000160) Sent RTP packet to X.X.X.X:60405 (type 08, seq 008995, ts 2352160, len 000160) Sent RTP packet to X.X.X.X:60405 (type 08, seq 008996, ts 2352320, len 000160) Got RTP packet from X.X.X.X:60405 (type 08, seq 047485, ts 3080023134, len 000320) Sent RTP packet to X.X.X.X:60405 (type 08, seq 008997, ts 2352480, len 000160) Got RTP packet from X.X.X.X:60405 (type 08, seq 047486, ts 3080023294, len 000320) Sent RTP packet to X.X.X.X:60405 (type 08, seq 008998, ts 2352640, len 000160) Got RTP packet from X.X.X.X:60405 (type 08, seq 047487, ts 3080023454, len 000320) Sent RTP packet to X.X.X.X:60405 (type 08, seq 008999, ts 2352800, len 000160) Got RTP packet from X.X.X.X:60405 (type 08, seq 047488, ts 3080023614, len 000320) Sent RTP packet to X.X.X.X:60405 (type 08, seq 009000, ts 2352960, len 000160) Sent RTP packet to X.X.X.X:60405 (type 08, seq 009001, ts 2353120, len 000160) DD-WRT*CLI> rtp set debug off RTP Debugging Disabled
Когда звоню софтфоном из домашней локалки, связь так же односторонняя. Каналы и кодеки:
Код:
DD-WRT*CLI> sip show channels Peer User/ANR Call ID Format Hold Last Message Expiry Peer 192.168.1.40 100 ZTVlZWMzYWVlY2J 0x4 (ulaw) No Rx: ACK 100 1 active SIP dialog ----------------------------------------------------------------------------
DD-WRT*CLI> sip show channel OTEyZDg1NGJlNTgyZjhjODNjNTc3ODY3ZjM2MmYyNTk.
* SIP Call Curr. trans. direction: Incoming Call-ID: OTEyZDg1NGJlNTgyZjhjODNjNTc3ODY3ZjM2MmYyNTk. Owner channel ID: SIP/100-00000001 Our Codec Capability: 0xe (gsm|ulaw|alaw) Non-Codec Capability (DTMF): 1 Their Codec Capability: 0xe (gsm|ulaw|alaw) Joint Codec Capability: 0xe (gsm|ulaw|alaw) Format: 0x4 (ulaw) T.38 support No Video support No MaxCallBR: 384 kbps Theoretical Address: 192.168.1.40:32000 Received Address: 192.168.1.40:32000 SIP Transfer mode: open Force rport: Yes Audio IP: 192.168.1.1 (local) Our Tag: as0eeee3a4 Their Tag: 0802297a SIP User agent: eyeBeam release 1102u stamp 52345 Username: 100 Peername: 100 Original uri: sip:100@192.168.1.40:32000 Caller-ID: 100 Need Destroy: No Last Message: Rx: ACK Promiscuous Redir: No Route: sip:100@192.168.1.40:32000 DTMF Mode: rfc2833 SIP Options: (none) Session-Timer: Inactive ----------------------------------------------------------------------------
DD-WRT*CLI> sip show channelstats Peer Call ID Duration Recv: Pack Lost ( %) Jitter Send: Pack Lost ( %) Jitter 192.168.1.40 OTEyZDg1NGJ 00:06:15 0000018677 0000000000 ( 0.00%) 0.0000 0000018509 0000000000 ( 0.00%) 0.0052 1 active SIP channel
Судя по отрабатывающему правилу файрвола, пакеты входящего rtp-трафика проходят:
Дополнение: при нажатии клавиш на софтфоне слышны звуки тонов на противоположной стороне, а сам голос в этом направлении не передаётся. Помогите пожалуйста, никак не могу понять в чём причина
Правильно ли я понимаю, что у меня проблема с кодеками? Если да, то в какую сторону копать? Ведь в sip.conf у меня прописаны только ulaw, alaw и gsm. Откуда взялся этот slin?
sip show channels при этом показывает:
Код:
Peer User/ANR Call ID Format Hold Last Message Expiry Peer 192.168.1.40 100 36fed2a86fa5602 0x4 (ulaw) No Tx: ACK 100 1 active SIP dialog
С астериском знаком недавно, курю мануалы и в данный момент запутался в указанной проблеме. Прошу помощи у коллективного разума
Приобрел на днях HUAWEI K3806 (firmware 31.116.27.06.143)
Решил запинать chan_dongle для него. Не получилось сходу.
1. Хотя CLCC и рапортует callid = 1 (+CLCC: 1,1,4,0,0,"+7xxxxxxxxxx",145,""), сразу после ATA валятся ^CONF:7 и ^CONN:7,0 и chan-dongle сразу делает CHUP (поскольку не находит звонка с индексом 7) и сильно удивляется при этом
пропатчил at_response.c - заставил его думать, что 7 - это 1 в данном случае - стал отвечать на звонок
2. Playback выдает пачку логов типа :
Код:
channel.c: [dongle0] write call idx 1 state 0 channel.c: [dongle0] Write frame: samples = 160, data lenght = 320 byte channel.c: [dongle0] read call idx 1 state 0 audio_fd 18
На другом конце звука нет.
3. Сбриджил входящий звонок с софтовым телефоном - звука нет в обоих направлениях, хотя логи усердно засираются вышеуказанным образом.
4. Ну и напоследок - ежели входящий на донгл звонок сбросить - dongle видит NO CARRIER и в панике роняет астериск навзничь.
Куда копать дальше пока не понятно. Есть у кого-нить идеи?
снимите дамп во время падения. как - ссылка уже проблегала несколько раз и в топике и в форуме. если не найдете - смотрите voip-info.org => search => asterisk debug. без дампа сдвига в ситуации не будет.
Возможно кому-то пригодится написал скрипт для ведения статистики по балансам
ru.man.wikia.com/wiki/Статистика_по_балансу
Добавил авто отключение модемов, у которых баланс ниже порогового. Это позволяет пропускать заблокированный оператором модем при совершении звонков и использовать оставшиеся автоматически.
Здравствуйте. Извиняюсь за повторение вопроса. Подскажите пожалуйста, имею проблемы со звуком на e1550. Звук в сторону модема от сип идет нормальный, а от сотовой сети к модему и в последствии к сип клиенту хрипит скрипит до полной не разборчивости. Модем разлочен, звук активирован. Под вин хп звонки идут нормально. Имею Ubuntu 3.0.0-19-generic 64 Asterisk 1.8.8.0 chan_datacard и все это работает под vmware esxi 4 подскажите в каком направлении копать?
Загружаем и собираем свежую версию usb-modeswitch для поддержки новых модемов cd /tmp wget http://www.draisberghof.de/usb_modeswitc ... .3.tar.bz2 wget http://www.draisberghof.de/usb_modeswitc ... 20.tar.bz2 apt-get install libusb-dev cd /usr/src tar -jxvf /tmp/usb-modeswitch-1.2.3.tar.bz2 tar -jxvf /tmp/usb-modeswitch-data-20120120.tar.bz2 cd /usr/src/usb-modeswitch-1.2.3/ make install cd /usr/src/usb-modeswitch-data-20120120/ make install Версии возможно уже не актуальные но с e171 с прошивками 21.xx.xx.xx и IMEI начинающийся с 86 заработало. п.с. Для новых модемов E171 с прошивкой 21.156.00.00.143 и IMEI начинается с 8614 требуется другая комманда для включения режима "только-модем" AT^SETPORT="A1,A2;1,2,3" А для работы с модулем dongle в режиме автоопределения по номеру IMEI нужно: http://code.google.com/p/asterisk-chan-d ... tail?id=73
Добрый день. Подскажите стоит ли использовать последние прошивки для E1550, вижу тут обсуждалось что 11.609.20.ХХ.ХХ нормальные, Или есть какая то постарше но проверенная? Или качать последнюю с dc-files
chan_dongle последний asterisk 1.8.10 Оператор GSM - Life ID Group State RSSI Mode Submode Provider Name Model Firmware IMEI IMSI Number dongle0 0 Free 20 3 3 life:) E1550 11.608.14.11.174 3591*********** 2550*********** +38093*******
Если звонить на модем из этой же сети (Life), то ДТМФ прекрасно определяется и обрабатывается донглом(астериском). А вот если звонить из сетей других мобильных оператров или из "города". Все очень плохо Звонок из города - в логах вообще ничего нет, как будто ничего и не набиратеся Киевстар - определялось с ошибками или через раз (помогло изменение rxgain/txgain c 0 на -2, хотя это странно если судить по тому, что я читал в этой ветке) МТС - ДТМФ не определяется, в логах что типа
[May 24 11:19:38] DTMF[2156]: channel.c:4063 __ast_read: DTMF begin '0' received on Dongle/dongle0-010000000c [May 24 11:19:38] DTMF[2156]: channel.c:4067 __ast_read: DTMF begin ignored '0' on Dongle/dongle0-010000000c
С параметрами mindtmf*** игрался, не помогло. В данной ситуации, что-то можно предпринять?
никто не сталкивался с такой проблемой? в usb-hub'е d-link dub-h7 торчат две E1550, стоит астериск 1.8 и стоит chan_datacard
модемы астериск видит, первый звонок на любой модем проходит нормально, ложим трубку, в ответ на остальные звонки слышно гудки ожидания... при этом никаких сообщений не в консоле самого линукса ни в консоле астериска...
и так пока не сделать перезагрузку модема или самого астериска (core restart now)
плохо игрался, надо хорошо играться и такие сообщения исчезнут. но не факт что всё станет "летать".
Да, вероятнее всего вы правы, попробовал с десятка два комбинаций (увеличивая-уменьшая значения по умолчанию в 2-3-4 раза), Уважаемый bg1, может быть будут какие-то рекомендации? В каких пределах менять значения mindtmf***? А после каких значений это делать уже бессмысленно? С изменения какого параметра стоит начать? Какой шаг изменений применить? Может можно записать звук и проанализировать его в какой либо звуковой программе? Думаю многим у кого возникают такого рода проблемы, было бы интересно. Спасибо, за ваши ответы.
Сижу читаю, понять мало что могу, помогите немного вкурить в этой теме. 1) С чего начать, что прочитать, что бы USB dongle с мобилкой (или модемы нудно какие-то использовать) 2) chan_dongle - он платный ? 3) USB-donle любые юзать или только хуавеи? Где покупаете, какие лучше брать? 4) Мобилки любые или какие-то особенные? 5) Через USB-hub можно цеплять donhle? Какой юзать советуете или в целом без разницы? 6) А через такую связку, отлавливать сообщения "Мобильный телефон отключен" и что бы не было коннекта делать реально?
делаю callback, все прекрасно отрабатывает, донгл набирает номер и соединяет с [mainmenu,s,1] (где предлагается ввести дополнительный номер, ждет 9 сек., если ничего не набирается то соединяется с определенным СИП номером, что, то типа этого)
по идее если набрать 100, текущий вызов должен поставиться в hold, и через этот же донгл должен пойти вызов на номер 38093ZZZZZZZ для создания конференции, но этого не происходит связь разрывается. В логе следующее
Код:
[May 29 05:03:31] WARNING[1755]: channel.c:166 channel_request: [g0] Request to call on device which can not make call at this moment [May 29 05:03:31] WARNING[1755]: app_dial.c:2218 dial_exec_full: Unable to create channel of type 'Dongle' (cause 44 - Requested channel not available) == Everyone is busy/congested at this time (1:0/0/1)
если же ввести 101, вызов пойдет через Local (который по сути делает тоже самое - набирает номер 38093ZZZZZZZ через этот же донгл). В этом случае вызов проходит и конференция создается
Почему не работает первый вариант? Я чего-то недопонимаю?
Ну, это да. А меня интересует именно управление питанием.
Управление питанием в B1 не работает Пробовал hub-ctrl-ом и измерял напряжение на порту. Открыл хаб, посмотрел, сделан ИМХО довольно качественно. Внутри один чип GL854G, хотя система видит его как два хаба. Даташита на этот чип не нашел,даже на сайте Genesys Logic про него ни слова не написано. Но судя по плате никакого управления питания на порту там нет. На тех портах,которые не поддерживают USB зарядку большими токами, не распаяны электролиты в цепи питания. Распаял 5 штук 100мкф/10в. С разнесенными на полуметровых удлинителях модамах(3 шт) работает значительно стабильнее,чем без удлинителей. Правда еще не прошло достаточно времени и нагрузки пока я особо и не давал.
Народ, а у кого DUB H7 rev.A3? Как работает этой ревизии?
И еще подскажите пожалуйста, какая все таки модель, окромя DUB H7, поддерживает отключение питания? Хоть китайская, хоть какая.
Рекомендации простые: 1) Если астеру не требуется обрабатывать DTMF внутри себя, запрещаем распознавание DTMF вообще. Пусть бегает куда хочет прямо в потоке - это не наши проблемы. dtmf=off
2) Если нужно распознавание то mindtmfgap минимальное время между концов одного DTMF и началом другого в миллисекундах
mindtmfduration минимальная продолжительность DTMF в миллисекундах
mindtmfinterval минимальное время между началами DTMF содержащих одинаковые символы в миллисекундах
"Отрезание" DTMF не проходящим по этим критериям производится путём не выдачи в канал сигнала конца DTMF что для некоторых каналов мягко говоря неправильно (они будут петь и петь один DTMF без конца).
Ещё раз указываю на причину проблем с распознаванием DTMF: 1) в GSM DTMF передаются прямо в голосовом потоке. 2) Астериск пытается распознать DTMF когда распознаёт - кидает в другой канал специальные сообщения о начале и конце символа (не звуковые!) 3) Канал на другом конце обрабатывает этим сообщения и шлёт DTMF в другую сторону доступным ему способом.
4) НО ! оригинальный DTMF с потока данных никто не обрезал! получается дублирование DTMF !!!
5) На каналах есть отражения, спустя некоторое время оригинальный и дублированный DTMF оказывается на канале, который его начал, и всё повторяется.
Если вам надо чтобы астер распознавал DFTM, но не генерировал дубли на другой ноге соединения a) Исправляйте код канального драйвера другой ноги соединения b) Исправляйте код ядра астера _________________ Свежак chan_dongle тут https://github.com/bg111/asterisk-chan-dongle/ Смена IMEI Huawei E1550 E173 E1752 K3765 http://www.e1550.mobi/ от $0,3042 за IMEI
Если вам надо чтобы астер распознавал DFTM, но не генерировал дубли на другой ноге соединения a) Исправляйте код канального драйвера другой ноги соединения
Прошу прощения за назойливость, но в приведенном конкретном случае нет проблемы дублирования на другой ноге соединения. Звонок дальше интерактивного меню asteriska не уходит. Если звонить на донг из сети того же сотового оператора что и карточка в модеме, проблемы распознования DTMF нет вообще. (Все отрабатывает на 5+) DTMF не распознается если звонить на донг из других сетей или из города. А если DTMF передаются прямо в голосовом потоке, то тогда совсем не понятно почему так проиходит (в первом-то случае все работает отлично).
К вопросу о конференции на одном моедеме
bg1 писал(а):
> Почему не работает первый вариант? Я чего-то недопонимаю в логе пишет g0, это же получается группа с id 0 ? и получается ты почему то хочешь сделать звонок-конференцию но конкретный модем не указываешь, а почему то указываешь целую тучу модемов. видимо надо убрать с примера конфу с группой. а то это выглядит как то бессмысленно.
Виноват, в прошлом сообщении скопировал немного некорректный лог, для той конфигурации что была приведена
== CDR updated on Dongle/dongle0-0100000001 -- Executing [100@mainmenu:1] NoOp("Dongle/dongle0-0100000001", "") in new stack -- Executing [100@mainmenu:2] Dial("Dongle/dongle0-0100000001", "Dongle/dongle0/conference:093ZZZZZZZ") in new stack [Jun 2 08:54:23] WARNING[3144]: channel.c:166 channel_request: [dongle0] Request to call on device which can not make call at this moment [Jun 2 08:54:23] WARNING[3144]: app_dial.c:2218 dial_exec_full: Unable to create channel of type 'Dongle' (cause 44 - Requested channel not available) == Everyone is busy/congested at this time (1:0/0/1)
ставил астериск из репов, версия 1.8.1. chan_dongle-1.1.r10
Код:
checking whether asterisk.h in ../include... no checking whether asterisk.h in /usr/include... no checking whether asterisk.h in /usr/local/include... no checking whether asterisk.h in /opt/local/include... no configure: error: Can't find "asterisk.h"
Где этот файл, что я делаю не так? в модулях его нет, где смотреть?
P.S. скачал тарбол, пихнул ему этот asterisk.h скомпилировался.
DTMF может шумодав фильтровать или просто эхо быть. да и УРОВНИ сигнала DTMF там другие, а алгоритм распознавания тот же. это вам не байты с DTMF передавать а цифровая обработка сигналов. чтобы поднять мощность надо усиливать приём. лимиты по DTFM снять.
Added after 1 minutes:
если читал и не получается то варианта только 2 1) asterisk.h нет (что малореально т.к. астер его ставит) 2) плохо читал и не прочитал --with-asterisk (какой то --includedir, это где я такое писал?)
Интересно, имеет ли 3G модем Huawei какие-либо механизмы эхоподавления и возможно ли их отключить AT командами?
Для тестов качества звука мы используем приложение Echo - при использовании его с chan_dongle в записи получается практически пустой файл с редкими отрывками проигранного файла. При этом если просто проигрывать звук в обоих направлениях - слышимость отличная. _________________ OpenSUSE 11.2 / Asterisk-trunk / Celeron 1100 (512mb) / chan_lcr / Linksys / Aastra 9112i http://igorg.ru
Это из юзер-мануала на чипсет E1550,E173, etc.: --- MSM6246 and MSM6290 ES Limitations (1 of 3) USB IN packet CRC error - Description: > In peripheral mode with the primary USB core, for all IN end points (EP), a CRC error may occur if the buffer length divided by 512 (EP buffer size) has a residue of 1 or 2 bytes (e.g. 1, 2, 513, 514, etc.). - System impact: > Having a CRC error will cause a retransmission of the data, which will have an impact on performance. Another (worse) case is having three CRC errors in a row that will cause the link to drop. The failure can appear in several ways, but the most common is a simple CRC error in the short packets.
--- Я конечно понимаю что EMI,питание и т.д. имеют большое значение,но все же.
2 bg1: Удалось ли подружить Marvell orion-ehci на Iomega iconnect-е с DUB H7 и E1550 ? Если втыкать модемы (4 шт) во все USB порты прямо в iconnect хватает ли питания всем 4-ом? Отваливаются часто? Внутренний хаб iconnect-a умеет per-port power switching? Thanx.
У него блок питания 4А и вроде он шарит передергивание питания на портах. Но с ним у меня проблемы тоже бывают. Время от времени при звонках на один из донглов в хабе - все донглы отпадают и перегружаются. И так происходит пока не передернешь все донглы в хабе. Очень неприятная хрень. Пока незнаю с чем связана, но на Dub-H7 такого небыло. Может кто знает в чем дело?
Added after 17 minutes:
dvl36 писал(а):
И еще подскажите пожалуйста, какая все таки модель, окромя DUB H7, поддерживает отключение питания? Хоть китайская, хоть какая.
viewcon ve243 вроде понижает питание, но как я писал выше есть проблема с тем, что по непонятным причинам время отвремени модемы сами перегружаются при звонке. Такое у меня было, когда я использовал usb-удлинители длинные. Думаю, может заменить провод от хаба к компу каким-то более качественным...
ошибка 71 это скорее всего проблема драйвера, windows же работает.
Там дальше вот что написано:
- Workaround: > A SW workaround for the modem and software download via QPSTT software will be included in AMSS 1.0 USB driver and PC host driver; the QUALCOMM composite driver version 2.0.4.2. The second SW release, QUALCOMM composite driver version 1.0.2.1, will include a workaround for RMNet (network), which will be available at a later date. The native window driver does not have the workaround.
Т.е.,насколько я понял, они смогли побороть эту багу с помощью обновленного драйвера для windows-а.
bg1 писал(а):
пробуйте.
У меня нет iconnect-а
joe-man писал(а):
viewcon ve243 вроде понижает питание ...
Измеряли? Или при звонке на донгл железная леди говорит что абонент находиться вне зоны? На новом DUB H7 тоже "вроде" что-то отключает. Светодиод сначала перестает моргать и hub-ctrl показывает что порт отключен, но на самом деле это не так. Я измерил вольтметром,как было 5V так и осталось. А при звонке на донгл просто шли длинные гудки. BTW какой vendorid и productid у этого ve243? Thanx.
[/quote] Измеряли? Или при звонке на донгл железная леди говорит что абонент находиться вне зоны? На новом DUB H7 тоже "вроде" что-то отключает. Светодиод сначала перестает моргать и hub-ctrl показывает что порт отключен, но на самом деле это не так. Я измерил вольтметром,как было 5V так и осталось. А при звонке на донгл просто шли длинные гудки. BTW какой vendorid и productid у этого ve243? Thanx.[/quote]
Не, не измерял, но при отключении hub-ctrl'ом модем переподключается в астериске. по поводу айдишников, вот что вывел lsusb: Bus 001 Device 103: ID 1a40:0201 TERMINUS TECHNOLOGY INC. Bus 001 Device 098: ID 1a40:0201 TERMINUS TECHNOLOGY INC.
Не, не измерял, но при отключении hub-ctrl'ом модем переподключается в астериске.
А позвонить на выключенный не пробовали? Если "вне зоны" то конечно реально отключается. Как там работает этот SUSPEND и REMOTE WAKEUP одним китайцам известно.
joe-man писал(а):
по поводу айдишников, вот что вывел lsusb: Bus 001 Device 103: ID 1a40:0201 TERMINUS TECHNOLOGY INC. Bus 001 Device 098: ID 1a40:0201 TERMINUS TECHNOLOGY INC.
[/quote] Есть у меня с такими чипами,китайский. Работает очень отвратно. Вместе с модемами отваливается и USB-флешка.
> У меня нет iconnect-а а зачем тогда вопросы задавать?
Подумываю насчет приобретения в качестве домашнего сервера. Ну и Астериск туда с chan_dongle-ом, в целях экономии. Мой tp-link mr3220 вроде бы тоже справляется, но g.729,например, уже идет с задержкой в 1-2 секунды.(1 канал)
Цитата:
> По-правде говоря не внушает он мне доверия. прям как маленькие: взял паяльную станцию, пригоршню чипов и сделал себе хаб
Мы это ... люди простые, в университетах пайкам не обученные.
Цитата:
если надо есть несколько (7- HUB H-7 двух старых ревизий А2 А3, могу продать с блоками на 3A, 4А.
И по чем? BTW, эти ревизии хорошо себя показывают?
Нужна смена imei для e1550, обращаюсь к пользователю bg1. Я видимо нарушаю правила форума, но послать ПМ я ему не могу, получаю сообщение "не авторизирован", почта на его сайт тоже не уходит!
Подскажите коллеги. Обновил ядро у Centos 5.7 64-bit (Elastix 2.3.0) для работы chan_dongle, но как и у 36, так и у 39 при загрузке вылетают сообщения с ошибками: 1.) insmod: error inserting '/lib/dm-region-hash.ko': -1 File exists 2.) Не определяются системные часы. ... Невозможно получить доступ к аппаратным часам каким бы то ни было известным способом
Подскажите коллеги. Обновил ядро у Centos 5.7 64-bit (Elastix 2.3.0) для работы chan_dongle, но как и у 36, так и у 39 при загрузке вылетают сообщения с ошибками: 1.) insmod: error inserting '/lib/dm-region-hash.ko': -1 File exists 2.) Не определяются системные часы. ... Невозможно получить доступ к аппаратным часам каким бы то ни было известным способом
По второму вопросу близок к решению. В ядре 2.6.18 dev/rtc, в .36 и .39 dev/rtc и dev/rtc0. Удаляем rtc, делаем symlink с rtc0 на rtc. Запускаем hwclock - работает. Или ставим util-linux.2.14 (появилась опция --rtc /dev/rtcN)- тоже работает. Но при загрузке всё равно выдаёт такую же ошибку, что нет возможности произвести синхронизацию используя все доступные методы с ошибкой 19. Остается вопрос, где подправить hwclock в автозагрузке?
Братцы, подскажите как скомпилировать chan_dongle на OpenWrt Attitude Adjustment (прошивку для роутера использую готовую отсюда. Роутер NetGear WNDR3800). Какие пакеты нужно доустановить, чтобы можно было компилировать прямо с роутера? На предыдущем роутере (Asus RT-N16 DD-WRT) без проблем компилировал сам, на этом в репозитории нет пакетов buildroot, да и gcc
Установил на виртуальную машину CentOS 6.3. Скачал исходники OpenWrt из транка, установил тулчейн. Скачал исходники chan_dongle. Как скомпилировать только модуль chan_dongle под требуемую мне архитектуру и версию астериска? Весь гугл перерыл, а примеров не нашёл.
awsswa, на OpenWrt нет компилятора, поэтому для сборки приходится пользоваться кросскомпиляцией на сторонней Linux OS под требуемую архитектуру. Я пытался сделать это следующим образом:
1. На виртуальную машину установил CentOS 6.3 2. Установил необходимые для сборки пакеты:
7. В Makefile изменил WITH_ASTERISK= на требуемую версию 9. Собрал tools и toolchain:
Код:
make prereq && make tools/install && make toolchain/install
Сконфигурировал меню, выбрав необходимые пакеты и требуемую архитектуру (AR71xx):
Код:
make menuconfig
10. Пытаюсь собрать, но не получается
Я в линуксе не эксперт, поэтому прошу помощи у специалистов. Очень хочу настроить работающий GSM-шлюз (Asterisk + chan_dongle + e1550) на моём NetGear WNDR3800. Подскажите, пожалуйста, правильную последовательность действий для корректной сборки.
Прошу совета. Схема прохождения звонка такая GSM телефон--->dongle-->Asterisk-->внутренний номер(100-программный Bria). Суть в следующем. Если при входящем звонке на 100 дать отбой не поднимая трубки то модем продолжает звонить. При поднятии трубки и последующем отбое все срабатывает.
Попробую написать по памяти, виртуальная машинка на которой собирал у меня сейчас не под рукой, но последовательность действий такая: (действовал методом проб и ошибок) На виртуальную машину установил CentOS 6.3
В нём исправляем WITH_ASTERISK= на требуемую нам версию, которую будем собирать, (проверяем значения PKG_MD5SUM, PKG_REV, PKG_RELEASE). Затем создаём директорию wndr3800/package/feeds/packages/asterisk18-chan-dongle и помещаем в неё наш Makefile
Собираем tools и toolchain:
Код:
make prereq && make tools/install && make toolchain/install
Конфигурируем меню, выбрав необходимые пакеты и требуемую архитектуру (AR71xx):
Код:
make menuconfig
Я выбирал следующее (для NetGear WNDR3800): Target System (Atheros AR7xxx/AR9xxx) Target Profile (NETGEAR WNDR3700/WNDR3800/WNDRMAC)
Выбираем нужные пакеты для установки (asterisk и chan_dongle, а так же в Libraries выбираем libiconv)
Нам понадобится файл iconv.h, берём его здесь: wndr3800/build_dir/target-mips_r2_uClibc-0.9.33.2/libiconv/include/iconv.h и копируем его в "инклюд" астериска: build_dir/target-mips_r2_uClibc-0.9.33.2/asterisk-1.8.10.1/include/
появится он там не сразу, а только после сборки libiconv, поэтому процесс сборки после первого запуска остановился с ошибкой (ругнулся на отсутствие iconv.h), но теперь можно выполнить
Доброго времени суток! Прошу совета, сам уже не знаю, куда копать.
Код:
$ uname -r 3.0.0-23-generic > dongle show version chan_dongle: Huawei 3G Dongle Channel Driver, Version 1.1, Revision 10 > core show version Asterisk 1.8.11.1-1digium1~natty
E173u-1 в порту самого ноута
Код:
CLI> dongle show device settings dongle0 ------------- Settings ------------ Device : dongle0 Audio : /dev/ttyUSB2 Data : /dev/ttyUSB0
Dial(Dongle/dongle0/89313333333,20,T);
Получаю:
Код:
== Using SIP RTP CoS mark 5 -- Executing [522@from-home:1] Dial("SIP/12-00000002", "Dongle/dongle0/89313333333,20,T") in new stack -- Called Dongle/dongle0/89313333333 -- Dongle/dongle0-0100000002 is making progress passing it to SIP/12-00000002 -- Nobody picked up in 20000 ms -- Auto fallthrough, channel 'SIP/12-00000002' status is 'NOANSWER'
maria-laptop*CLI> dongle show devices ID Group State RSSI Mode Submode Provider Name Model Firmware IMEI IMSI Number dongle0 0 Dialing 12 0 0 Beeline E173 11.126.85.00.209 356576044141202 250992200804162 Unknown
Иногда, впрочем, вижу и классическое отваливание по неответу на AT c timedout while waiting 'OK' in response to 'AT' и
Код:
dongle0 0 Not connec 0 0 0 NONE
Из винды в MobilePartner все более-менее прилично звонится (какие-то затыки с отбоем есть, но они не критичны).
До перепрошивки, на 11.126.85.00.114 получал отвал от Dongle и что-то вроде зомби-звонка на сотовый - когда уже и астериск дает отбой, сотовый все равно звонит. Но там я что-то перемудрил, и в итоге из MobPartner голос не проходил (хотя изначально тестировал).
Вопрос, собственно в том, смогу ли я допилить e173 или мне искать просто "другой модем" и пробовать? Это рядовая проблема, котрая решается поисковиком?
Спасибо.
з.ы. Больше всего меня удивило то, что если в процессе НЕотвечания девайса на AT по таймауту заломиться, например, minicom на другой порт, то с большой вероятностью девайс отвисал.
Форумчане установил asterisk 1.8.10 на openwrt с chan_dongle модем Е153, вызовы принимает и отвечает, я слышу, а абонент на другом конце слышит сильное эхо и бульканье, как исправить. Кроме того ищется рещение для CDMA сети, как дешевое решение для домашней АТС. P.S. E153 работает под Windows превосходно. Попробывал в dongle.conf опцию jitterbuffer включать, эхо пропадает однако после непродолжительного времени разговора Asterisk падает с Segmentation Fault. Победил значением rxgain=5; txgain=-4
Здравствуйте! Может кто-нибудь сталкивался с такой проблемой:
-установлен asterisk 1.8.15.0 подключен 3g модем huawei e153 звоню через модем в обоих направлениях все нормально; -создал конференцию дозваниваюсь в нее и через модем и с zoiper но если ложу трубку на мобильникеee в консоль asteriks идет непрерывно сообщение: WARNING[2718]: app_meetme.c:3678 conf_run: Unable to write frame to channel Datacard/Datacard0-0100000000 если ложу трубку на софтфоне все нормально; -звоню повторно с мобильного опять вхожу в конференцию нормально ,но приэтом нет уже сообщения что я первый участник конференции (хотя больше никто не вошел за исключением предыдущего звонка с мобильного); -все файлы конфигов стандартные очень простые;
Коллеги, подскажите в чём может быть проблема. Пытаюсь донабором сделать вызов на внутренний номер, нажимая 200, а в логах получается: Invalid extension '2' или Invalid extension '0' Может это можно настроить через параметры mindtmf*? Я пытался их менять, но не помогает.
Код:
-- Executing [s@Beeline-incoming:4] WaitExten("Dongle/dongle0-0100000000", "50") in new stack [Sep 11 17:10:58] DTMF[3091]: channel.c:4063 __ast_read: DTMF begin '2' received on Dongle/dongle0-0100000000 [Sep 11 17:10:58] DTMF[3091]: channel.c:4067 __ast_read: DTMF begin ignored '2' on Dongle/dongle0-0100000000 [Sep 11 17:10:58] DTMF[3091]: channel.c:3978 __ast_read: DTMF end '2' received on Dongle/dongle0-0100000000, duration 140 ms [Sep 11 17:10:58] DTMF[3091]: channel.c:4047 __ast_read: DTMF end passthrough '2' on Dongle/dongle0-0100000000 -- Invalid extension '2' in context 'Beeline-incoming' on Dongle/dongle0-0100000000 == CDR updated on Dongle/dongle0-0100000000 -- Executing [i@Beeline-incoming:1] Playback("Dongle/dongle0-0100000000", "pbx-invalid") in new stack -- Playing 'pbx-invalid.gsm' (language 'ru') [Sep 11 17:10:58] DTMF[3091]: channel.c:4063 __ast_read: DTMF begin '0' received on Dongle/dongle0-0100000000 [Sep 11 17:10:58] DTMF[3091]: channel.c:4067 __ast_read: DTMF begin ignored '0' on Dongle/dongle0-0100000000 [Sep 11 17:10:58] DTMF[3091]: channel.c:3978 __ast_read: DTMF end '0' received on Dongle/dongle0-0100000000, duration 140 ms [Sep 11 17:10:58] DTMF[3091]: channel.c:4047 __ast_read: DTMF end passthrough '0' on Dongle/dongle0-0100000000 [Sep 11 17:10:59] DTMF[3091]: channel.c:4063 __ast_read: DTMF begin '0' received on Dongle/dongle0-0100000000 [Sep 11 17:10:59] DTMF[3091]: channel.c:4067 __ast_read: DTMF begin ignored '0' on Dongle/dongle0-0100000000 [Sep 11 17:10:59] DTMF[3091]: channel.c:3978 __ast_read: DTMF end '0' received on Dongle/dongle0-0100000000, duration 89 ms [Sep 11 17:10:59] DTMF[3091]: channel.c:4047 __ast_read: DTMF end passthrough '0' on Dongle/dongle0-0100000000 -- Executing [i@Beeline-incoming:2] Goto("Dongle/dongle0-0100000000", "Beeline-incoming,s,4") in new stack -- Goto (Beeline-incoming,s,4) -- Executing [s@Beeline-incoming:4] WaitExten("Dongle/dongle0-0100000000", "50") in new stack [Sep 11 17:11:06] DTMF[3091]: channel.c:4063 __ast_read: DTMF begin '2' received on Dongle/dongle0-0100000000 [Sep 11 17:11:06] DTMF[3091]: channel.c:4067 __ast_read: DTMF begin ignored '2' on Dongle/dongle0-0100000000 [Sep 11 17:11:07] DTMF[3091]: channel.c:4063 __ast_read: DTMF begin '0' received on Dongle/dongle0-0100000000 [Sep 11 17:11:07] DTMF[3091]: channel.c:4067 __ast_read: DTMF begin ignored '0' on Dongle/dongle0-0100000000 [Sep 11 17:11:07] DTMF[3091]: channel.c:3978 __ast_read: DTMF end '0' received on Dongle/dongle0-0100000000, duration 89 ms [Sep 11 17:11:07] DTMF[3091]: channel.c:4047 __ast_read: DTMF end passthrough '0' on Dongle/dongle0-0100000000 -- Invalid extension '0' in context 'Beeline-incoming' on Dongle/dongle0-0100000000 == CDR updated on Dongle/dongle0-0100000000 -- Executing [i@Beeline-incoming:1] Playback("Dongle/dongle0-0100000000", "pbx-invalid") in new stack -- Playing 'pbx-invalid.gsm' (language 'ru') [Sep 11 17:11:08] DTMF[3091]: channel.c:4063 __ast_read: DTMF begin '0' received on Dongle/dongle0-0100000000 [Sep 11 17:11:08] DTMF[3091]: channel.c:4067 __ast_read: DTMF begin ignored '0' on Dongle/dongle0-0100000000 [Sep 11 17:11:08] DTMF[3091]: channel.c:3978 __ast_read: DTMF end '0' received on Dongle/dongle0-0100000000, duration 102 ms [Sep 11 17:11:08] DTMF[3091]: channel.c:4047 __ast_read: DTMF end passthrough '0' on Dongle/dongle0-0100000000 -- Executing [i@Beeline-incoming:2] Goto("Dongle/dongle0-0100000000", "Beeline-incoming,s,4") in new stack
oleg_kr Как костыльный вариант видится такой. Имеется два файла с конфигурацией донгла: в одном запрет показа callerid, в другом это разрешено. Непосредственно перед вызовом по нужному вам условию скриптом передёргиваем нужный файл, затем делаем "asterisk -rx 'dongle reload'" и вуаля получаем что надо. Как?
oleg_kr Как костыльный вариант видится такой. Имеется два файла с конфигурацией донгла: в одном запрет показа callerid, в другом это разрешено. Непосредственно перед вызовом по нужному вам условию скриптом передёргиваем нужный файл, затем делаем "asterisk -rx 'dongle reload'" и вуаля получаем что надо. Как?
Спасибо. Это одно из решений, но тут другая проблема: Решение с переустановкой скрытого звонка нужно мне для убирания привязки модема к порту звонок можно совершить и по IMEI и все равно как модем определился. И тут наступает неприятный момент: если делаем привязку модемов по IMSI или IMEI почему-то при рестарте компа не всегда определяются все (всего пока 2) модема. При указании портов определяются нормально, но иногда местами путаются (Ubuntu 12.04). В один с модемов вставлен официальный дубль карточки для совершения только исходящих звонко, вот на нем и надобно скрыть номер. Вот тут и возник мой вопрос. Сейчас немного разгребусь и гляну исходники dongle - как они там берут переменную, только с своего файла настроек или, как я понял по логике, с той информации которую передает * при вызове. Когда настраивал то смотрел исходники и видел что эту инфу передают непосредственно перед вызовом командой AT на модем, но не смотрел на основании чего берут... Привязывать модемы к портам - как костыль... не очень нравится, тогда уж дописать, если позволят знания и время, dongle - более правильное решение
Олег, а почему в файле для udev не запилить для этого как это делается обычно? Чем это мешает? Хоть 9000 раз ребутай и всё нормуль.
Да, но мы привязываемся до портов, а в моем случае только до IMEI карточки. Мой случай сам по себе работает, только со скрытым номером завязка. А так входящие различаем по номеру, исходящие делаем по IMEI и модемы не играет роли где стоят и как инициализируются.
охота сделать универсально, без костыльной привязки к железу
т.е. что у вас на входящем к примеру SIP было, то и на исходящей ноге Dongle и унаследуется.
Понятно что в вызове Dial(Dongle/xxx/NUM) одновременно создаётся channel Dongle астера и производится вызов call для него, поэтому управлять cid_pres для исходящего канала Dongle прямо не получится.
т.е. что у вас на входящем к примеру SIP было, то и на исходящей ноге Dongle и унаследуется.
Понятно что в вызове Dial(Dongle/xxx/NUM) одновременно создаётся channel Dongle астера и производится вызов call для него, поэтому управлять cid_pres для исходящего канала Dongle прямо не получится.
Немного может офтопп: Как я понял канал поднимается пусть и dongle но все функции вызова объявляются в структуре
и уже непосредственно * вызывает необходимую функцию для канала, то есть в нашем случае
Код:
.call = channel_call,
И при этом передает в нее заполненные структуры согласно заголовку функции:
Код:
static int channel_call (struct ast_channel* channel, char* dest, attribute_unused int timeout)
а в переменной channel уже от астериска приходят стандартные структуры данных (http://www.asterisk.org/doxygen/trunk/structast__channel.html) которые соответственно для канала должны меняться командами.
Или я ошибаюсь? И канал на dongle создается в момент команды Dial() но тогда * логично должен передавать параметры канала которые я изменил в диалплане, так-же как если-бы я устанавливал связь с другим sip абонентом и установил
Added after 2 hours 16 minutes: Описываем модемы как обычно с привязкой к портам и глубоко не волнуемся где какой - главное прошить в модем номер: dongle.conf (только минимум для понимания)
Код:
[defaults] exten=+1234567890 ; exten по которому приходят звонки с неизвестным номером, context=gsm ; context который обрабатывает звонки
[dongle0] audio=/dev/ttyUSB1 ; tty port for audio connection; data=/dev/ttyUSB2 ; tty port for AT commands; usecallingpres=yes ; использовать команды скрытия номера callingpres=-1 ; Использовать значение которое передает Asterisk
[dongle1] audio=/dev/ttyUSB4 ; tty port for audio connection; data=/dev/ttyUSB5 ; tty port for AT commands;
и extensions.conf(только минимум для понимания)
Код:
; глобальные переменные для облегчение чтения/написания [globals] ; IMEI первого модема GSM_1 = dongle/i:123456789012345 ; IMEI второго модема GSM_2 = dongle/i:012345678901234
[gsm] ; вход обработки звонков по gsm линии exten => +3806712345678,1,NoOp(from GSM) ;обработка вызова same => n,Hangup()
;обработка вызова модема без прописанного номера exten => s,1,NoOp(from GSM) ;обработка вызова same => n,Hangup()
; просто пишем в лог exten => ussd,1,Verbose(Incoming USSD: ${BASE64_DECODE(${USSD_BASE64})}) same => n,System(echo '${STRFTIME(${EPOCH},,%d.%m.%Y %H:%M:%S)} - USSD - ${DONGLENAME}: ${BASE64_DECODE(${USSD_BASE64})}' >> /var/log/asterisk/ussd.log same => n,Hangup()
; просто пишем в лог exten => sms,1,Noop(Incoming SMS from ${CALLERID(num)} ${BASE64_DECODE(${SMS_BASE64})}) same => n,System(echo '${STRFTIME(${EPOCH},,%Y-%m-%d %H:%M:%S)} - ${DONGLENAME} - ${CALLERID(num)}: ${BASE64_DECODE(${SMS_BASE64})}' >> /var/log/asterisk/sms.log same => n,Hangup()
Исходящие звонки делаем по IMEI:
Код:
exten => _0ZXXXXXXXX,1,NoOp(GSM-bezlim) same => n,NoOp(${CALLERPRES()})
; ******* если надо скрыть номер ; для Asterisk 10 - рекомендация использовать same => n,Set(CALLERID(num-pres)=prohib_not_screened) ; скрыть номер при звонке ; для более старых возможно ; same => n,Set(CALLERPRES()=prohib_not_screened) same => n,Dial(${GSM_1}/+38${EXTEN}, 30,T) same => n,Hangup()
аналогично для второго модема.
Что имеем - модемы не привязаны к портам, можно местами менять Звонок приходит по номеру прошитому в модем из рекомендаций http://wiki.e1550.mobi/doku.php?id=usage:
Цитата:
To save Subscriber Number, you can write an entry for OWN NUMBERS storage on SIM. For example, in asterisk CLI
Помогите пожалуйсто. У меня несколько модемов висят на нескольких хабах D-link DUB-H7, переодически некоторые модемы отваливаются и переходят в состояние Not connect. Все модемы у меня настроены по IMEI.
Как мне определить на каком хабе и каком порту весит скажем Dongle13, что бы передернуть его с помощью hub-ctrl?
Есть похожая проблема. Во время звонка на модем и донаборе через IVR, вызывающий не слышит сигнал вызова. При этом вызов идет нормально и при поднятии трубки голос слышен в обе стороны. Если номер, который донабрали через IVR, занят - сигнал занятой линии передается нормально.
Подскажите, пожалуйста, в какую сторону копать? Может, кто сталкивался?
Подскажите, пожалуйста, в какую сторону копать? Может, кто сталкивался?
Да, именно эта проблема. Входящий приходит на модем, далее донабор. Если при донаборе вызов идёт через другой dongle, то гудки слышны. Проблема с отсутствием гудков только при донаборе на SIP
суперконденсаторы можно припаять, от конденсаторов то толку маловато будет. вообще у USB есть вполне конкретные ограничения ёмкостной нагрузки шин питания, и профиль тока-напряжения при подключении нового устройства или перевода его в suspend режим. Источник тока может и не выдержать.
ядро обновил. астериск стоит 1.6.0.26 перенакатил из исходников.
chan-dongle затыкается на
Код:
In file included from chan_dongle.c:47: /usr/include/asterisk/manager.h:88: error: expected specifier-qualifier-list before ‘AST_RWLIST_ENTRY’ /usr/include/asterisk/manager.h:126: error: expected specifier-qualifier-list before ‘AST_RWLIST_ENTRY’ chan_dongle.c:51:68: error: asterisk/timing.h: No such file or directory chan_dongle.c: In function ‘pvt_on_create_1st_channel’: chan_dongle.c:743: warning: implicit declaration of function ‘ast_timer_open’ chan_dongle.c:743: warning: assignment makes pointer from integer without a cast chan_dongle.c: In function ‘pvt_on_remove_last_channel’: chan_dongle.c:762: warning: implicit declaration of function ‘ast_timer_close’ chan_dongle.c: In function ‘pvt_dsp_setup’: chan_dongle.c:1359: error: ‘DSP_FEATURE_DIGIT_DETECT’ undeclared (first use in this function) chan_dongle.c:1359: error: (Each undeclared identifier is reported only once chan_dongle.c:1359: error: for each function it appears in.) chan_dongle.c:1360: warning: implicit declaration of function ‘ast_dsp_set_digitmode’ chan_dongle.c: At top level: chan_dongle.c:1727: warning: ‘static’ is not at beginning of declaration make: *** [chan_dongle.o] Error 1
ну вот я вчера попробовал накатить mуsql из исходников. ибо не ставился без него asterisk 1.8, вроде встало но asterisk не накатывается:
Код:
/usr/bin/ld: cannot find -lmysqlclient collect2: ld returned 1 exit status make[1]: *** [app_mysql.so] Error 1 make: *** [addons] Error 2
чего ему не хватает??? на прошлый asterisk не накатывается chan_dongle мне кажется проще уже плюнуть и поставить все с нуля. на ubuntu. там у меня все ставилось в отличие от этой CentOS
Зачем вы поставили mysql из исходников, а не из репозитория дистрибутива? Ну раз уж поставили его не стандартно и видимо по нестандартным путям, будете любезны при сборке астриска указать ему куда же вы все таки mysql поставили.
Зачем вы поставили mysql из исходников, а не из репозитория дистрибутива? Ну раз уж поставили его нестандартно и видимо по нестандартным путям, будете любезны при сборке астриска указать ему куда же вы все таки mysql поставили.
спасибо. а как ему указать? он ведь остальные файлы находит и не ругается. это единственный затык. ставил стандартно. но из исходников. а поставил потому, что без файлов *.h от MySQL он не ставился. Черт знает вообще что. Устал уже ковыряться.
может быть кто знает более простой способ подключить модемы на trixbox? а то неужели для этого надо обновить ядро, mysql и asterisk. Там по сути то уже что тогда остается?
Перечитал весь топик, но так и не нашёл ответа почему не приходят USSD ответы... имеем: Ядро: 3.0.0-20-generic #34-Ubuntu Астер: 1.6.2.9 chan_dongle: Huawei 3G Dongle Channel Driver, Version 1.1, Revision 10 Модем E156G
Device : dongle0 State : Free Audio : /dev/ttyUSB1 Data : /dev/ttyUSB2 Voice : Yes SMS : Yes Manufacturer : huawei Model : E156G Firmware : 11.609.10.00.264 IMEI : 3538700358xxxxx IMSI : 2500124003xxxxx GSM Registration Status : Registered, home network RSSI : 31, >= -75 dBm Mode : GSM/GPRS Submode : EDGE Provider Name : MTS RUS Location area code : 1D39 Cell ID : 1C7B Subscriber Number : +7919xxxxxxx SMS Service Center : +79126313431 Use UCS-2 encoding : Yes USSD use 7 bit encoding : No USSD use UCS-2 decoding : No Tasks in queue : 0 Commands in queue : 0 Call Waiting : Disabled Current device state : start Desired device state : start When change state : now Calls/Channels : 0 Active : 0 Held : 0 Dialing : 0 Alerting : 0 Incoming : 0 Waiting : 0 Releasing : 0 Initializing : 0
на комманду: dongle ussd dongle0 *100# выдаёт следующее:
dongle ussd dongle0 *100# [dongle0] USSD queued for send with id 0x97160d0 -- [dongle0] Successfully sent USSD 0x97160d0 [Sep 25 16:28:25] NOTICE[4870]: at_response.c:267 at_response_ok: [dongle0] Successfully sent USSD 0x97160d0 [dongle0] Got USSD type 2 'USSD Terminated by network': '' -- Executing [ussd@inc:1] Verbose("Local/ussd@inc-13ed;1", "Incoming USSD: ") in new stack Incoming USSD: -- Executing [ussd@inc:2] System("Local/ussd@inc-13ed;1", "echo '2012-09-25 16:28:28 ' >> /var/log/asterisk/ussd.txt") in new stack -- Executing [ussd@inc:3] Hangup("Local/ussd@inc-13ed;1", "") in new stack == Spawn extension (inc, ussd, 3) exited non-zero on 'Local/ussd@inc-13ed;1'
ответ вроде бы есть, а текста нет... на комманду: dongle cmd dongle0 "AT+CUSD=1, "*100#"" отвечает: [dongle0] Got Response for user's command:'ERROR'
с голосом всё нормально, с смс тоже (даже по русски) вот с USSD беда, а баланс узнавать надо...
есть подозрение на строчках: USSD use 7 bit encoding : No USSD use UCS-2 decoding : No но как задействовать эти функции - не нашёл. ткните носом в нерадивого....
так и не удается мне модемы прикрутить. попробовал поставить elastix не цепляет dongle модемы. хотя и установился и запустился. модемы в порту видны. пробовал новый elastix накатить, но он не встает с флешки у меня почему-то. в общем, устал от этого гемора.
Привет, купил Raspberry Pi, активный хаб, воткнул Huawei e173, поставил usb_modeswitch, minicom... с usb_modeswitch дал все команды, после чего в дебиане появилось устройство /dev/ttyUSB0, но с minicom зайти в модем не получается.
Делаю все это впервые, может кто подскажет, где копать?
Ubuntu 12.04.1 LTS (GNU/Linux 3.2.0-23-generic-pae i686) Asterisk 1.8.16.0 chan_dongle-1.1.r10 FreePBX 2.10 Модемы Е1550-1шт, Е171-7шт. ( один из Е171 с новой прошивкой 21......) - полет нормальный. Решил прикрутить Е150 по инструкции Novax после make получаю вот это:
root@astertwo:/usr/src/kmod-huawei-voice# make make -C /lib/modules/3.2.0-23-generic-pae/build M=/usr/src/kmod-huawei-voice modules make: *** /lib/modules/3.2.0-23-generic-pae/build: Нет такого файла или каталога. Останов.
сегодня загрузил для ленивых chan_dongle-1.1.r14.tgz , а то смотрю народ совсем разучился svn запускать _________________ Свежак chan_dongle тут https://github.com/bg111/asterisk-chan-dongle/ Смена IMEI Huawei E1550 E173 E1752 K3765 http://www.e1550.mobi/ от $0,3042 за IMEI
Спасибо awsswa установил apt-get install linux-headers-3.2.0-23-generic-pae после этого все установилось, мопед (Е150) завелся, звук в обе стороны. к сожалению появился МИНУС - все остальные модемы (Е171) теперь односторонняя слышимость.
Кто нить пробовал на одной машине завести эти девайсы?
Скажите пожалуйста. я подключаю к asterisk 1.8.18.0 4 модема мтс huawei e1550 с прошивкой E155XUpdate_11.608.14.15.311.B418. Подключаю в количестве 4х штук через D-Link H7 Hub
ПРи поступлении звонков я вижу в логах ошибку
[Dec 5 18:41:31] ERROR[6851] chan_dongle.c: [dongle2] Lost connection to Dongle [Dec 5 18:41:31] ERROR[6852] chan_dongle.c: [dongle0] Lost connection to Dongle [Dec 5 18:41:31] ERROR[6853] chan_dongle.c: [dongle3] Lost connection to Dongle [Dec 5 18:41:31] ERROR[6850] chan_dongle.c: [dongle1] Lost connection to Dongle [Dec 5 18:41:32] WARNING[1748] chan_dongle.c: unable to open /dev/ttyUSB2: No such file or directory [Dec 5 18:41:32] WARNING[1748] chan_dongle.c: unable to open /dev/ttyUSB5: No such file or directory [Dec 5 18:41:32] WARNING[1748] chan_dongle.c: unable to open /dev/ttyUSB8: No such file or directory [Dec 5 18:41:32] WARNING[1748] chan_dongle.c: unable to open /dev/ttyUSB11: No such file or directory [Dec 5 18:41:52] NOTICE[7299] at_response.c: Call waiting is disabled on device dongle0 [Dec 5 18:41:53] NOTICE[7300] at_response.c: Call waiting is disabled on device dongle1 [Dec 5 18:42:02] ERROR[7301] chan_dongle.c: [dongle2] timedout while waiting 'OK' in response to 'AT+CCWA=' [Dec 5 18:42:02] ERROR[7302] chan_dongle.c: [dongle3] timedout while waiting 'OK' in response to 'AT+CCWA=' [Dec 5 18:42:05] ERROR[7299] chan_dongle.c: [dongle0] Lost connection to Dongle [Dec 5 18:42:05] ERROR[7300] chan_dongle.c: [dongle1] Lost connection to Dongle [Dec 5 18:42:17] ERROR[7452] chan_dongle.c: [dongle2] Lost connection to Dongle [Dec 5 18:42:17] ERROR[7453] at_queue.c: [dongle3] Error write command 'AT' expected response 'OK' length 3, cancel [Dec 5 18:42:17] ERROR[7453] chan_dongle.c: [dongle3] Error adding initialization commands to queue [Dec 5 18:42:17] ERROR[7450] chan_dongle.c: [dongle0] Lost connection to Dongle [Dec 5 18:42:17] ERROR[7451] chan_dongle.c: [dongle1] Lost connection to Dongle [Dec 5 18:42:32] ERROR[7597] at_response.c: [dongle3] Command 'AT+CCWA=' failed [Dec 5 18:42:32] ERROR[7597] at_response.c: [dongle3] Command 'AT+CCWA?' failed [Dec 5 18:42:34] ERROR[7597] at_response.c: [dongle3] Command 'AT+CLCC' failed [Dec 5 18:42:35] ERROR[7596] at_response.c: [dongle2] Command 'AT+CCWA=' failed [Dec 5 18:42:38] NOTICE[7596] at_response.c: Call waiting is disabled on device dongle2 [Dec 5 18:42:38] NOTICE[7595] at_response.c: Call waiting is disabled on device dongle1 [Dec 5 18:42:41] NOTICE[7594] at_response.c: Call waiting is disabled on device dongle0 [Dec 5 18:42:49] NOTICE[7603] chan_sip.c: Call to peer '011' rejected due to usage limit of 1 [Dec 5 18:42:54] NOTICE[7602] at_response.c: Call waiting is disabled on device dongle3
и модемы все отваливаются начинают переиницилизацию
настройки dongle.conf
Код: Выделить всё [general]
interval=15 ; Number of seconds between trying to connect to devices
;------------------------------ JITTER BUFFER CONFIGURATION -------------------------- ;jbenable = yes ; Enables the use of a jitterbuffer on the receiving side of a ; Dongle channel. Defaults to "no". An enabled jitterbuffer will ; be used only if the sending side can create and the receiving ; side can not accept jitter. The Dongle channel can't accept jitter, ; thus an enabled jitterbuffer on the receive Dongle side will always ; be used if the sending side can create jitter.
;jbforce = no ; Forces the use of a jitterbuffer on the receive side of a Dongle ; channel. Defaults to "no".
;jbmaxsize = 200 ; Max length of the jitterbuffer in milliseconds.
;jbresyncthreshold = 1000 ; Jump in the frame timestamps over which the jitterbuffer is ; resynchronized. Useful to improve the quality of the voice, with ; big jumps in/broken timestamps, usually sent from exotic devices ; and programs. Defaults to 1000.
;jbimpl = fixed ; Jitterbuffer implementation, used on the receiving side of a Dongle ; channel. Two implementations are currently available - "fixed" ; (with size always equals to jbmaxsize) and "adaptive" (with ; variable size, actually the new jb of IAX2). Defaults to fixed.
;jbtargetextra = 40 ; This option only affects the jb when 'jbimpl = adaptive' is set. ; The option represents the number of milliseconds by which the new jitter buffer ; will pad its size. the default is 40, so without modification, the new ; jitter buffer will set its size to the jitter value plus 40 milliseconds. ; increasing this value may help if your network normally has low jitter, ; but occasionally has spikes.
;jblog = no ; Enables jitterbuffer frame logging. Defaults to "no". ;-----------------------------------------------------------------------------------
;[defaults] [E1550_t](!) ; now you can set here any not required device settings as template ; sure you can overwrite in any [device] section this default values
context=huawei_in ; context for incoming calls group=0 ; calling group rxgain=3 ; increase the incoming volume; may be negative txgain=3 ; increase the outgoint volume; may be negative autodeletesms=yes ; auto delete incoming sms resetdongle=yes ; reset dongle during initialization with ATZ command u2diag=0 ; set ^U2DIAG parameter on device (0 = disable everything except modem function) ; -1 not use ^U2DIAG command usecallingpres=yes ; use the caller ID presentation or not ;usecallingpres=no ; use the caller ID presentation or not callingpres=allowed_passed_screen ; set caller ID presentation by default use default network settings disablesms=yes ; disable of SMS reading from device when received ; chan_dongle has currently a bug with SMS reception. When a SMS gets in during a ; call chan_dongle might crash. Enable this option to disable sms reception. ; default = no
language=ru ; set channel default language smsaspdu=yes ; if 'yes' send SMS in PDU mode, feature implementation incomplete and we strongly recommend say 'yes' mindtmfgap=45 ; minimal interval from end of previews DTMF from begining of next in ms mindtmfduration=80 ; minimal DTMF tone duration in ms mindtmfinterval=200 ; minimal interval between ends of DTMF of same digits in ms
callwaiting=no ; if 'yes' allow incoming calls waiting; by default use network settings ;callwaiting=auto ; if 'yes' allow incoming calls waiting; by default use network settings ; if 'no' waiting calls just ignored disable=no ; OBSOLETED by initstate: if 'yes' no load this device and just ignore this section
;initstate=start ; specified initial state of device, must be one of 'stop' 'start' 'remote' ; 'remove' same as 'disable=yes'
;exten=+1234567890 ; exten for start incoming calls, only in case of Subscriber Number not available!, also set to CALLERID(ndid)
dtmf=relax ; control of incoming DTMF detection, possible values: ; off - off DTMF tones detection, voice data passed to asterisk unaltered ; use this value for gateways or if not use DTMF for AVR or inside dialplan ; inband - do DTMF tones detection ; relax - like inband but with relaxdtmf option ; default is 'relax' by compatibility reason
; dongle required settings [dongle0](E1550_t) audio=/dev/ttyUSB1 ; tty port for audio connection; no default value data=/dev/ttyUSB2 ; tty port for AT commands; no default value group=1 ; calling group
; or you can omit both audio and data together and use imei=123456789012345 and/or imsi=123456789012345 ; imei and imsi must contain exactly 15 digits ! ; imei/imsi discovery is available on Linux only ;imei=352965047503733 ;imsi=250398564515957
; if audio and data set together with imei and/or imsi audio and data has precedence ; you can use both imei and imsi together in this case exact match by imei and imsi required
; dongle required settings [dongle1](E1550_t) audio=/dev/ttyUSB4 ; tty port for audio connection; no default value data=/dev/ttyUSB5 ; tty port for AT commands; no default value group=1 ; calling group
; or you can omit both audio and data together and use imei=123456789012345 and/or imsi=123456789012345 ; imei and imsi must contain exactly 15 digits ! ; imei/imsi discovery is available on Linux only ;imei=352965047526312 ;imsi=250398564322507
; if audio and data set together with imei and/or imsi audio and data has precedence ; you can use both imei and imsi together in this case exact match by imei and imsi required
; dongle required settings [dongle2](E1550_t) audio=/dev/ttyUSB7 ; tty port for audio connection; no default value data=/dev/ttyUSB8 ; tty port for AT commands; no default value group=1 ; calling group
; or you can omit both audio and data together and use imei=123456789012345 and/or imsi=123456789012345 ; imei and imsi must contain exactly 15 digits ! ; imei/imsi discovery is available on Linux only ;imei=352965047519176 ;imsi=250398564384919
; if audio and data set together with imei and/or imsi audio and data has precedence ; you can use both imei and imsi together in this case exact match by imei and imsi required
; dongle required settings [dongle3](E1550_t) audio=/dev/ttyUSB10 ; tty port for audio connection; no default value data=/dev/ttyUSB11 ; tty port for AT commands; no default value group=1 ; calling group
; or you can omit both audio and data together and use imei=123456789012345 and/or imsi=123456789012345 ; imei and imsi must contain exactly 15 digits ! ; imei/imsi discovery is available on Linux only ;imei=352965044093183 ;imsi=250398564379171
; if audio and data set together with imei and/or imsi audio and data has precedence ; you can use both imei and imsi together in this case exact match by imei and imsi required
я уже сменил 2 хаба 3 компа %( 3 прошивки....подскажите плиз что не так [/spoiler]
прописывайте модемы по imei а не по USB и заумную конструкцию с включением [E1550_t](!) уберите и распишите каждый. Модемы переведены в правильный режим AT^U2DIAG=0 и симки без пин кода ?
Если вылеты продолжаться - начинайте с 1 модема, потом 2 и далеее
sdaver, как минимум стоит обновить прошивки на модемах. На текущей явно были проблемы со стабильностью, много раз люди отписывались. Поставьте 11.609.18 или 11.609.20
Попробую написать по памяти, виртуальная машинка на которой собирал у меня сейчас не под рукой, но последовательность действий такая: (действовал методом проб и ошибок)
День добрый, не получается собрать под ubuntu, дважды появляются ошибки отсутсвия библиотек - libuClibc, libcrypt, libm, libpthread whale, поделитесь собранным пакетом asterisk18 для транка openwrt спс
получаю ошибку при сборке пакета. что править, подскажите:
Код:
dc_config.c:17:2: error: unknown field 'target_extra' specified in initializer dc_config.c:17:2: warning: excess elements in struct initializer [enabled by default] dc_config.c:17:2: warning: (near initialization for 'jbconf_default') [enabled by default] make[3]: *** [dc_config.o] Error 1 make[3]: Leaving directory `/openwrt/trunk/build_dir/target-mips_r2_uClibc-0.9.33.2/chan_dongle-1.1.r14' make[2]: *** [/openwrt/trunk/build_dir/target-mips_r2_uClibc-0.9.33.2/chan_dongle-1.1.r14/.built] Error 2 make[2]: Leaving directory `/openwrt/trunk/package/feeds/packages/asterisk18-chan-dongle' make[1]: *** [package/feeds/packages/asterisk18-chan-dongle/compile] Error 2 make[1]: Leaving directory `/openwrt/trunk' make: *** [package/feeds/packages/asterisk18-chan-dongle/compile] Error 2
собрал: chan_dongle-1.1.r14, asterisk 1.8.x, openwrt, ar71xx (tp-link 1043), trunk - последняя сборка на момент публикации Спасибо форуму http://files.mail.ru/DVSIGG
sdaver, как минимум стоит обновить прошивки на модемах. На текущей явно были проблемы со стабильностью, много раз люди отписывались. Поставьте 11.609.18 или 11.609.20
У меня Е1550 замечательно работает на прошивке 11.608.12.00.143
sdaver, как минимум стоит обновить прошивки на модемах. На текущей явно были проблемы со стабильностью, много раз люди отписывались. Поставьте 11.609.18 или 11.609.20
а не подскажете где взять прошивку 11.609.20 ? максимум что я находил - 11.609.18
djserg-minyar ! пользуйтесь поиском, не пишите в личку привязка Е171 с новой прошивкой (изменения в Chan_dongle делать соответственно до его установки) http://code.google.com/p/asterisk-chan-d ... tail?id=73 этот модем цеплять только по imei, выше в теме, я приводил пример рабочего конфига.
Есть несколько модемов Huawei E1550. Версия прошивки строго та же самая. У всех активирован голос. Включен только модем (AT^U2DIAG=0). При подключении некоторые из них не видятся астериском. Через minicom на АТ команды реагируют, в винде даже звонят. Для теста отключил все, оставил только один.
lkzk8mg*CLI> dongle show devices ID Group State RSSI Mode Submode Provider Name Model Firmware IMEI IMSI Number card1 1 Not connec 0 0 0 NONE
Unknown dmesg
[22474.687072] usb 1-5.1.1: GSM modem (1-port) converter now attached to ttyUSB0 [22474.689619] usb 1-5.1.1: GSM modem (1-port) converter now attached to ttyUSB1 [22474.692713] usb 1-5.1.1: GSM modem (1-port) converter now attached to ttyUSB2
-------------- Status ------------- Device : card1 State : Not connected Start scheduled Audio : /dev/ttyUSB1 Data : /dev/ttyUSB2 Voice : No SMS : No Manufacturer : Model : Firmware : IMEI : IMSI :
Версия прошивки строго та же самая. И какая ... ? Во первых - версию linux Во вторых - версию dongle Перестанте задавать через ttyUSB - заводите модемы по imei
Пробовали найти зависимость ? Взять тот что видиться попробовать со всеми сим картами, во все порты USB. Потом тот что не видится - таже процедура.
Заводим E171 с новой прошивкой 21.ххххххх на Centos 6.3 и аналогах Ставим зависимости: yum install usbutils libusb-devel tcl Качаем и ставим из исходников usb_modemswitch не младше 1.2.5 и usb_modemswitch_data - make install
usb_modemswitch_data должен быть новее 2012 года и 11 месяца то все заводится автоматом иначе, ручками.
Поставили ? Выдергиваем и вставляем модем по новой и смотрим lsusb если Bus 002 Device 007: ID 12d1:14fe Huawei Technologies Co., Ltd - значит автоматом не переключился
Смотрим по новой lsusb Bus 002 Device 008: ID 12d1:1506 Huawei Technologies Co., Ltd. E398 LTE/UMTS/GSM Modem/Networkcard
minicom который идет в депозитарии 2.3 не рабочий и командную строку не дает, надо ручками ставить 2.6 в настройках ставить /dev/ttyUSB0 и включать локальное эхо, и переводить в режим только модем строка перевода AT^SETPORT="A1,A2;1,2,3" (девайс в режиме "только модем")
Перевели ? Выдергиваем вставляем по новой, идем в minicom и даем команду AT^SETPORT? (Текущая конфигурация модема) вывод должен быть A1,A2;1,2,3
Вопрос по DTMF и сенсорным телефонам, удалось ли кому либо заставить работать dongle и dtmf с сенсорных? Есть проблема, в том, что не передаются данные с сенсорников. С нокии и других кнопочных, и даже городских, данную траблу не наблюдал. Сейчас стоит следующий конфиг:
make[3]: Entering directory `/opt/openwrt_buildroot/attitude_adjustment/build_dir/target-mips_r2_uClibc-0.9.33.2/chan_dongle-1.1.r14' mips-openwrt-linux-uclibc-gcc -Os -pipe -mips32r2 -mtune=mips32r2 -fno-caller-saves -fhonour-copts -Wno-error=unused-but-set-variable -msoft-float -DLOW_MEMORY -D_XOPEN_SOURCE=600 -I/opt/openwrt_buildroot/attitude_adjustment/staging_dir/target-mips_r2_uClibc-0.9.33.2/usr/include -I/opt/openwrt_buildroot/attitude_adjustment/staging_dir/target-mips_r2_uClibc-0.9.33.2/include -I/opt/openwrt_buildroot/attitude_adjustment/staging_dir/toolchain-mips_r2_gcc-4.6-linaro_uClibc-0.9.33.2/usr/include -I/opt/openwrt_buildroot/attitude_adjustment/staging_dir/toolchain-mips_r2_gcc-4.6-linaro_uClibc-0.9.33.2/include -I/opt/openwrt_buildroot/attitude_adjustment/staging_dir/target-mips_r2_uClibc-0.9.33.2/usr/lib/libiconv-full/include -I/opt/openwrt_buildroot/attitude_adjustment/build_dir/target-mips_r2_uClibc-0.9.33.2/asterisk-11.2.0/include -DHAVE_CONFIG_H -I. -fPIC -o app.o -c app.c In file included from /opt/openwrt_buildroot/attitude_adjustment/staging_dir/toolchain-mips_r2_gcc-4.6-linaro_uClibc-0.9.33.2/lib/gcc/mips-openwrt-linux-uclibc/4.6.3/../../../../mips-openwrt-linux-uclibc/sys-include/bits/types.h:31:0, from /opt/openwrt_buildroot/attitude_adjustment/staging_dir/toolchain-mips_r2_gcc-4.6-linaro_uClibc-0.9.33.2/lib/gcc/mips-openwrt-linux-uclibc/4.6.3/../../../../mips-openwrt-linux-uclibc/sys-include/unistd.h:188, from /opt/openwrt_buildroot/attitude_adjustment/build_dir/target-mips_r2_uClibc-0.9.33.2/asterisk-11.2.0/include/asterisk/compat.h:37, from /opt/openwrt_buildroot/attitude_adjustment/build_dir/target-mips_r2_uClibc-0.9.33.2/asterisk-11.2.0/include/asterisk.h:27, from app.c:17: /opt/openwrt_buildroot/attitude_adjustment/staging_dir/toolchain-mips_r2_gcc-4.6-linaro_uClibc-0.9.33.2/lib/gcc/mips-openwrt-linux-uclibc/4.6.3/include/stddef.h:212:23: error: duplicate 'unsigned' /opt/openwrt_buildroot/attitude_adjustment/staging_dir/toolchain-mips_r2_gcc-4.6-linaro_uClibc-0.9.33.2/lib/gcc/mips-openwrt-linux-uclibc/4.6.3/include/stddef.h:212:23: error: two or more data types in declaration specifiers In file included from /opt/openwrt_buildroot/attitude_adjustment/build_dir/target-mips_r2_uClibc-0.9.33.2/asterisk-11.2.0/include/asterisk/compat.h:37:0, from /opt/openwrt_buildroot/attitude_adjustment/build_dir/target-mips_r2_uClibc-0.9.33.2/asterisk-11.2.0/include/asterisk.h:27, from app.c:17: /opt/openwrt_buildroot/attitude_adjustment/staging_dir/toolchain-mips_r2_gcc-4.6-linaro_uClibc-0.9.33.2/lib/gcc/mips-openwrt-linux-uclibc/4.6.3/../../../../mips-openwrt-linux-uclibc/sys-include/unistd.h:191:19: error: two or more data types in declaration specifiers make[3]: *** [app.o] Error 1 make[3]: Leaving directory `/opt/openwrt_buildroot/attitude_adjustment/build_dir/target-mips_r2_uClibc-0.9.33.2/chan_dongle-1.1.r14' make[2]: *** [/opt/openwrt_buildroot/attitude_adjustment/build_dir/target-mips_r2_uClibc-0.9.33.2/chan_dongle-1.1.r14/.built] Error 2 make[2]: Leaving directory `/opt/openwrt_buildroot/attitude_adjustment/feeds/packages/net/asterisk11-chan-dongle' make[1]: *** [package/feeds/packages/asterisk11-chan-dongle/compile] Error 2 make[1]: Leaving directory `/opt/openwrt_buildroot/attitude_adjustment' make: *** [package/feeds/packages/asterisk11-chan-dongle/compile] Error 2
может кто сталкивался, подскажите. есть рабочая система на линуксе , ядро 2.6.34, астер 1.8.7 два модема usb. один для астера e1550, второй flyer2 для рассылки смс (sms server tools) . до недавнего времени все работало (uptime полтора года) идеально. две недели назад при исходящих вызовах c астериска через первый модем второй модем начинает ловить ошибки инициализации.
2013-01-28 08:31:16,3, SMS1: Error: Unexpected answer from Modem after +CREG?, waiting 1 sec. before retrying
в астериске ошибок нет, качество связи не изменяется. при вхоодящих вызовах ошибок нет. помогите локализовать проблему.
Доброго времени суток, кто-нибудь был успешен в сборке chan-dongle под 11 asterisk на OpenWrt (12.09) под AR91xx (TP-Link WR1043ND)? chan-dongle беру из trunk, патч накладываю из кто-нибудь может помочь?
whale, поделитесь собранным пакетом asterisk18 для транка openwrt
Хоть и припозднился, но тоже поделюсь, вдруг кому пригодится. Вот мой вариант: http://zalil.ru/34227395
Работает без проблем на домашнем NetGear WNDR3800 с прошивкой OpenWrt Attitude Adjustment r33030 под управлением Asterisk 1.8.10.1 Обслуживает одновременно три модема E1550 большой тройки сотовых операторов. Очень выручил на отдыхе в Тайланде
Для полноты картины поделюсь своими пакетами OpenWrt c астериском, включая chan_dongle, кросскомпилироваными под архитектуру AR71xx (WNDR3700-3800) ТЫЦ
Спасибо за быстрый ответ. module load chan_dongle.so module reload chan_dongle.so module unload chan_dongle.so не помогает. При перезагрузке модуля переподключаются только те модемы, которые уже были подключены. Новые же не подключаются. Напомню ещё раз, что машина виртуальная.
У меня почему-то на одном из трёх модемов периодически (раз в неделю/месяц) отваливался звук, хотя сам модем не зависает и звонки проходят в обе стороны, просто собеседника не слышно. Сделал костыль в виде команды в кроне раз в сутки: "dongle restart gracefully dongle0", после чего проблемы не наблюдал.
на прошлой неделе в базе произошел сбой, часть сообщений за последнюю неделю была утеряна. видимо пришло время подумать о новом движке... постараюсь сильно с этим не затягивать.
Есть работающая система FreeBSD8.2, Asterisk 1.8.20.1, chan_dongle: Huawei 3G Dongle Channel Driver, Version 1.1, Revision 14. Два модема Huawei E150 и E1550, каждый в своем хабе Dlink HUB7 с дополнительным питанием. Все работает. Решил добавить модем Huawei E173, прошивка 11.126.15.00.00 (пробовал прошивку 11.126.85.00.209_B427). Модем подключил, все увиделось. СМС-ки идут в обе стороны, ussd-команды отрабатывают, исходящие звонки идут, а вот при входящем на этот новый модем, модем отваливается как устройство и переподключается через 10-20сек. Прошивки пробовал менять. Куда еще копать? Заранее спасибо.
========================= И тут начинаются проблемы. При звонке на любую из симок или при звонке с любой из симок, происходит звонок, беру трубку, первых 1 иногда 2 секунды слышим друг друга, а потом тишина. Причем звонок все еще идет. При максимальной вербозности, в логе нет ничего. Процесс asterisk начинает кушать 60% CPU. Как только я вынимаю из ЮСБ-порта тот модем, на который не было совершено звонка, все начинает работать. При этом загрузка ЦП падает до штатного режима и в логе вижу Spawn extension (dongle-incoming-mts, +380НОМЕР_СИМКИ_МТС, 2) exited non-zero on 'Dongle/donglemts-0100000001 Звонок в этом случае как раз был совершен на МТС, а вынимал модем с Киевстаром. Для интереса даже не клал трубку при появлении проблемы, т.е. была обоюдная тишина. Как только вынимал модем, звонок продолжался успешно и оба друг друга слышат успешно. Что уже проделал? 1. Менял симки, не помогло 2. Выставлял AT^U2DIAG=256 и AT^U2DIAG=0 на обоих модемах, не помогло 3. В dongle.conf прописывал порты в явном виде, не полагаясь на обнаружение по IMEI, не помогло Друзья, подскажите, пожалуйста, куда копать. Спасибо
Столкнулся с проблемсом. Раньше Centos6+asterisk1.8+freepbx2.11+dongle работали наура с такими настройками
Код:
[MTS1] ;050 - XXX-XX-XX - MTS ;audio=/dev/ttyUSB1 ; tty for audio connection ;data=/dev/ttyUSB2 ; tty for AT commands imei=*********** ;imsi=*********** context=incoming-GSM languge=ru group=1 rxgain=3 ; increase the incoming volume txgain=-3 ; increase the outgoint volume autodeletesms=yes resetdatacard=yes ; reset datacard during initialization u2diag=0 ; set U2DIAG parameter (256 = modem+card_reader) usecallingpres=yes ; use the caller ID presentation or not callingpres=allowed_passed_screen ; set caller ID presentation
+ еще 4 похожих опции
Все сливалось экстешену:
Код:
[incoming-GSM] # Заменяем 7 на 8 в определившихся номерах и делаем DID равный номеру # IMEI модема, для входящих разделения звонков с разных модемов. exten => s,1,Set(CALLERID(all)=${CALLERID(num)}) exten => s,n,Set(CALLERID(num)=${CALLERID(num):3}) exten => s,n,goto(from-trunk,${DONGLEIMEI},1)
Позавчера поставил freepbxdistro с centos6+11 астером+freebpx 2.11+dongle патченый под 11 астер. не работают входящие... Долблюсь долблюсь.... Понимаю что гдето косяк в диалплане, т.к. вывод в консоли:
Цитата:
pbx.c:6390 __ast_pbx_run: Channel 'Dongle/MTS1-0100000000' sent to invalid extension but no invalid handler: context,exten,priority=incoming-GSM,+380ХХХХХХ,1
В freepbx все заточено на прием по диду имея модема и сброс вызова в очередь к операторам.... Исходящие работают как надо.... А вот вход- сбрасывается...
А как дела со стабильностью работы этого модуля? Сильно ли грузит процессор во время звонка? Я помню, при одном звонке через chan_mobile на моём e-box с 500МHz процессором, астериск отъедал половину процессорного времени...
А может выложить готовый образ флешки? Мы все вместе и протестируем.
Я уже несколько дней бьюсь с chan_sebi и E1550 от МТС. Перепробовал Debian 5.0, CentOS 5.3/Elastix 1.6, собирал последние версии, и везде одна и та же проблема в GSM трубке, с которой/на которую звоню слышен постоянный шум в котором с задержкой 2-3 секунды едва можно разобрать речь. А в обратном направлении голос проходит отлично и без задержек.
У меня был такой же шум в Дебиане. Видимо из-за версии ядра. Ставьте в точности то, что указано в моем посте - будет щастье. Или подбирайте другие ядра, которые работают. С chan_sebi не экспериментировал, работоспособность гарантирую только на chan_datacard
Образ могу выложить, только надо убрать из него приватные сведения.
ковырял и chan_sebi и chan_datacard проблем не было со звуком нигде , модем К3520. Правда вот есть беда на одной машине , порты ttyUSB на который садятся voice , data сервисы переназначаются сами по себе .. но это скорее всего проблема оси + железа.
У меня был такой же шум в Дебиане. Видимо из-за версии ядра. Ставьте в точности то, что указано в моем посте - будет щастье. Или подбирайте другие ядра, которые работают.
Действительно, E1550 нормально работает в Ubuntu 9.10 Server (Linux ubuntu 2.6.31-14-generic-pae) + asterisk-1.6.2.0-rc7 + chan_datacard(rev.11).
Купил в МТСе E1550. Собрал астериск 1.6.2rc7 на убунте 9.10. Собрал chan_datacard. Все ингридиенты, как описал уважаемый latv в своём блоге. Всё это работает в vmware. Подключаю модем к компу... linux у меня определяет только ttyUSB0 и ttyUSB1. Третьего нету... Делаю исходящий вызов X-Lite`ом с этого канала на свой мобильный. Вызов проходит, поднимаю трубку, но в трубке тишина... Звоню 111, вызов устанавливается, но ничего не слышно...
Что бы это значило? Может модем без поддержки голоса попался? Хотя все пишут, что в МТС модемы E1550 с поддержкой голоса... Или может это из-за vmware? Кто-нибудб пробовал звонить через эту конструкцию в виртуалке?
Я бы рекомендовал проверить наличие голоса вот это родной хуавеевской прогой под винду: http://depositfiles.com/ru/files/sr2zncbuc Если получится звонить - значит что-то не так с линуксом, а если нет - возвращать модем МТСу.
С родной прогой от Хуавея так же ничего не слышно. Значит и в МТС попадаются модемы без поддержки голоса Firmware Version 11.608.12.00.143 (вроде бы последняя) Hardware Version CD6ATCPU
Вот это реальная подстава.. Может попробовать перепрошить его? Пусть на ту же прошивку.. Хотя, наверно лучше снести обратно, сказать, что нужен был голос (тоже), а его нет. А кстати, что говорит MICRO-BOX HUAWEI MODEM UNLOCKER? Залоченый он или нет?
Обновил прошивку на такю же. Результат остался прежним. Хуавеевская программа показывает, что с модемом всё Ок. Принимает, отправляет СМС, принимает и делает звонки, но звука нет.
Читал на www.gsmforum.ru что проблема с голосом решается с помощью АТ команд, приводилась вот такая: AT+FCLASS=8 или AT^U2DIAG=255 как там писали для полного сброса модема, у меня пока ничего не вышло Ломаю голову с ним уже второй день, пока ничего не вышло, кучу прошивок перепробывал, результату ноль
Проверить поддерживает ли модем голос можно командой AT^CVOICE=? у меня она возвращает CVOICE:(0) или эту AT^DDSETEX=2 (переводит модем в голосовой режим, возвращает OK)
AT^U2DIAG=255 лишь переводит модем в "нормальный" режим "модем+CardReader+CD-ROM" Для нас как раз удобнее AT^U2DIAG=0 (только модем) или AT^U2DIAG=256 (модем+CardReader)
Added after 12 minutes:
gsv wrote:
Значит и в МТС попадаются модемы без поддержки голоса Firmware Version 11.608.12.00.143 (вроде бы последняя) Hardware Version CD6ATCPU
А у кого работает, какая Hardware Version?
У меня точно такие же версии. Родной Mobile Partner работает. В vmware не пробовал.
Сегодня собрал current версию 1.4 (asterisk-1.4.27.1) c chan_sebi (rev. 140) на Linux ubuntu 2.6.31-14-generic-pae - работает!
Алилуя После ввода АТ команд нужно было просто вынуть и вставить модем из usb и все заработало. Появилась, правда, еще одна проблема, я слышу собеседника хорошо, а вот собеседник меня почти не слышит , можно ли АТ командами уровень исходящего сигнала поднять? Пока эксперементирую под Виндой, завтра попробую прикрутить к Elastix 1.3 с Asterisk 1.4.22
Проверить поддерживает ли модем голос можно командой AT^CVOICE=? у меня она возвращает CVOICE:(0) или эту AT^DDSETEX=2 (переводит модем в голосовой режим, возвращает OK)
У меня at^cvoice=? выдает ^CVOICE:(1) AT^DDSETEX=2 выдает error Это значит, что модем без поддержки голоса или можно перепрошить?
Решил поставить asterisk с chan_datacard на старый, никому не нужный сервер. Сервер совсем старый Pentium III 1000 Гц. USB порты явно USB1.
Весь софт такой же как и на рабочей машине (ubuntu 9.10, asterisk_1.6.2_rc7...). Всё скомпилировалось и установилось без проблем. Перенёс тестовые конфиги с рабочей машины, подключаю тот же модем, звоню, в консоле такое: [Dec 14 13:51:18] WARNING[28423]: translate.c:168 framein: no samples for lintoalaw [Dec 14 13:51:18] WARNING[28423]: translate.c:168 framein: no samples for lintoalaw [Dec 14 13:51:18] WARNING[28423]: translate.c:168 framein: no samples for lintoalaw [Dec 14 13:51:18] WARNING[28423]: translate.c:168 framein: no samples for lintoalaw [Dec 14 13:51:18] WARNING[28423]: translate.c:168 framein: no samples for lintoalaw [Dec 14 13:51:18] WARNING[28423]: translate.c:168 framein: no samples for lintoalaw [Dec 14 13:51:18] WARNING[28423]: translate.c:168 framein: no samples for lintoalaw
Ничего не слышно, Asterisk грузит процессор на 100%, модем ребутается (судя по тому, что меняются ttyUSB, на которых он висел)
Что бы это значило? Было ли у кого-то похожее? или действительно, сервер очень старый...
У меня два модема на Celeron 1.3 и при двух одновременных разговорах загрузка процессора не больше 13%, но без графической оболочки, когда была оболочка были притормаживания и загрузки до 100%. Точнее проблемы были, если залогониться в систему, если окно входа висит, а заходить по ssh, то тоже стабильно.
Читал на www.gsmforum.ru что проблема с голосом решается с помощью АТ команд, приводилась вот такая: AT+FCLASS=8 или AT^U2DIAG=255 как там писали для полного сброса модема, у меня пока ничего не вышло Ломаю голову с ним уже второй день, пока ничего не вышло, кучу прошивок перепробывал, результату ноль
После длительного изучения проблемы... выяснилось что фирма HUAWEI делает активацию голоса исключительно по требованию оператра заказчика... Поэтому из всего разнообразия модемов Е1550 продаваемых у нас... только МТС Россия имеет активированный голос. Ни Билайн ни Мегафон ни Киевстар модемы функцию голоса не поддерживают... но оказывается голос можно активировать Я уже пользуюсь модемом от киевстар с активированным голосом
Отлично. Thread не плохой. Я имею asterisk на V-serverе уже пару лет. Вот только что заказал в ebay пользованный Huawei E169. Мне интересно что лучше: chan_sebi или chan_datacard? Какова стабильность? Хватят ли 500 MHz и 128MB RAM чтобы использовать хотябы 3 GSM-Gatewayи - имею в виду чтобы там проходило несколко сот звонков в день?
У меня на wl500gp с прошивкой от Олега уже два года астериск живет. К нему еще d-lin 7022 подключен: два телефона и городская линия. Звонки через sipnet, pctel, betamax, автоответчик, факс и т.д. Пробовал и chan_mobile, но как-то со стабильностью не очень: то звук не идет, то еще что-то. Сейчас пробую 1.6.2.0 - не идет, как из пакетов, так и собранный самостоятельно. Валится на середине загрузки. ps/ еще на нем торент-качалка и много чего еще живет, для дома производительности хватает...
Попробовал datacard - нормально не работает. Кроме того, как уже писали в этой ветке, модем постоянно меняем порты. Попробовал chan_sebi - там астериск сам ищет, на каких портах находится data, на каких - voice. С входящими все нормально, а вот исходящие не идуд вообще. Софтфон говорит : "неправильно набран номер". Модем е1550 от МТС-разлоченный. Есть мысль, что как-то там правила звонка прописаны. Никто не сталкивался? И еще, после таких звонков убунта выдает предупреждение о нестабильности системы. Minicom звонит командой ATDTномер_телефона , а при установленном chan_datacard в CLI вылетала ошибка , что модем не принимает ATD - действительно не принимает minicom выает error. Нужна именно ATDT , где это можно изменить?
Added after 13 minutes:
latv писал(а):
Как именно активируется? Так?
Код:
AT+FCLASS=8
Мой модем на AT+FLASS=8 ругается - error. AT+FLASS=1 - ОК AT^CVOICE=? CVOICE(0) AT^CVOICE=1 OK AT^CVOICE=? CVOICE(1) Но в chan_sebi без ввода АТ комманд модем определяется VOICE=yes
Яб посоветовал эксперименты крутить на просто астериске , без всяких FreePBX ... и смотреть в консоль * что он выдает в CLI. Если ничего не пишет , значит что-то с модемом , если пишет , но не звонит значит что-то с дайл-планом. А без логов врятли кто даст дельный совет , "хрустальный шар" предсказаний мало у кого есть
SMSок не получал , но отправлял. Уходят без проблем. Звонок у меня с модема падает в контекст:
Знает кто-нибудь, можно ли как-то отключить первый ring back тон, который генерирует asterisk, когда звонишь через chan_datacadr? Немного напрягает при наборе номера, слышать сначала один тон потом другой.
[datacard-incoming] exten => s,1,Set(__FROM_DID=89178845118) exten => s,n,Dial(IAX2/10.1.10.9) не передает DID на хост 10.1.10.9 лог хоста вот
[Feb 3 12:58:45] VERBOSE[16284] logger.c: -- Executing [s@from-trunk:1] Set("IAX2/datacardgsm-5887", "__FROM_DID=s") in new stack [Feb 3 12:58:45] VERBOSE[16284] logger.c: -- Executing [s@from-trunk:2] Gosub("IAX2/datacardgsm-5887", "app-blacklist-check|s|1") in new stack
SVLD извиняюсь поправил но так оно и есть коментирование этой строчки exten => s,1,Set(__FROM_DID=89178845118) лог не меняет просто DID не передается и все
какая то полная анархия, даже если предположить, что Set был закомментирован уже ПОСЛЕ снятия логов, то ну ни как не может при конструкции "var=число" засветиться в логе "var=s"
думаю между логами и данным контекстом, были проведены операции редактирования.
и, бай зе вэй, номер звонящего берется из ${CALLERID(num)}
SVLD извиняюсь поправил но так оно и есть коментирование этой строчки exten => s,1,Set(__FROM_DID=89178845118) лог не меняет просто DID не передается и все а вообще надо через Elastix разрулить маршрут от того, на какую симку(устройство) позвонили GSM-asterisk1.6(freepbx)-asterisk(elastix)
Внесу немного ясности. Схема с транзитным астериском, получается, что звонок приходит на модем, тот отправляет его на астериск1. На этом астере по идее дид виден прерасно. Дальше астериск1 перенаправляет звонок на астериск2 - здесь дид и теряется, т.к. звонок уже идёт с другого устройства. имхо
1. вы спокойно можете прокидывать через кучу астерисков CALLERID name и num, а ваши freepbx и еже с ними вариантами путают своими переменными (__FROM_DID и т.п.) 2. разрулить на какой момед позвонили можно достаточно легко, просто пропишите разные контексты для разных модемов, если у девелопера руки дойдут, может переменные прикрутит, тогда уже можно говорить об одном контексте с условием, проверяющим переменную
Настроил приём смс. Приходит сообщение -> декодируется -> отправляется на почту. Возможно кому-то пригодится. Необходимо только поставить программу для отправки на мыло, взять можно здесь.
Кто пользуется модемами через хаб - отпишитесь, с какими хабами нормально работает. У меня через хабы Terminus(активный) и ST-Lab модемы видно, но: звук не проходит, состояние звонка обрабатывается не корректно.
При звонке на модем: ERROR[3230]: chan_datacard.c:3834 do_monitor_phone: Lost data connection to Datacard datacard1. -- Datacard datacard1 has disconnected. а потом -- Datacard datacard1 trying to connect on /dev/ttyUSB2 -- Datacard datacard1 has connected, initializing... -- Datacard datacard1 initialized and ready. Иногда модем просто отваливается и в консоль вылетает option: option_instat_callback: error - ХХ
Всем привет, не устанавливается соединение через два модема
МГТС -> входящий -> datacard2 -> asterisk -> datacard1 -> исходящий на мобилу МТС вызов проходит "снимаю трубку" на мобиле - время вызова пошло, т.е. datacard1 соединился мобилой а на datacard2 продолжают идти сигналы вызова, "кладу трубку" на мобиле на datacard2 без изменений - сигналы вызова
в дебаге - has no RTP, not doing anything куда копать?
Code:
*CLI> core set debug 9 Core debug was 0 and is now 9 [Feb 4 00:57:18] DEBUG[2449]: chan_datacard.c:4010 do_monitor_phone: [datacard2] ^BOOT:32164479,0,0,0,87 [Feb 4 00:57:23] DEBUG[2449]: chan_datacard.c:4010 do_monitor_phone: [datacard2] ^RSSI:17
############## "кладу трубку" на входящей стороне ############## [Feb 4 00:58:07] DEBUG[2449]: chan_datacard.c:4010 do_monitor_phone: [datacard2] ^CEND:1,0,100,16 [Feb 4 00:58:07] DEBUG[2449]: chan_datacard.c:3489 handle_response_cend: [datacard2] line disconnected [Feb 4 00:58:07] DEBUG[2449]: chan_datacard.c:3491 handle_response_cend: [datacard2] hanging up owner [Feb 4 00:58:07] DEBUG[2548]: channel.c:1739 ast_hangup: Hanging up channel 'Datacard/datacard1-e339' [Feb 4 00:58:07] DEBUG[2548]: chan_datacard.c:1017 dc_hangup: [datacard1] hanging up device ]Feb 4 00:58:07] DEBUG[2548]: chan_datacard.c:1442 rfcomm_write_full: rfcomm_write() (17) [AT+CHUP [Feb 4 00:58:07] DEBUG[2420]: devicestate.c:342 _ast_device_state: No provider found, checking channel drivers for Datacard - datacard1 [Feb 4 00:58:07] DEBUG[2420]: chan_datacard.c:1202 dc_devicestate: Checking device state for device datacard1 [Feb 4 00:58:07] DEBUG[2420]: devicestate.c:460 do_state_change: Changing state for Datacard/datacard1 - state 1 (Not in use) [Feb 4 00:58:07] DEBUG[2420]: devicestate.c:440 devstate_event: device 'Datacard/datacard1' state '1' [Feb 4 00:58:07] DEBUG[2548]: app_dial.c:2315 dial_exec_full: Exiting with DIALSTATUS=CANCEL. [Feb 4 00:58:07] DEBUG[2548]: pbx.c:4297 __ast_pbx_run: Spawn extension (datacard2-incoming,s,1) exited non-zero on 'Datacard/datacard2-e374' == Spawn extension (datacard2-incoming, s, 1) exited non-zero on 'Datacard/datacard2-e374' [Feb 4 00:58:07] DEBUG[2548]: channel.c:1634 ast_softhangup_nolock: Soft-Hanging up channel 'Datacard/datacard2-e374' [Feb 4 00:58:07] DEBUG[2548]: channel.c:1739 ast_hangup: Hanging up channel 'Datacard/datacard2-e374' [Feb 4 00:58:07] DEBUG[2548]: chan_datacard.c:1017 dc_hangup: [datacard2] hanging up device [Feb 4 00:58:07] DEBUG[2420]: devicestate.c:342 _ast_device_state: No provider found, checking channel drivers for Datacard - datacard2 [Feb 4 00:58:07] DEBUG[2420]: chan_datacard.c:1202 dc_devicestate: Checking device state for device datacard2 [Feb 4 00:58:07] DEBUG[2420]: devicestate.c:460 do_state_change: Changing state for Datacard/datacard2 - state 1 (Not in use) [Feb 4 00:58:07] DEBUG[2420]: devicestate.c:440 devstate_event: device 'Datacard/datacard2' state '1' [Feb 4 00:58:07] DEBUG[2420]: devicestate.c:342 _ast_device_state: No provider found, checking channel drivers for Datacard - datacard2 [Feb 4 00:58:07] DEBUG[2420]: chan_datacard.c:1202 dc_devicestate: Checking device state for device datacard2 [Feb 4 00:58:07] DEBUG[2420]: devicestate.c:460 do_state_change: Changing state for Datacard/datacard2 - state 1 (Not in use) [Feb 4 00:58:07] DEBUG[2420]: devicestate.c:440 devstate_event: device 'Datacard/datacard2' state '1' [Feb 4 00:58:07] DEBUG[2440]: app_queue.c:1084 handle_statechange: Device 'Datacard/datacard1' changed to state '1' (Not in use) but we don't care because they're not a member of any queue. [Feb 4 00:58:07] DEBUG[2440]: app_queue.c:1084 handle_statechange: Device 'Datacard/datacard2' changed to state '1' (Not in use) but we don't care because they're not a member of any queue. [Feb 4 00:58:07] DEBUG[2440]: app_queue.c:1084 handle_statechange: Device 'Datacard/datacard2' changed to state '1' (Not in use) but we don't care because they're not a member of any queue. [Feb 4 00:58:09] DEBUG[2449]: chan_datacard.c:4010 do_monitor_phone: [datacard2] ^MODE:3,3 *CLI> core set debug off Core debug is now OFF *CLI>
поотдельности модемы работают т.е. входящий -> datacard1(или 2) -> asterisk -> SIP
и в обратную сторону все хорошо SIP -> asterisk -> datacard1(или 2) -> исходящий
Code:
*CLI> datacard show devices ID Group Connected State Voice SMS RSSI Mode Submode Provider Name Manufacturer Model Firmware IMEI datacard2 2 Yes Free Yes Yes 18 5 4 MTS-RUS huawei E1550 11.608.12.00.143 35870********** datacard1 1 Yes Free Yes Yes 20 3 1 MTS-RUS huawei E1550 11.608.12.00.143 35870********** *CLI>
fedora 11 модемы определились как Bus 001 Device 002: ID 12d1:1001 Huawei Technologies Co., Ltd. E620 USB Modem Bus 001 Device 003: ID 12d1:1001 Huawei Technologies Co., Ltd. E620 USB Modem
-- Datacard datacard1 has disconnected. а потом -- Datacard datacard1 trying to connect on /dev/ttyUSB2 -- Datacard datacard1 has connected, initializing... -- Datacard datacard1 initialized and ready. Иногда модем просто отваливается и в консоль вылетает option: option_instat_callback: error - ХХ
У меня такое было когда модем цеплялся не к ttyUSB0-2. Причем сделана привязка в udev (см. в этой теме ранее) к USB порту но при загрузке USB порт вдруг мог назвать себя usb 3-1, вместо usb 1-3 или инициализировался только один модем, который на usb 1-3 а на usb 1-4 оставался невидимым - после перетыкания появлялся (пишут, что lsusb должно сделать rescan портов, пока не проверял - давно не перегружался )
[datacard-incoming] exten => s,1,Set(__FROM_DID=100000); эта строчка ни на что не влияет но она должна быть exten => s,n,Dial(IAX2/10.1.10.9/89170000) [datacard0out] exten => _X.,1,Dial(Datacard/datacard0/${EXTEN})
в elastix делаем входящий маршрут DID ставим 89170000 и вроде все
...когда модем цеплялся не к ttyUSB0-2. Причем сделана привязка в udev (см. в этой теме ранее) к USB порту но при загрузке USB порт вдруг мог назвать себя usb 3-1, вместо usb 1-3...
Спасибо - натолкнул на мысль отключить в модеме сидиром и кардридер. Сейчас вроде нормально работает (пока сделал несколько тестовых звонков) через хаб (привязка к порту правилами udev). Тестирую дальше.
kae50 wrote:
подскажите пожалуйста что это за ошибка в Ubuntu вылезает на центральную консоль?
предлагаю протестировать (и в случае сакцесса вынести может в шапку) одну строчку(файл), которую я вчера набросал и вроде даже проверил. она решает следующие ЧАСТО встречающиеся в этой теме проблемы: 1. перепрыгивание модема с одного имени на другое (ttyUSB...) 2. права доступа к модему по дефолту не подходят для "правильных" астерисков (в результате чего астер не пожет подцепиться к девайсу)
и так: 1. создаём файл /etc/udev/rules.d/80-huawei.rules с содержимым
и передергиваем модем * второй пункт можно не делать если есть возможность просто перезапустить компьютер 3. к модему (в файле datacard.conf) привязываемся к портам huawei-x-y-z
на практике увидите какому порту соответствуют какие x-y, достаточно после передергивания момеда сделать
Code:
ls -l /dev/huawei*
z - это уже порты самого модема, т.е. audio=/det/huawei-1-1-1, data=/dev/huawei-1-1-2 например
надеюсь это закроет часть вопросов, которые тут проходили уже не раз
проверил - работает но если модемов несколько то в зависимости от порядка втыкания модемов - получаем разные индексы
сначала втыкаем в порт 2-3, затем в 2-4 huawei-2-3-1 huawei-2-3-2 huawei-2-4-4 huawei-2-4-5
сначала втыкаем в порт 2-4, затем в 2-3 huawei-2-3-4 huawei-2-3-5 huawei-2-4-1 huawei-2-4-2
если линукс всегда в одном порядке инициализирует USB (по возрастанию, например) то это не имеет значения ну и если вручную вставлять сначала в порты с меньшими номерами
или эту AT^DDSETEX=2 (переводит модем в голосовой режим, возвращает OK)
Только после команды AT^DDSETEX=2 начинает работать голос. На английских форумах написано, что она не переводит в голосовой режим, а выводит аудио в диагностический порт. Как это понимать? Через какой ttyUSB идет голос, если в dactacard.conf стандартно прописано? У меня после неё голос передаётся, но получается, что передаётся неправильно?
если все модемы воткнуть в компьютер порты то цепляются то нет (после перезагрузки), если сделать перетык то цепляются с 2-3 раза, вобщем маялся маялся то модемы не видит то ошибка порта то звука нет итд купил хаб "gembird" активный с питанием, воткнул все в него (3 модема) все зацепилось, перегрузил порт подцепил только 2 модема, сделал перетык зацепилось 3 модема
извините что влезаю, но думаю в случае с активными usb хабами наиважнейшим параметром будет это его блок питания и отдаваемая им в хаб мощность. я так понимаю этот модем по сути сотовый телефон, которые при передаче жрут довольно много энергии (но в сравненнии с телефонами они используются более интенсивно), а некоторые порты в компах просто не тянут по питанию несколько модемов (тем более под нагрузкой). желательно выяснить сколько ест модем в пике и умножить эту цифру на количество модемов + какойто еще запас желателен. ну и уже брать хаб с таким блоком питания (или свой приделать от какогонить принтера старого или еще чего). просто думаю именно в нехватке энергии и обьясняются случаи с неопрделением модемов в системе на некоторых компах. думаю это важный момент. _________________ Успехов!
Счастливым обладателям хороших хабов посвящается! Управление питанием! 1. Ставим libusb-dev 2. Скачиваем http://www.gniibe.org/software/hub-ctrl.c 3. Компилим: gcc -o hub-ctrl hub-ctrl.c -l usb 4. Тестируем (На примере D-Link DUB-H7 H/WVer.: A5): 4.1. Смотрим что показывает ./hub-ctrl : Hub #0 at 001:004 4.2. Выключаем 1-й порт (реальный номер порта с тем что нарисован на хабе может не совпадать!): ./hub-ctrl -b 001 -d 004 -P 1 -p 0 4.3. Включаем 1-й порт: ./hub-ctrl -b 001 -d 004 -P 1 -p 1
Результаты тестирования пишем сюда.
Я первый. :
Хаб D-Link DUB-H7 H/W Ver.: A5
./hub-ctrl показывает: INFO: individual power switching. WARN: Port indicators are NOT supported. Но на самом деле индикаторы портов работают и показывают наличие/отсутствие питания.
Включение/выключение портов работает как при подключенном так и при отключенном блоке питания. При отключении блока питания состояние не изменяется. При отключении usb кабеля подача напряжения на все порты отключается, состояние портов сбрасывается.
edo1, Конечно так проще! Только таким способом физически питание не передёргивается.
Код:
ls /sys/bus/usb/devices/*/power/level /sys/bus/usb/devices/usb4/power/level /sys/bus/usb/devices/1-2.4/power/level /sys/bus/usb/devices/usb1/power/level /sys/bus/usb/devices/usb3/power/level /sys/bus/usb/devices/1-2.3/power/level /sys/bus/usb/devices/1-2.1/power/level /sys/bus/usb/devices/usb2/power/level /sys/bus/usb/devices/1-2/power/level
- Здесь видно что ко второму порту на материнке подключен хаб, на 1, 3, 4 портах хаба висят брелки, которые можно передёрнуть таким способом (на примере 4-го брелка):
Код:
echo suspend | sudo tee /sys/bus/usb/devices/1-2.4/power/level && sleep 1 && echo on | sudo tee /sys/bus/usb/devices/1-2.4/power/level
В консоле астериска при этом увидем:
Код:
-- Datacard datacard4 has disconnected -- Datacard datacard4 trying to connect on /dev/gw/4/02... -- Datacard datacard4 has connected, initializing... -- Datacard datacard4 initialized and ready
Т.е. устройство просто "уснуло" а потом "поднялось".
-- Datacard datacard4 has disconnected -- Datacard datacard4 trying to connect on /dev/gw/4/02... -- Datacard datacard4 has connected, initializing... -- Datacard datacard4 needs to be reinitialized. The SIM card is not ready yet -- Error initializing Datacard datacard4 -- Datacard datacard4 has disconnected -- Datacard datacard4 trying to connect on /dev/gw/4/02... -- Datacard datacard4 has connected, initializing... -- Datacard datacard4 needs to be reinitialized. The SIM card is not ready yet -- Error initializing Datacard datacard4 -- Datacard datacard4 has disconnected -- Datacard datacard4 trying to connect on /dev/gw/4/02... -- Datacard datacard4 has connected, initializing... -- Datacard datacard4 initialized and ready
Таким образом видно что устройство прошло полный цикл переинициализации! Описаным мною способом можно изменить уровень напряжения на любом порту, а не только на том к которому подключен брелок, т.е. можно даже реле зацепить за порт и управлять питанием более мощных устройств, с другим током и напряжением питания. Только учтите, не знаю как другие хабы, а D-Link полностью питание не отключает - он сбрасывает его до уровня ~1.35 В. И учтите что иногда может потребоваться выполнить эти действия от root'a!!! Удачи!
PS:
1. edo1, было бы здорово не miniFAQ по datacard сделать а поднять wiki тему по datacard, или наполнить wiki тему на каком-то существующем ресурсе (к примеру xgu.ru), это ИМХО. 2. На этом форуме http://wl500g.info/showthread.php?p=199913 таким же способом играются с wl500, хабом logitech и wimax адаптером.
Последний раз редактировалось: SERGII (Пт Сен 10, 2010 11:45)
Вот еще "фишка": sudo lsusb -v -s 001:020 | sed -n '/Hub Port Status/,+7p'
Код:
Hub Port Status: Port 1: 0000.0503 highspeed power enable connect Port 2: 0000.0100 power Port 3: 0000.0000 Port 4: 0000.0503 highspeed power enable connect Port 5: 0000.0100 power Port 6: 0000.0100 power Port 7: 0000.0000
Показывает что на 3 и 7 портах нету питания, на 1 и 4 - висят инициализированные брелки.
было бы здорово не miniFAQ по datacard сделать а поднять wiki тему по datacard, или наполнить wiki тему на каком-то существующем ресурсе (к примеру xgu.ru), это ИМХО.
Вот адаптация вышеприведенного скрипта для проверки модемов на состояние Busy. Если есть какие-то подвисшие модемы, он сначала пераинициализирует их с помощью datacard reset, потом ждёт 45 сек. и если у каких-то модемов еще осталось состояние Busy то передёргивает питание средствами hub-ctrl. ВНИМАНИЕ: скрипт завязан на один D-Link DUB-H7, предполагается что имена карточек имеют вид gwX и зацеплены за соответствующий порт Х. В той же папке где лежит скрипт должен быть hub-ctrl.
Код:
#!/bin/bash # Filename: gsm-keeper # Purpose: This script checking for datacards which has "Busy" state # Authors: asteriskforum' users (asteriskforum.ru), (c) Sergey Fenko # License: This file is licensed under the GPL v2. ################################################################################
bus=$(lsusb | grep 2001:f103 | awk '{print $4$2}') #looking for D-Link DUB-H7 hub bus, $bus will look like dev:bus
function hubctl { if [ -e ./hub-ctrl ] then ./hub-ctrl -b ${bus:4:3} -d ${bus:0:3} -P $1 -p 0 sleep 1 ./hub-ctrl -b ${bus:4:3} -d ${bus:0:3} -P $1 -p 1
fi } for card in $(asterisk -rx "datacard show devices" | grep -i busy | awk '{print $1}' | sed '/gw*/!d' | sort) do channel=$(asterisk -rx "core show channels" | awk '{print $1}' | grep $card) if [ -z "$channel" ]; then { echo "$card is not assigned to any channel - probably freezed - REINITIALIZING" asterisk -rx "datacard reset $card" let WPWR=1 } else echo "$card is busy and assigned to channel $channel - OK" fi done
if [ "$WPWR" = "1" ] then { echo -e "Waiting some time for changes taking effect.\nIf any problems - will \"hard reset\"!" sleep 45s for card in $(asterisk -rx "datacard show devices" | grep -i busy | awk '{print $1}' | sed '/gw*/!d' | sort) do echo $card channel=$(asterisk -rx "core show channels" | awk '{print $1}' | grep $card) if [ -z "$channel" ] then echo "$card is not assigned to any channel - probably deeply freezed - REINITIALIZING (DOING HARD RESET!)" hubctl ${card:2:1} fi done } fi
Собственно как заставить модемы подвиснуть?? А то скрипт никак проверить не могу!
Последний раз редактировалось: SERGII (Сб Сен 11, 2010 10:40)
2dim-soft, я собирал, результат = шумы. Сейчас активно этим занимается dlink.ua правда тока на базе dsl-2650. Месяц назад им писал, говорят пока не удачно.
а как сейчас данный проект - есть ли какой-нить DLINK, на котором работает chan_datacard или chan_sebi ?
У меня модемы в Busy не подвисают.. но после какого-то момента происходит Disconnect модема.. после заново инициализируется через chan_datacard и показывает Free... но при попытке вновь использовать снова Disconnect... Если какое-то время не трогать, то может и восстановиться и поработать ещё чуть времени. Есть ли такое у людей и как они с этим борятся? Как диагностируют момент (у меня пока висит AGI монитор на событие disconnect от модема)? Спасибо, узнал что можно отдельные порты переинициализировать... буду пробовать.
2. В случае с E1550 тоже в конфиге прописывается два ttyUSB, но в /dev их три, почему для 160G их появляется всего два? Для чего нужен третий ttyUSB?
0 - обычный модем (принимает at-команды); 1 - звук; 2 - управляющий порт (at-команды + диагностика). большинство модемов идёт с залоченными (отключенными) голосовыми функциями, в этом случае определяются два tty-устройста. ps: это упрощённая картина, например ещё есть at^u2diag
А не подскажешь - у меня E1550 что-то не снимает трубку, настройки такие:
[datacard1]
context=datacard-incoming; context for incoming calls audio=/dev/ttyUSB1; tty port for audio connection data=/dev/ttyUSB0; tty port for AT commands group=2>; calling group rxgain=10; increase the incoming volume txgain=10; increase the outgoint volume autodeletesms=yes; auto delete incoming sms resetdatacard=yes; reset datacard during initialization u2diag=0; set U2DIAG parameter (0 = disable everything except modem function) usecallingpres=yes; use the caller ID presentation or not callingpres=allowed_passed_screen ; set caller ID presentation AT-команды точно на tttyUSB0, как узнать где аудио хз - от того что сюда пишешь для аудио 1 или 2 - ничего не меняется. в /dev их три. crw-rw---- 1 root dialout 188, 0 2010-09-13 12:28 /dev/ttyUSB0 crw-rw---- 1 root dialout 188, 1 2010-09-13 02:49 /dev/ttyUSB1 crw-rw---- 1 root dialout 188, 2 2010-09-13 02:48 /dev/ttyUSB2
mts-connect*CLI> datacard show devices ID Group State RSSI Mode Submode Provider Name Model Firmware IMEI IMSI Number datacard1 2 Free 18 0 0 Beeline E1550 11.608.12.00.143 352445046994481 250991418446289 +7964765656
Что сделать - чтобы он трубку снял? И написал в консоли номер. При звонке на номер длинные гудки и все. На консоли же тишина. Можно тупо снять трубку через datacard cmd datacard1 ATA
Последний раз редактировалось: bricha (Пн Сен 13, 2010 15:46)
2bricha, писал на прошлой недели в dlink, пока молчат. на уровне слухов, чувак который разрабатывает DD wrt eko сказал возьмется за это. Сам я больше не компелил под дир, один раз получилось, а потом чето не шло.
2 Demon_ru, похоже на то что у тебя проблемы с USB хабом или питанием брелков. Какие железки используешь? Брелки висят на USB хабе или подключены к материнке? Сколько всего брелков? А про AGI монитор интересно, покажи скрипт здесь или в ЛС пожалуйста. 2 Bricha, должно быть data=/dev/ttyUSB2. Отредактируй сообщение - сверни настройки в [spoiler].
2 all, Скрипт переинициализации, причесал немного, теперь его легче адаптировать под свои собственные имена брелков, но всё еще подразумевается, что номер брелка совпадает с номером usb порта:
Код:
#!/bin/bash # Filename: gsm-keeper # Version: 0.2b # Purpose: This script checking for datacards which have state "Busy" # Authors: asteriskforum' users (asteriskforum.ru), (c) Sergey Fenko # License: This code is licensed under the GPL v2. ################################################################################
# NOTICE: 1) You need to be shure that the datacards numbers is corresponding to the USB ports numbers for "hubctl" function work properly. (Look for udev rulesets if you already haven't done). 2) Program hub-ctrl must exists in the same directory with this script. 3) On some systems you need to run this script with root privilegies.
NPATT=datacard # NPATT is a pattern name of your datacards, defined in datacard.conf (default is datacard).
STIME="1m 20s" # STIME is an amount of time that we will wait for changes taking effect
DEVBUS=$(lsusb | grep 2001:f103 | awk '{print $4$2}') # looking for D-Link DUB-H7 hub bus, $DEVBUS will look like dev:bus
for CARD in $(cards) do CHAN=$(channels) if [ -z "$CHAN" ]; then { echo "$CARD is busy and not assigned to any channel - probably freezed - REINITIALIZING" asterisk -rx "datacard reset $CARD" let WPWR=1 # this variable tooggles to making control } else echo "$CARD is busy and assigned to channel $CHAN - OK" fi done
if [ "$WPWR" = "1" ] then { echo -e "Waiting some time for changes taking effect.\nIf any problems - will \"HARD RESET\"." sleep $STIME for CARD in $(cards) do if [ -z "$(channels)" ] then echo "$CARD is busy and not assigned to any channel - probably deeply freezed - REINITIALIZING (DOING HARD RESET!)" hubctl $CARD fi done } fi exit 0
Есть идея - по имени брелка искать его tty порт в datacard.conf и через udevadm искать на каком usb порту висит этот брелок. Вот сырой пример кода:
Код:
sudo udevadm info --attribute-walk --name=$(cat /etc/asterisk/datacard.conf | sed -n "/\[$CARD\]/,/data/p" | grep data | awk '{print $1}'| sed 's/data=//') | sed '/KERNELS==/!d' | sed -n 's/KERNELS==//;s/"//g;3p'
Последняя цифра в выводе - номер порта. Кто шарит в sed - помогите причесать код, нужно сделать однострочник sed, избавиться от grep и awk.
пробывал и 2, результат один, насколько я понимаю asterisk по AT-порту ttyUSB0 НЕ ловит ринг Через миником тоже не видно RING - как вообще этот модем и asterisk понимает наличие входящего звонка?
Что-то я не пойму в общем почему он трубку не снимает - такое ощущение что и не должен, может у че-то в астериске роме контекста надо еще настроить?. стоят дефолтные настройки: в datacard.conf
[datacard1]
context=datacard-incoming; context for incoming calls audio=/dev/ttyUSB2; tty port for audio connection data=/dev/ttyUSB0; tty port for AT commands group=2>; calling group rxgain=10; increase the incoming volume txgain=10; increase the outgoint volume autodeletesms=yes; auto delete incoming sms resetdatacard=yes; reset datacard during initialization u2diag=0; set U2DIAG parameter (0 = disable everything except modem function) usecallingpres=yes; use the caller ID presentation or not callingpres=allowed_passed_screen ; set caller ID presentation
Ни кто не сталкивался при использование модема e1550 - в треск в канале после поднятия трубы в любом направлении? Если пользоваться виндовым софтом, встроенной звонилкой - треска нету, качество голоса отличное. _________________ -- С уважением, Lem
SERGII писал(а):2 Demon_ru, похоже на то что у тебя проблемы с USB хабом или питанием брелков. Какие железки используешь? Брелки висят на USB хабе или подключены к материнке? Сколько всего брелков? А про AGI монитор интересно, покажи скрипт здесь или в ЛС пожалуйста.
Вначале было к материнке. Грешил на летнюю жару. Через месяц поставил D-Link DUB-H7 и сейчас на нём три модемчика. Отваливаются время от времени. Вначале лечил выгрузкой модулей option, usbcore и иже с ними... и повторной загрузкой. Помогало. Но после нескольких таких фокусов весь линукс уходил в глубокую задумчивость и не возвращался
Ввиду особенности момента дисконекта.. по сути ловил момент дисконекта чтобы вернуть модем на линию... Сырой примитивный код, использующий phpagi-asmanager.php и phpagi.php: [spoiler]
2lem, у меня проблема была. Но куда делось. Хотя я пропатчил ядро до 2.6.34, в redme сказано 2.6.33+. поиграйся с параметрами rxgain, txgain. И еще в моб телефоне трещала а в сип апперате нет когда использовал кодек g729, хотя грешит на транскодинг не хочется проц просто отдыхал. Тока прописал ulaw, все в поряде, но совсем конечно щас в консоли такое сыпется
Через миником тоже не видно RING - как вообще chan_datacard и asterisk понимает наличие входящего звонка?
Расскажите кто-нить плз, как вообще chan_datacard и asterisk понимает наличие входящего звонка? Через миником НА AT-порту не видно RING, в DEBUG инфе астериска тоже ничего подобного нет. В винде MTS-Connect звенит. Астериск трубку не снимает. Что делать?
А есть какие-нибудь гипотезы-наработки типа "фирмварь 11.608.12.00.143 - очень глючная" или "фирмварь 11.608.14.15.311 работает стабильнее всех" ?
Присоединяюсь к вопросу. Сейчас перепрошил все модемы на 11.608.13.02.00, но глючат... чтоб их. Других прошивок пока не нашёл, хотя усердно и не искал. Просьба сообщить стааабильно работающие прошивки и желательно где их взять.
приобрели E150. chan_datacard его увидил, смс отправлет. А вот с голосовыми звонками --- беда. Слышимость только в одну сторону. Причем слышно только оригинатора, что на входящем звонке, что на исходящем.
а вот зачем перепрошивать модемы, какой то функционал появляется или что?
Лично у меня модемы глючат.. отваливаются. Пытался обновить на более новую прошивку (какую нашёл)... вдруг поможет. Не помогло. Теперь есть теория что проблема именно в конкретном модеме (не вёл статистику.. но кажется начинает отваливаться всегда один и тот же). Буду пробовать его менять.
а вот зачем перепрошивать модемы, какой то функционал появляется или что?
Лично у меня модемы глючат.. отваливаются. Пытался обновить на более новую прошивку (какую нашёл)... вдруг поможет. Не помогло. Теперь есть теория что проблема именно в конкретном модеме (не вёл статистику.. но кажется начинает отваливаться всегда один и тот же). Буду пробовать его менять.
Здесь нашел хороший способ перезапуска модемов, хардовый
У когонибудь получилось сделать рабочим GSM trank в FOP? я перепробовал практически все варианты, в FOP транк отображается но на звонки не реагирует. у меня в datacard.conf транк называется cardMTS1 прописывал в op_buttons_custom.cfg как
приобрели E150. chan_datacard его увидил, смс отправлет. А вот с голосовыми звонками --- беда. Слышимость только в одну сторону. Причем слышно только оригинатора, что на входящем звонке, что на исходящем.
подскажите кто сталкивался, настроил модем Е1550 (кстати мегафоновоский разлоченый и с активированым голосом) всё работает в целом хорошо, но возникла проблема с входящей маршрутизацией. Если ставлю во входящем роуте anyDID/anyCID естественно звонок перебрасывается куда указал, но стоит поставить в качестве did (чтобы роутить конкректный транк) номер симки (пробывал в разном формате +7920******* и 7920******* и 8920******* вместо звёздочек естественно полноценный номер симки) то роут не срабатывает а в консоли появляется
-- Executing [s@from-trunk:1] NoOp("Datacard/megafon-65e3", "No DID or CID Match") in new stack -- Executing [s@from-trunk:2] Answer("Datacard/megafon-65e3", "") in new stack -- Executing [s@from-trunk:3] Wait("Datacard/megafon-65e3", "2") in new stack -- Executing [s@from-trunk:4] Playback("Datacard/megafon-65e3", "ss-noservice") in new stack
т.е. насколько я понял did либо не совпадает с указанным либо вообще не передаётся. Может что не так сделал или это особенность модуля может прошивка на модеме глючная, в теме похожих проблем не нашёл. Использую Asterisk 1.6.2.13 (из исходников) Ubuntu server 10.04 (2.6.32-24) chan-datacard последний
Народ скомпилил для RT-N16 Linux version 2.6.22.19 (root@localhost) (gcc version 4.3.5 (GCC) ) #1 Fri Jul 16 05:15:13 MSD 2010 забирайте может подойдет и для других устройств типа DIR - 320 http://iqlab.ru/downloads/chan_datacard.so
asterisk ответил
Connected to Asterisk 1.6.2.12-rc1 currently running on RT-16N (pid = 2710)
RT-16N*CLI> module show like chan_ Module Description Use Count chan_datacard.so Datacard Channel Driver 0 chan_agent.so Agent Proxy Channel 0 chan_bridge.so Bridge Interaction Channel 0 chan_local.so Local Proxy Channel (Note: used internal 0 chan_phone.so Linux Telephony API Support 0 chan_sip.so Session Initiation Protocol (SIP) 0 chan_unistim.so UNISTIM Protocol (USTM) 0 7 modules loaded
И даже вот так !!!!!
RT-16N*CLI> datacard show devices ID Group State RSSI Mode Submode Provider Name Model Firmware IMEI IMSI Number datacard1 2 Not connec 0 0 0 NONE Unknown datacard0 1 Free 13 3 3 MTS RUS E1550 11.608.12.00.143 352965040471672 250016860070453 Unknown
то есть модуль работает дальше надо настраевать модем
добился того что звонок принимается и переадресовывается на SIP номер но после того как берешь трубку aserisk падает segmentation fault надо рыть
Но столкнулся с одной проблемой... Нет нескольких комманд, которые есть в "большой" звезде По крайней мере Read (чтение dtmf) и System System нужен для записи смс и логов А его нет. Оказалось, что эти комманды можно доставить из ipkg.
Added after 1 hours 23 minutes:
По просьбе utya решил расписать свои действия по компилированию chan_datacard
ЛОВИМ момент, когда начинает собираться asterisk16 и копируем в channels содержимое chan_datacard, а в include звезды копируем iconv.h, который добыли выше.
Ну и ждём сборки. Поиском находим chan_datacard.so, т.к. в ipkg chan_datacard у меня почему-то не включился.
Вроде всё. При копировании прошу соблюдать копирайты и вставлять ссылку на это сообщение.
Я почти забыл... собирал Астэриск для AVM´s Fritz!Box 7270 - вот я не знаю mips это или mipsel - испробуйте.
@ utya Можно и не ловить момент. Надо тогда засунуть в tar.gz архив, который автоматически скачивается с digium файлы, которые связаны с chan_datacard и поправить md5 в Makefile
PS: Люди, у кого бесплатные или дешёвые минуты на Киевстар есть?
А почему на кардах держится статус СМС, при этом они отзваниваются и принимают отлично? Однако, частенько отваливаются с самовостановлением (раз в 20 -40 минут), а те которые устойчиво возвращаютсяв статус свободе вообще не отваливаются. На лайфе испоьзуются патченые донглы остальные родные "не отвязанные".
@ utya Можно и не ловить момент. Надо тогда засунуть в tar.gz архив, который автоматически скачивается с digium файлы, которые связаны с chan_datacard и поправить md5 в Makefile
А у меня просто скомпилилось прям на роутере без бубнов командами
# ./configure # make
пробовал версию библиотеки от Stan поведение идентичное моей при поднятии трубки asterisk вылетает думаю дело в версии астериска 1.6.12 rc1 и ядра 2.6.22.19
никак не могу поставить на RT N 16 asterisk 1.6.13 из репозитория openwrt
подключаю репозиторий в IPKG.conf
делаю ipkg update репозиторий нормально читается при установке
ipkg install asterisk16
Clearing state_want and state_flag for pkg=zoneinfo-northamerica (arch_priority=0 flag=0 want=2) Clearing state_want and state_flag for pkg=zoneinfo-pacific (arch_priority=0 flag=0 want=2) Clearing state_want and state_flag for pkg=zoneinfo-poles (arch_priority=0 flag=0 want=2) Clearing state_want and state_flag for pkg=zoneinfo-simple (arch_priority=0 flag=0 want=2) Clearing state_want and state_flag for pkg=zoneinfo-southamerica (arch_priority=0 flag=0 want=2) Nothing to be done An error ocurred, return value: 4. Collected errors: Cannot find package asterisk16. Check the spelling or perhaps run 'ipkg update' [admin@RT-16N files]$
Как заставить модем e 1550 (Киевстар) - не передавать свой номер?
Что для этого делалось: 1. услуга у оператора активирована. 2. при вводе команды at+clir=1,выдает "ок", по опросу состояния значения at+clir? (1,4), тоесть как бы то что нужно. Но при осуществлении звонка переключается на значение at+clir=0,4.
Кто-нибудь использует dtmf вместе с chan_datacard? У меня получаются постоянные задвоения и затроения цифр
Хотя пробовал и relaxdtmf, и в codecs.conf отключил vad, и поставил непосредственно в exten'е exten => s,n,SIPdtmfMode(rfc2833) всех возможных вариаций (самым лучшим оказался rfc2833, остальные проглатывали цифры, или давали ошибочную цифру).
Потестил отсылая 12345678910, получил следующие непредсказуемые значения.
У меня тоже есть дубли и трешки DTMF особенно с телефона Blzckbarry цифры 1, 3 и 6 всегда двоятся и троятся. Есть такое и на других. Пока незнаю как бороться, задержки типа Nop или ожидание 1сек не помогают. vad отключен
народ проблема такая настроил chan_datacard + модем 1550 входящие отлично работают, все слышно вобщем идеально
как только пытаюсь звонить с модема клиент зависает, нажимаешь отбой и модем начинает звонить на этот номер в трубке естественно тишина если сбросить, то модем оставляет голосовое сообщение. и потом еще с минуту висит иногда полностью отваливается приходиться перегружать
Asterisk 1.8 RC2 Делал всё по HOWTO. ВХОДЯЩИЕ РАБОТАЮТ! При исходящих получаю в консоли: Unable to create channel of type 'Datacard' (cause 0 - Unknown) Соответственно ничего не набирается.
В экстеншенах для исходящих одна строчка exten => _X.,1,Dial(Datacard/datacard0/${EXTEN})
Подскажите куда копать? Может Aster 1.8 не может это, или надо как то по другому?
Просмотрев код chan_datacard, я пришел к выводу, что для отправки он может использовать только TEXT mode(AT+CMGF=1), режим PDU(AT+CMGF=0) он не умеет. Соответственно это и является проблемой для отправки СМС на русском языке.
Я прав, или что-то просмотрел?
код для переключения в pdu есть, однако нет кода для формирования pdu пакета
Asterisk 1.6.2.2 При сборке версии 174 вышла ошибка gcc -Wextra -fPIC -DAST_MODULE=\"chan_datacard\" -D_THREAD_SAFE -I. -I/usr/include -O2 -DICONV_CONST="" -D__DEBUG__ -D__MANAGER__ -D__APP__ -c chan_datacard.c In file included from chan_datacard.c:73: chan_datacard.h:263: error: unknown field ‘target_extra’ specified in initializer chan_datacard.h:263: warning: excess elements in struct initializer chan_datacard.h:263: warning: (near initialization for ‘jbconf_default’) In file included from chan_datacard.c:89: __channel.c: In function ‘channel_indicate’: __channel.c:833: error: ‘AST_CONTROL_SRCCHANGE’ undeclared (first use in this function) __channel.c:833: error: (Each undeclared identifier is reported only once __channel.c:833: error: for each function it appears in.) make: *** [chan_datacard.o] Ошибка 1
в файле chan_datacard.h 263 строку закоментировал как тут предлагали на странице 35 в файле __channel.c 833 строку закоментировал
datacard собрался но теперь ошибка прет
[Oct 14 15:46:53] WARNING[16153]: __channel.c:849 channel_indicate: [datacard1] Don't know how to indicate condition 20 [Oct 14 15:46:53] WARNING[16153]: __channel.c:849 channel_indicate: [datacard1] Don't know how to indicate condition 20 [Oct 14 15:46:53] WARNING[16153]: __channel.c:849 channel_indicate: [datacard1] Don't know how to indicate condition 20 [Oct 14 15:46:53] WARNING[16153]: __channel.c:849 channel_indicate: [datacard1] Don't know how to indicate condition 20 но datacard работает пока нормально
подскажите как правильно закоментировать чтобы ошибка не лезла на что это может повлиять
Хочу поделиться информацией по поводу Huawei E150. Достался мне этот модем, как многие писали уже здесь при использовании с chan_datacard наблюдается односторонняя слышимость. Причём при использовании в Win c Mobile Partner всё ок. Решил разобраться в чём проблема. С помощью сниффера посмотрел чем отличается общение с модемом в Win и Linux. Оказалось, что в Linux голосовые данные шлются пакетами (URB) по 64 байта, а в Win по 320 байт и после каждой посылки отсылается магический пустой пакет в 0 байт. Решил поэкспериментировать в Linux написал маленькую программку, которая дозванивается мне на телефон и играет голосовой поток из файла. Эксперимент увенчался успехом. Решил пропатчить chan_datacard, после патча он заработал. Я выложил на GitHub эту версию http://github.com/Novax/chan_datacard-huawei-e150
Прошу рассматривать этот патч, как concept poof, потому что работа возможна только с одним подключенным модемом e150 и не работают входящие звонки(буду фиксить). Я планирую использовать эту версию в DIR-320 с одним модемом, поэтому поддержка множества модемов мне в принципе не нужна.
Установка в Ubuntu:
Code:
apt-get install libusb-1.0 git git clone git://github.com/Novax/chan_datacard-huawei-e150.git cd chan_datacard-huawei-e150/ ./configure make install
В принципе есть более изящное решение, написать модуль ядра, но есть проблема pid и vid у модемов e150 и e1550 одинаковый, так что не понятно, когда какой драйвер подгружать. Возможно e1550 будет работать с ошибками в таком режиме.
Dmitry2006, хочу перейти на таймеры, решение с pipe кривое согласен. Под астер пищу впервые, не нашёл внятного описания таймеров Планирую сделать следующие вещи ещё: 1. Поиск девайса по data_tty (c использованием libhal), будет поддержка нескольких модемов. 2. Сброс буфера в модеме, сейчас при звонке в начале слышно пару секунд предыдущего разговора.
Собрал Asterisk 1.6.2.13 ядро 2.6.33.5 Hauwei E1550 (мегафон, разлочен, в win звонит) изначально была прошивка 11.608.14.15.311 - звук в одну сторону, отбой не делал после первого же звонка приходилось перезапускать * иначе "абонент не абонент" при 2м звонке. поставил 11.608.13.02.00 (30Мб) - звук в одну сторону, отбой отрабатывает, но теперь при 2м звонке гудки и * не видит входящий. нашел 11.608.12.00.143 но она почему то 15Мб (md5 b240a6026b3171ccb125d45c8aa20edb) и говорит что модем не 155х может кто то выложить 11.608.12.00.143 ?
Dmitry2006, таймер пашет проверил на локальной машине
VoIP*CLI> timing test Attempting to test a timer with 50 ticks per second. Using the 'timerfd' timing module for this test. It has been 1000 milliseconds, and we got 50 timer ticks
и на удаленной виртуалке, где сейчас трудится chan_datacard с моим патчем
VoIP*CLI> timing test Attempting to test a timer with 50 ticks per second. Using the 'timerfd' timing module for this test. It has been 1000 milliseconds, and we got 49 timer ticks
Надо будет попробовать на DIR-320, проц ведь там слабенький.
Оригинальный chan_datacard вёл себя следующим образом, входящий/исходящий вызов не важно, я через сипфон слышу что мне говорят, меня не слышат. Даже точнее так слышно обрывки очень короткие похожи на шум при первом звонке секун эдак 5, потом тишина, тишина и при последующих звонках, пока модем не передернешь. Модем напоминаю E150.
Подскажите как передернуть модем если к машине нет физического доступа (до неё 40 км.). Reboot не помогает, только полное выключение->включение питания сервера или вытыкание->втыкание модемов.
Code:
Datacard datacard5 trying to connect on /dev/ttyUSB17... [Oct 21 13:16:19] WARNING[1198]: chan_datacard.c:108 opentty: Unable to open '/dev/ttyUSB17
2Zoleg в новой версии chan_datacard есть такая функция datacard reset она ресетит модем, помогает как передергивание, ты главное следи к каким портам он подцепиться
datacard reset не всегда помогает = помогает скрипт опубликованный в этой ветке чуть ранее - он отключает питание порта -равноценен перетыканию - у меня работает
# Filename: gsm-keeper # Purpose: This script checking for datacards which have state "Busy" # Authors: asteriskforum' users (asteriskforum.ru), (c) Sergey Fenko
Dmitry2006, прав не работают таймеры под OpenWrt на DIR-320. А без них chan_datacard нормально работать не будет Пропатчил сейчас uclibc, добавил туда поддержку timerfd в транке кстати она, есть openwrt юзает версию не первой свежести просто. Собираю прошивку посмотрим будет ли работать.
Кстати, собрал по нормальному chan_datacard под openwrt, пакетом с зависимостями от астера и iconv. А не тем способом, где надо успеть, который описывался здесь ранее. Если кому интересно выложу репу с скомпиленным пакетом.
Рассказываю, как я компилил chan_datacard в OpenWrt. Сначала пытался компилить в полном окружении OpenWrt, но задумчивость его меня быстро утомила. И я перешёл на SDK, как им пользоваться написано тут http://wiki.openwrt.org/doc/howto/sdk.
Было лень разбираться с зависимостями поэтому подлил в папку package пакеты asterisk-1.6.x, все пакеты из папки feeds/packages/libs и package основного билд окружения openwrt. Написал Makefile для chan_datacard за основу взял файл с форума openwrt, ссылка здесь пробегала уже (с ним не компилилось). Сделал папку asterisk16-chan-datacard в него кинул Makefile.
Code:
make package/asterisk-1.6.x/compile V=99 make package/asterisk16-chan-datacard/compile V=99
И ничего не получилось. Не нашлись хидеры астера. Пришлось руками скопировать папку build_dir/target-mipsel_uClibc-0.9.30.1/asterisk-1.6.2.13/ipkg-install/usr в staging_dir/target-mipsel_uClibc-0.9.30.1/usr, после этого chan_datacard опять ругнулся но уже на команде strip, поставил binutils-multiarch, всё собралось.
Залил на девайс, поправил конфиг datacard.conf, опять неудача не может найти функцию ast_register_file_version. Сделал патч, который удаляет из chan_datacard.c макрос ASTERISK_FILE_VERSION(__FILE__, "$Rev$")
Собрал, залил. Победа! chan_datacard работает! Но таймеры нет (без них даже нет смысла пробовать звонить), пока не завёл таймеры в астериске. С поддержкой таймеров астер скомпилил, но он говорит сейчас: "Не могу открыть timerfd". Видимо надо пересобрать начисто всё. Сегодня вечером буду пробовать.
Кто-нибудь использует dtmf вместе с chan_datacard? У меня получаются постоянные задвоения и затроения цифр
Хотя пробовал и relaxdtmf, и в codecs.conf отключил vad, и поставил непосредственно в exten'е exten => s,n,SIPdtmfMode(rfc2833) всех возможных вариаций (самым лучшим оказался rfc2833, остальные проглатывали цифры, или давали ошибочную цифру).
Испытывал те же самые проблемы на rev. 162 в итоге изменил channel.c у астера, чтобы не задваивал цифры.
в rev. 173 написано: Improved GSM -> Asterisk DTMF detection кто нибудь проверял? есть ли изменения к лучшему?
народ а кто нибудь собирал chan_datacard под asterisk 1.8.0 ?
отвечаю сам на свой вопрос
Code:
svn co http://www.makhutov.org/svn/chan_datacard/trunk/ chan_datacard cd ~/chan_datacard/ svn up -r 159 ./configure make install
159 ревизия как раз для Asterisk 1.8
Added after 3 hours 46 minutes:
mishagli wrote:
Asterisk 1.8 RC2 Делал всё по HOWTO. ВХОДЯЩИЕ РАБОТАЮТ! При исходящих получаю в консоли: Unable to create channel of type 'Datacard' (cause 0 - Unknown) Соответственно ничего не набирается.
В экстеншенах для исходящих одна строчка exten => _X.,1,Dial(Datacard/datacard0/${EXTEN})
Подскажите куда копать? Может Aster 1.8 не может это, или надо как то по другому?
присоединяюсь к вопросу такая же ситуация на asterisk 1.8 Unable to create channel of type 'Datacard' (cause 0 - Unknown)
p.s. на версию 1.6 обратно не хочу переходить там нет SRTP
Эти фишки срабатывают тогда когда datacard обнаружен, но что то с ним не так. В моем случаи был простой отвал самого USB порта. А вот как его передернуть я так и не нашел, ждал пока у компа появятся живые люди и нажмут кнопку включения питания после мое shutdown. Толкового в инете ничего не нарыл. Пока вопрос открыт.
OpenWrt*CLI> timing test Attempting to test a timer with 50 ticks per second. Using the 'timerfd' timing module for this test. It has been 1000 milliseconds, and we got 50 timer ticks
Всем доброго времени суток. Помогите пожалуйста с chan_datacard Модем Huawei E1550 Asterisk 1_6_2 chan_datacard rev 175 За модем отвалил 1_5 штуки, без залочки, под виндой голос идет нормально(через Mobile Partner) Хотя можно было от мтс за 600 и разлочить. Проблема следующаяя - когда звонишь на него, то x-lite звонит, предупреждает о входящем звонке, но как только снимаешь трубку, то тишина, через 4сек звонок обрывается, астериск ругается ERROR[3547] __at_response.c: [datacard0] Error checking subscriber phone number Где может быть затык?
Видим, что используются таймеры функции ast_timer_open (), ast_timer_fd (pvt->a_timer). Но если таймер не открылся ничего криминального не произойдет, работать будет.
ИМХО, таймеры нужны для записи через равные промежутки времени голосового потока в модем (это кстати подтверждает один из разработчиков). Когда я тестил свой модем E150, он замолкал и уже не передавал поток, если опоздать с записью хоть на пару мс, реально в тестовой программе (не под астером она крутилась, чистый Си под Linux) подбирал значение задержки (usleep) пока не заработало, можно было прикрутить таймер но было лень. Так вот моё мнение, зачем всё таки таймеры. Прошу не рассматривать это как факт, под астер я пишу первый раз тонкостей его не знаю. Помойму запись в канал таймится по RTP, если не прицеплен таймер. Т.е. пришёл RTP пакет записали в канал данные. Но вот может быть момент когда RTP пакет не придет во время (в локалке конечно шанс этого мал) и модем заглохнет. После того как модем заглох у меня лично помогало только его передёргивание.
Я не навязываю кому-то использование таймеров, работает без них и хорошо. Я планирую использовать datacard удаленно, он будет от меня за 1000 верст и подключатся к астеру я буду через инет. И таймеры мне нужны.
A нужен ли таймер вообще? Я здесь собирал опенврт для х86-архитектуры, и я ничто на счёт таймера не настраивал, но chan_datacard работает всё равно.
Присоединяюсь к вопросу. У меня chan_datacard уже бесперебойно работает на OpenWRT Asus wl500Gp. Зачем нужен таймер?
Уважаемый Stan не могли бы вы написать мануал по установке asterisk 1.6, а так же chan_datacard для WL500GP Интересует Какую использовали прошивку роутера ? какой версии ставили Asterisk откуда и как как собирали chan_datacard какой ревизии ? какие делали патчи в общем все тонкости
Я понимаю что прошу проделать немалую работу, но это многим людям облегчит жизнь. Заранее благодарен.
p.s. У самого не получилось запустить E1550 + RT-N16 (модем видит, звонит, но при поднятии трубки сбрасывается) перенес Asterisk на PC
2Stan, elected Начал писать how-to но тока время сейчас нету некого, если у кого будет желаени, перекинуть в wiki то можно общими усилиями дописать граматный ман.
Здесь начал и немного про сборку прошивки уточнил. Сильно нагами не топчите.
Вообщем назревало давно. Идея пришла сразу, навыков мало было поэтому долго обучался и пытался чето своять. Тему создал чтобы описать как я все сделал, может кто-то что-то лучше придумает, дополнит. Плюс будем собирать баги. Итак приступим. В ранних версиях chan_datacard (не помню до какой, кто помнит скажите) была поддержка ядра 2.6.30+, ну так по крайней мере писал (ubuntu 9.10) latv в своем How-to. Исходя из этого следовало выбрать прошивку хотябы с таким ядром, взял open wrt Backfire 10.03 ( ядром 2.6.32.10). Пршивку собирал на Ubuntu, в сборку вошли модули необходимы для работы брелков, а также работы флешки. Поскольку памяти маловато, поэтому прийдется использовать флешку для размещения на ней различных дистрибутивов в том числе asterisk. качаем исходники open wrt svn co svn://svn.openwrt.org/openwrt/branches/backfire dir320 2)переходим в каталог dir-320 cd dir320 3)далее получаем исходники всех необходимых пакетов для сборки ./scripts/feeds update -a && ./scripts/feeds install -a 4)собираем tools и toolchain нужной архетиктуры make prereq && make tools/install && make toolchain/install захоидим в меню конфигурации прошивки make menuconfig
Target System ---> Broadcom BCM947xx/953xx // Ядро 2.6.
Image configuration ---> LAN IP Address ---> 192.168.120.1 // Здесь указываем ip который будет иметь роутер по умолчанию.
Kernel modules ---> Filesystems ---> kmod-fs-ext2 // Обязательно в прошивку нужно включить модуль файловой системы, для успешного ее монтирования на этапе запуска системы. Kernel modules ---> USB Support ---> kmod-usb-core // Модуль USB поддержки
Kernel modules ---> USB Support ---> kmod-usb-ohci // Модуль поддержки контроллеров USB 2.0, для хаба
Kernel modules ---> USB Support ---> kmod-usb-storage // Модуль поддержки USB накопителей.
Kernel modules ---> USB Support ---> kmod-usb2 // Модуль USB 2.0
Kernel modules ---> USB Support ---> kmod-usb-serial// это для поддержки модема
Kernel modules ---> USB Support ---> kmod-usb-serial-option// это тоже
Kernel modules ---> USB Support ---> kmod-usb-serial-oti6858// и это
Base system ---> block-mount// для того чтобы флешка была рут разделом
Utilities ---> Filesystem ---> e2fsprogs//для того чтобы флешка была рут разделом
Utilities ---> disc ---> block-extroo// для того чтобы флешка была рут разделом
Вроде ты разбираешся в программировании лучше чем я, utya и.т.д. Присоединись к Артёму и Дмитрию - две головы хорошо, а три ещё лучше
По моему под виндом всё это дело (звонить в GSM) лучше пашет, чем под линуксом. И ты вроде сможешь скопировать это, чтобы всё так-же хорошо работало и под лином.
Ребята, извините немного не в тему. Пытаюсь теперь это всё прикрутить к CRM (пробовал Sugar, vTiger, сейчас остановился на MS CRM 4). Везде одна проблема - передача CID. если пишу так
то на телефонном аппарате (Fanvil BW210) отображается DATACARD0 и программный модуль на клиентском ПК тоже получает DATACARD0 вместо собственно CID а если пишу
то телефон отображает CID, а модуль говорит unknown КАК собственно сделать, чтоб вместо DATACARD0 передавлся CID...... Или API не зависимо от строк в екстеншене отправляет не то. Помогите разобраться пожалуйста или отправьте туда, где про это написано
P.S.: c CLID надо шаманить? _________________ ВЕК ЖИВИ - ВЕК УЧИСЬ
to Zlat Спасибо, завтра попробую. А то уже до одури дошел ---передаваемый CALLERID(num) поставил в двойные кавычки....и блин работает , только с перебоями (может из-за потери связи с *) _________________ ВЕК ЖИВИ - ВЕК УЧИСЬ
to anest Uduntu тогда нужно ставить 64-разрядную вот здесь написано http://www.freepbx.org/forum/freepbx/ins ... stallation собственно про установку 1.8 , но ничего не сказано про доп пакеты и собственно про требования к конфигурации ОС. _________________ ВЕК ЖИВИ - ВЕК УЧИСЬ
Отзовитесь, кто ставил *1.8 на Ubuntu 10.04 для датакард (Е1550) Какие нужно решить зависимости (установить доп. пакеты - libxml2-dev,libncurses5-dev.....) и установить модули для * (libpri,dahdi-tools,dahdi-linux,zaptel.....). Поделитесь опытом установки, как работают Е1550? Хочу попробовать, потестить. Может она лучше 1.6..... Какие траблы ожидают?
И ещё один вопрос - процессор Intel ION D510 компилятору скармливать как i586 или как i686?
Сорри за оффтоп, но цель одна - качественная работа datacard
У меня стоит пропатченная версия chan_datacard 175 на asterisk 1.8 брать отсюда: http://iqlab.ru/downloads/chan_datacard-175-1.8.zip по субъективному взгляду она даже стабильнее чем на 1.6 в консоль меньше WARING сыпет входящие исходящие работают DTMF тоже как раз на Ubuntu Server 10.04 LTS с модемом E1550
В общем каких то особенных глюков по сравнению с 1.6 не заметил
to elected Вчера поставил 1.8, при установке datacard были warning. На этом и остановился. Но есть еще вопросы- нужно ли кроме самого пакета Asterisk-1.8 ещё что-то ставить? И FreePBX-2.8 с ней не дружит?.....а web-морда нужна всё же. _________________ ВЕК ЖИВИ - ВЕК УЧИСЬ
Не могли бы Вы в wiki выложить свой скрипт gsm-keeper, он очень полезный. Изменил в нем одну строку /usr/sbin/asterisk -rx "datacard show devices" | egrep -wi 'busy|not' | awk '{print $1}' | sed "/$NPATT-*/!d" | sort
У меня модемы периодически переходят не только в состояние "Busy", но и "Not Connected" Когда "Not Connected" - помогает только hard reset, для этого и поменял grep -i 'busy' на egrep -wi 'busy|not'
2 movcale, спасибо за ваш отзыв. Скажите, когда астериск не видит модем ("Not Connected") у вас всё еще остаются файлы сформированне udev, этого модема в папке dev, (чтобы через udevadm можно было определить номер usb порта), т.е. выполнив:
Code:
udevadm info --attribute-walk --name=$(sed -rn "/ *\t*/s///g;/^\[$DATACARDNAME\]/,/^\[/!d;/^data=/{s///;/(.*)(\;.*)/s//\1/p}" /etc/asterisk/datacard.conf) | sed -r '/ *\t*\"*/s///g;/KERNELS==|ATTRS\{(bus|dev)num\}==/!d;s///' | sed ':M;N;s/\n/ /;tM;q' | sed -r 's/[^ ]+ [^ ]+ [^ ]*(.) [^ ]+ [^ ]+ [^ ]+ ([^ ]+) ([^ ]+) .*/\2 \3 \1/'
покажет bus device port ?
До wiki еще далеко, надо чтоб кто-то из добрых людей ... "каркас" по datacardy сделал. А так, додумать... допилить... и выложу обновлённые скрипты.
to elected Вчера поставил 1.8, при установке datacard были warning. На этом и остановился. Но есть еще вопросы- нужно ли кроме самого пакета Asterisk-1.8 ещё что-то ставить? И FreePBX-2.8 с ней не дружит?.....а web-морда нужна всё же.
WEB на астрериск 1.8 не прикручивал еще файлы ковыряю как то привычнее кроме пакета asterisk ставил пакеты: g++ libncurses-dev libxml2-dev subversion
далее как обычно # ./configure # make install # make config # make samples
To GIN: когда незнаешь пакеты полезно yum groupinstall "Development Tools" "Development Libraries" "Legacy Software Development"
ошибка -71 (помехи по питанию - вылечил заменой упс APC 500 на более качественный и отключил dvd-rw (возмозможно просто надо качественный блок питания - при замене 3 вариантов 400 ватт наблюдалось разное ухудшение возможно не попался хороший ).
udevadm info --attribute-walk --name=$(sed -rn "/ *\t*/s///g;/^\[$DATACARDNAME\]/,/^\[/!d;/^data=/{s///;/(.*)(\;.*)/s//\1/p}" /etc/asterisk/datacard.conf) | sed -r '/ *\t*\"*/s///g;/KERNELS==|ATTRS\{(bus|dev)num\}==/!d;s///' | sed ':M;N;s/\n/ /;tM;q' | sed -r 's/[^ ]+ [^ ]+ [^ ]*(.) [^ ]+ [^ ]+ [^ ]+ ([^ ]+) ([^ ]+) .*/\2 \3 \1/'
SERGII, это слишком сложная команда, получаю синтаксическую ошибку, даже указав $DATACARDNAME как datacard6
У меня, собственно, все работает и с существующим скриптом, например:
Code:
[datacard6] audio=/dev/ttyUSB7 ; tty for audio connection data=/dev/ttyUSB8 ; tty for AT commands
где 6 - это физический номер порта в хабе dlink dub h7. gsm keeper выключает и включает питание usb порта в хабе по этой цифре. переподключение модема всегда происходит на /dev/ttyUSB7 и /dev/ttyUSB8, те правила для udev не нужны. по крайней мере у меня так. система debian и asterisk 1.6.2.13
Всем привет. Кто сталкивался с проблемой? астер отказывается звонить через E1550(( в лог пишет следующее
[Nov 2 19:14:36] WARNING[2759]: __channel.c:107 channel_request: Can't determine destination [Nov 2 19:14:36] WARNING[2759]: app_dial.c:1750 dial_exec_full: Unable to create channel of type 'Datacard' (cause 88 - Incompatible destination)
Ubuntu 10_04 LTS + E1550, модем разлоченый с рождения, под виндой с голосом все нормально. chan_datacard 175 2 elected ты говоришь, что у тебя все работает под убунтой, можешь поделиться опытом, как ставил астер и датакард? если не сложно
запустил в режиме отладки, но ничего не прояснилось толком Using SIP RTP CoS mark 5 -- Executing [89507933322@office:1] Dial("SIP/200-00000000", "Datacard/datacard089507933322") in new stack [Nov 2 19:39:31] WARNING[3227]: __channel.c:107 channel_request: Can't determine destination [Nov 2 19:39:31] WARNING[3227]: app_dial.c:1750 dial_exec_full: Unable to create channel of type 'Datacard' (cause 88 - Incompatible destination) == Everyone is busy/congested at this time (1:0/0/1) -- Auto fallthrough, channel 'SIP/200-00000000' status is 'CHANUNAVAIL' модуль определяется корректно, видна инфа о модеме и симке, но звонить ну никак не хотит(( Даже смски принимает, но не звонит((
to andgre да, спасибо)) Я правда уже нашел)) Пришлось как следует покапаться в исходничках, перекомпилить их, чтобы вытянуть из них нужную инфу.... ERROR[4926]: __at_response.c:700 at_response_error: [datacard0] Error checking subscriber phone number кстати про этот баг ничего не знаешь? а то снова ковырять код оч не охота(( PS я конфиги скопипастил с одного сайта, видимо там схавали слэш)) Просто в астере новичок, и даже не думал в надобности этого слэша
Ubuntu 10_04 LTS + E1550, модем разлоченый с рождения, под виндой с голосом все нормально. chan_datacard 175 2 elected ты говоришь, что у тебя все работает под убунтой, можешь поделиться опытом, как ставил астер и датакард? если не сложно
Да совершенно верно у меня работает 2 конфигурации на Ubuntu 10.04 Server LTS одна с Aterisk 1.6.13 другая с Asterisk 1.8.0 Release итак описываю свои действия с самого начала: Предисловие: Заведомо рабочие прошивки модема E 1550 (firmware - не путать с dashboard): МТС 11.608.12.00.143 11.608.14.15.311 ссылка на прошивку http://depositfiles.com/ru/files/sz0ljt8q4
Нерабочая firmware: Мегафон 11.608.12.10.209 -при активированном голосе из под винды звонит, из под Linux - нет.
Рекомендованное ядро Linux 2.6.33+
Итак приступим: 1. Покупка модема модема Huawei E1550 (МТС) c прошивкой 11.608.12.00.143 2. Разлочка код разлочки генерируем тут (подставляем IMEI модема получаем код разлочки) http://a-zgsm.com/huawei.php 3. Программу для разлочки прикладываю Unlock.exe 4. В Windows запускаем терминал (Гиперерминал) (Модем должен быть отключён от интернета) 5. Выставьте COM порт (Huawei Mobile Connect 3G Modem) 6. Нажимаем "Connect" 7. В нижней строке прописываем команду AT и нажимаем ENTER в ответ модем должен написать "OK" 8. Теперь вводим команду:AT^U2DIAG=0 (девайс в режиме только модем) 9. Отсоединяем модем и снова подсоединяем 10 Установка Asterisk из исходников
Code:
# mkdir /usr/src # cd /usr/src # wget http://downloads.asterisk.org/pub/telephony/asterisk/asterisk-1.6.2-current.tar.gz # tar zxvf asterisk-1.6.2-current.tar.gz # cd asterisk-1.6.2-current.tar.gz # apt-get install g++ libncurses-dev libxml2-dev subversion # ./configure # make install # make config # make samples
# svn co http://www.makhutov.org/svn/chan_datacard/trunk/ chan_datacard # cd ~/chan_datacard/ # ./configure # make install # cp ~/chan_datacard/etc/datacard.conf /etc/asterisk
Убедимся что модем Huawei E1550 определился в системе
Code:
ls /dev | grep USB ttyUSB0 ttyUSB1 ttyUSB2
редактируем /etc/asterisk/datacard.conf
Code:
[datacard0]
context=datacard-incoming ; context for incoming calls audio=/dev/ttyUSB1 ; tty port for audio connection data=/dev/ttyUSB2 ; tty port for AT commands group=1 ; calling group rxgain=3 ; increase the incoming volume txgain=-4 ; increase the outgoint volume autodeletesms=yes ; auto delete incoming sms resetdatacard=yes ; reset datacard during initialization u2diag=0 ; set U2DIAG parameter (0 = disable everything except modem function) usecallingpres=yes ; use the caller ID presentation or not callingpres=allowed_passed_screen ; set caller ID presentation disablesms=yes ; chan_datacard has currently a bug with SMS reception. When a SMS gets in during a ; call chan_datacard might crash. Enable this option to disable sms reception. ; Default = no
перезапускаем asterisk заходим в консоль
Code:
# /etc/init.d/asterisk restart # asterisk -r
Проверим состояние модема из командной строки Asterisk (CLI).
Code:
boxer*CLI> datacard show devices ID Group State RSSI Mode Submode Provider Name Model Firmware IMEI IMSI Number datacard0 1 Free 24 3 3 MTS RUS E1550 11.608.12.00.143 352965040524215 250016860070453 +7916XXXXXXX boxer*CLI>
Для входящих вызовов, sms и ussd запросов настроим extensions.conf:
exten => _X.,1,Dial(Datacard/g1/${EXTEN}) или exten => _X.,1,Dial(Datacard/datacard0/${EXTEN})
применяем изменения
Code:
boxer*CLI> reload
Проверяем все должно работать
p.s. У меня работает связка 2 сервера на Ubuntu 10.04 Server LTS Мегафон GSM E1550 E1550 GSM life;-) Звонки ходят в обе стороны, хорошая слышимость, шумов нет.
2 elected спасибо, кое-какие шаги я пропустил при установке - разлочку и девайс в режиме "только модем", в остальном все вроде так же...Буду дальше биться головой об стену to andgre Проблема в том, что когда звонишь с модема и вылетает эта ошибка, то chan_datacard рвет с этим модемом связь и посылает на реинициализацию, и пишет сим карта не готова. При чем тыкал и от МТС и от ТЕЛЕ2. Может реально проблема в AT^U2DIAG=0?
to C_Coder попробуйте Предпочитать GPRS/EDGE - AT^SYSCFG=2,1,3FFFFFFF,2,4 или Только GPRS/EDGE - AT^SYSCFG=13,1,3FFFFFFF,2,4 Устройство в режиме только модем - AT^U2DIAG=0 А каково у вас значение RSSI?
Хочу всю эту связку запустить на роутерах RT-N16 только что то не получается при звонке через chan_datacard после поднятия трубки соединение разрывается segmentation fault
to andgre ID Group State RSSI Mode Submode Provider Name Model Firmware IMEI IMSI datacard0 1 Free 18 0 0 MTS RUS E1550 11.608.12.10.209 353443040829470 250013983148527 сейчас попробую с командами пошаманить, которые ты написал, может поможет
C_Coder у вас прошивка модема 11.608.12.10.209 с ней работать не будет !!! смените прошивку на 11.608.14.15.311 http://depositfiles.com/ru/files/sz0ljt8q4 или на 11.608.12.00.143
elected огромный респект!!!! и всем ,кто принимал участие в обсуждении!!! It works! кстати когда читал статью на voip.org(или не там,хз) то про прошивку видел прикол, но не придал этому значения, так как подумал, что это проблема чисто мегафона. Вот как бывает, когда не уделяешь внимания, казалось бы, мелочам.... Еще раз всем спасибо! Кстати, как кач-во звука? У меня просто ужасает, ужасное эхо...Что скажете по этому поводу? Кстати, чуть не забыл. После прошивки модем, почему-то сменил адреса портов..было USB1 USB2, после попытки запуска встретился fatal error , после того как на рандом прибавил по еденичке к адресам, то все заработало Вдруг у кого-то такая-же свистопляска начнется.....
Я ищу кого-нибудь кто пользуется chan_datacard и находится на территории Казахстана, Узбекистана, Израиля, России или Армении. Просто надо пару часов в неделю траффика. Поделюсь с удовольствием и своим трафиком (есть куча халявный направлений). Знаю что ОТ, но куда же ещё писать. Если кто есть, отзовитесь.
Last edited by PsychoMantis on Sat Nov 06, 2010 00:18
В общем есть проблема, думаю у всех так. При входяжем звонке на gsm канал asteriska и последующем переключении на внутреннего sip абонента в gsm канале отсутствуют гудки (просто тишина). как выяснилось ringing asterisk получает, но gsm впринципе не умеет обрабатывать собыия гудков, и просто молчит. по идее надо самим гудеть в gsm канал например через команду playtones(), но с наскоку у меня ничего не получилось, может у кого нибудь есть какие идеи?
правильно бы было чтоб сам модуль datacard обрабатывал события sip и гудел голосом в канал в соответствии с региональными настройками.
elected разпознает ли DTMF сигналы??? e1550 с данной конфигурацией, если все делать по вашему мануалу??
elected разпознает ли DTMF сигналы??? e1550 с данной конфигурацией, если все делать по вашему мануалу??
возможно ли такое что по входящему SMS может перезвонить? (Услуга callme)
Например я вставлю в шлюз 3 штук e1550 с разными симками.
1-Мегафон с 8924-000-00-00 до 8-934-999-99-99 2-МТС с 8-914-000-00-00 до 8-914-999-99-99 3-любой оператор для входящих SMS.
например Клиент с номером абонента от МТС 8-914-000-00-01 отправляет CAllme на номер модема №3. Тогда шлюз звонит с модема №2 МТС на момер клиента МТС.
Клиент поднимает трубку. шлюз сообщает что надо набрать номер в тоновом режиме, он набирает номер с 8-924-000-00-01 Мегафоновский затем происходит набор с модема №1 МЕГФОН на распознанный DTMF номер абонента. когда Мегфоновский клиент берет трубку. Происходит голосовой коннект между модемом №2 МТС и №1 МЕГАФОН.
А если с мегфона на мегафон, Астерикс может создать конференц связь?? То же самое с МТС на МТС.
Возможно ли такое ваобще, кто нить такое делал??? или что то похожее??
Re: elected разпознает ли DTMF сигналы??? e1550 с данной конфигурацией, если все делать по вашему мануалу??
tiuman wrote:
например Клиент с номером абонента от МТС 8-914-000-00-01 отправляет CAllme на номер модема №3. Тогда шлюз звонит с модема №2 МТС на момер клиента МТС.
Клиент поднимает трубку. шлюз сообщает что надо набрать номер в тоновом режиме, он набирает номер с 8-924-000-00-01 Мегафоновский затем происходит набор с модема №1 МЕГФОН на распознанный DTMF номер абонента. когда Мегфоновский клиент берет трубку. Происходит голосовой коннект между модемом №2 МТС и №1 МЕГАФОН.
я делал похожее с голосовым меню, где запрашивается пинкод, а затем предлагается набрать номер, куда необходимо позвонить
не совсем сначала тоже думал дизу+колбек стандартные использовать, но она была в моей версии кривая (freePBX2.8.X) - обратные вызовы 7из10 были неудачны. Поэтому написал вручную обработку. номер и пин - также реализуемо, самое простое это если пин всегда одной длины --- в диалплане приема смс просто режим содержимое на части, например первые 10 цифр - пин, затем пробел или слеш -неважно, а с 12 и до конца уже номер
1) как победили дубли DTMF я пока фильтрую прямо в chan_datacard в приёме после получения из dsp на равенство предыдущему символу и малой длинны предудущего и малой паузы между ними.
Но всё равно бывают дубли и бывает пропадает символ.
Желателен код.
2) Не шлются русские SMS с ошибкой 305 Invalid parameter
Есть ли решение по отсылке SMS в PDU mode ? Желателен код.
3) После ошибки отправки SMS модем тупо сидел в промпте '> ' для тела смс на любую команду. Там есть сообщение на эту тему Надо бы ему 1B (отмену отсылки смс) слать в случае если это обнаружилось.
3) После ошибки отправки SMS модем тупо сидел в промпте '> ' для тела смс на любую команду.
Не может быть. В запросе текста модем сидит ограниченное количество времени. До минты помоему, точне не скажу(набирать PDU-пакет не успевал), дальше возвращает ERROR (ну или ошибочный код). _________________ Slackware 13.1 - Asterisk 1.8
Да я его посмотрел. Там про этот патч пишут что после его применения в PDU начинает не только отправлять но и принимать а код к этому мягко говоря не готов )
Другими словами отправлять можно будет а принимать нет. Я всё правильно понял?
да, ещё добавил language (вроде стандартный параметр для канала а везде пихают en) для канала datacard.conf пока добавить патчик на forge.asterisk.org не могу, ложу сюда, может кому и пригодится чтобы не тыкать в экстен Set(CHANNEL(language)=XX)
ещё, есть ошибка обработки CMS ERROR: т.к. перед ним идёт дубль "\r\n" и at_read_result_iov() сдувается, в результате код продолжает ждать ответа на посылку смс. После else if (rb_memcmp (&pvt->d_read_rb, "\r\n+CSSU:", == 0) {}
кроме того, в at_response_sms_prompt() при ast_log (LOG_ERROR, "[%s] Received sms prompt when expecting '%s' response to '%s', ignoring\n", pvt->id,at_res2str (e->res), at_cmd2str (e->cmd));
Приветствую, наконец-то собрал комп после краха. Система ubuntu 10.10 (2.6.36) сервер, Asterisk 1.8 chan_datacard 175 "1.8" и получил проблему при входящем звонке на модем (E1550 11.608.12.00.143 ) проигрываемый файл звучит как будто его растянули по времени. Пресобрал на Asterisk 1.6 chan_datacard 175 такая-же ерунда. [Nov 12 12:46:50] VERBOSE[7614] pbx.c: == Starting Datacard/datacard0-7841 at datacard-incoming,s,1 failed so falling back to exten 's' [Nov 12 12:46:50] VERBOSE[7614] pbx.c: == Starting Datacard/datacard0-7841 at datacard-incoming,s,1 still failed so falling back to context 'default' [Nov 12 12:46:50] VERBOSE[7614] pbx.c: -- Executing [s@default:1] Playback("Datacard/datacard0-7841", "vm-goodbye") in new stack [Nov 12 12:46:50] VERBOSE[7614] file.c: -- Playing 'vm-goodbye.gsm' (language 'en') Раньше модемы работали на другом компе нормально. Вчем может быть проблема? При входящем звонке с SIP номера на исходящий транк (модем) вызов на телефон проходит соединение устанавливается и тишина в обе стороны. Поставил Редакцию 124 звук пошёл в обе стороны gsmaster (тихий с заиканиями) даже смог ввести пароль и получить доступ к DISA. Вернул назад 175 тишина. Чем отличаются редакции?
0) command queing Теперь все команды модему ложаться в конец, ( а некоторые и за голову) очереди команд в модем. Притом они ещё группированым в задачи. Например, отправить смс задача из двух команд и ответов. Если на первую команду пришёл неверный ответ, выполнение задачи прерывается, если не указанно иное Позвонить - задача на 3 или 2 команды. Ответить - 2 команды. Инициализация - 22 команды. В общем избавился я то этого страшного HARD-Code (а может быть и HARD-Core? . Команды имеют таймаут. Никакого нового потока для заливки данных в модем не используется.
По идее это должно решить проблемы когда команды не синхронизированны между собой, например, пока отправляется СМС после первой команды может пройти какое то время. Что будет если в это вреся нужно сделать Dial()?
Или запуск быстро двух команд на отправку SMS подряд. Понятно, что когда первая команда СРАЗУ уходит в модем несмотря ни на что, а хвост уже либо выбросится либо попадёт не в тот номер - это немножко не то, чего мы ждём.
Вообще у меня руки чешуться уже раздербанить этот chan_datacard на отдельные файлы, а не как сейчас одной кучей. Скрывать символы - задача линкера а не компилятора. Ядро же никто не додумался в одну единицу компиляции стянуть
Ну и как бы есть куче того, что нужно улучшить. Выкинуть 73% инлайнов например, от них там только код опух и тормозит (да да, именно так) memmove() в 99% случаев заменять на memcpy().
usleep(1) в критических по времени циклах - это плохой результат даёт даже на ядре с PREEMPT и частотой прерываний 1000 Гц
И очень хочется видеть что исполнение управляется данными, а не кодом.
1) DTMF duplication
Проверяет если символ совпал с предыдущим если текущий или предыдущий короткий и если между ними незначительная пауза. Вроде как около 70-80% повторов срезает
2) unhandled CMS ERROR patch
Ну тут просто явный баг который весил в очереди ответ от команды, на которую уже послал модем.
Есть следующая последовательность, в результате которой голос на телефон1 не идёт. Какую команду нужно выдать, чтобы голос после встревания call waiting вернулся?
звук в телефоне2 есть. Телефон2 заканчивает звонок +CEND: la la la
Первый звонок остаётся в HOLD состоянии CLSS? +CLSS: +CLCC: 1,1,1,0,0, NUM1
Попытка вернуть обратно AT+CHLD=22 AT^DDSETEX=2 Звонок есть звука нет.
попытка вернуть ATA NO CARRIER и приехали с disconnected
Added after 7 minutes:
Quote:
после этого все работает, но после перезагрузки сервера опять не видит huawei 1550. Приходится вновь набирать эти команды. Видимо нехватает прав? Как это автоматизировать? Это первый вопрос. И второй, удалось ли кому либо победить плохое качество голоса на этом ядре 2.6.18-194.26.1.el5? При звонке на брелок с IP шлюза (sipnet) голос почти не искажается (небольшое метеллическое эхо). Но если позвонит с сотового телефона на брелок почти ничего не слышно. Исходящие с брелка протестировать не могу не хватает денег для звонка Да и еще все дело крутиться на wmware workstation. Asterisk 1.6.2.13. Возможно есть способ пересобрать ядро?
/dev/ttyUSB* создаюся udevd man udev
в частности в настройках udev можно прописать какой юзер-группе будет принадлежать файлы устройств и пермишены. можно просто пускать asterisk с группой dialout которые имеют право на файлы устройств.
rxgain= txgain=
ядро старовато. vmware на нормальной тачке вроде понятет. Но нативный лучше.
Да ядро старое согласен. На ubunte 10.10 все работает хорошо. Делаю из-под root /dev/ttyUSB* - отказано в доступе? я в nix не силен. Буду признателен если напишеш подробнее как команда будет выглядеть?
товарищи, тут такая ситуация, чето както маловато стало e1550(мтс), поэтому такой вопрос, кто реально какие модемы юзал и они работали без проблем, с какими прошивками, просьба описаться, заодно создадим список, моделей с прошивками. К примеру е150, как пойдет?
Господа , кто пользует много брелков одновременно , подскажите как вы реализовали функцию отзвона ... то есть :
Номер "А" звонит на номер "Б" через модем , у номера "Б" определяется соответсвенно номер симки модема. С номера "Б" звонят на номер симки , * "лезет в базу , смотрит в хрустальный шар , делает что угодно" , но звонок уходит обратно абоненту "А". Уже голову сломал как это сделать , думаю решение лежит на поверхности , но как-то не могу додуиатся.
Уже купил модем МТС Россия разлок проша 11.608.14.15.311. Голос не идет хоть тресни. Уже врубил exten => s,1,Answer exten => s,n,Wait(1) exten => s,n,Playback(demo-congrats) exten => s,n,Hangup() Звука нет и пипец(((
В винде голос есть
Last edited by cfcnightmare on Tue Nov 23, 2010 16:53
Danke utya. Поставил время на 2008 - программа пашет.
@ sael Когда звонишь, делаешь Set(DB(gsm-routing/+${EXTEN:2})=${CALLERID(num)}) а когда принимаешь звонок, делаешь ExecIf($[${DB_EXISTS(gsm-routing/${CALLERID(num)})}]?Goto(default,${DB_RESULT},1):Hangup)) Так работает у меня уже давно.
Last edited by PsychoMantis on Wed Nov 24, 2010 01:39
Galaxy, поделюсь . НАсколько я понимаю — голоса нет только с одной стороны? Это значит, что Вам надо попробовать почитатать и применить то, что написано здесь http://asterisk-pbx.ru/wiki/doku.php/nat (если давать ссылки не запрещено, а то кнопки цитирования я уже лишился .
В моем случае был двойной нат. Проблему с модемом отмел сразу, как удалось проиграть тестовый звук в телефон. Вот тогда-то вариантов и не осталось. Сделал все, как описано в статье для своего случая... Сразу не помогло, пока не разбекапил файл /etc/asterisk/sip.conf.0 в файл настроек сипа. Попробуйте, должно все у Вас получиться.
Программа, как активировать воис пашет. Cпасибо ещё раз @ utya. Немного подменил пару байтов и поставил сюда и так же здесь. Просто заменить так надо какую-нибудь строку на свой IMEI и unlock-code и запустить программу. Потом она активирует Voice и блокирует модем под МТС. Но потом можно просто разблокировать симлок с сайтами как эти. Потом получается что Voice is enabled and the sim-lock is removed.
седня купил e1550 от Мегафон буду пробовать. Вообщем подитожу программа с сайта мтс разлачивает любой модем, но только если в базе есть imei вашего брелка. Для это открываем прошиватель в хексе и правим. Ссылк0 на подробную инструкциию и программы. Товарищи давайте уже или тему открывать отдельную и там все структурировать: 1) какое ядро 2) какой модем 3) какая прошивка и т.д. или на google подымать проект, а то в теме много вопросов по настройке, и иногда важная информация быстро "забывается".
toldi Спасибо за ссылку, но этот материал я уже читал. К сожалению пока он мне не помог. А выложить настройки в основных файлах конфигурации как я понял не судьба? Иногда лучше один раз увидеть, чем 100 раз услышать...
P.S. Кнопку "Цитирование" ни у кого не вижу. Видать проблема с сайтом.
Скорее всего в модеме E1550 есть баг при работе с call waiting / hold
В общем беда такая, что если любой активный или удерживаемый вызов прекращается с любой стороны то звука на всех других вызовах уже не будет Пробовал и так и этак - нету его, заблудился где то в дебрях прошивки.
Пробовал на Nokia те же команды, звук есть.
Сценарий теста, можете проверить ATE звоним на модем приходит: RING RING принимаем вызов ATA AT^DDSETEX=2 в этот момент можно начать что-нибуть писать в audio порт модема. Снизу перловка которая пишет. если звук в телефоне слышно звоним с другого телефона на модем приходит: +CCWA: +CCWA:
принимаем второй вызов и удерживаем первый AT+CHLD=2 переключаемся наоборот AT+CHLD=2 и опять AT+CHLD=2 и опять AT+CHLD=2
список соединений AT+CLCC
ну а теперь на любом телефоне жмём кнопку отбой прийдёт +CEND: и даже если отбой жали на удерживаемом телефоне звук в активном пропадает.
Проверьте, у вас так?
Программа
Code:
#!/usr/bin/perl
use strict; use Time::HiRes qw(time sleep);
my $buf; my $prev = time(); my $each = 20/1000.0; my $prevs = 0;
die("can't open file $!\n") unless open(FD, "boomer.wav"); # 16 bit 8000Hz Mono
наверное только у меня руки из попы выросли((( все уже настроили а я уже 3 раз систему ставлю. а звука все нет!(Даже в тесте) может Ubuntu 10.10 server не подходит. х.з
2Galaxy команда AT^CVOICE=? возвращает что значение ит так 0. вот часть дебага [Nov 25 11] VERBOSE[1410] pbx.c: -- Executing [s@datacard-incoming] Answer("Datacard/datacard0-d456", "") in new stack [Nov 25 11] DEBUG[1232] __channel.c: Checking device state for device datacard0 [Nov 25 11] DEBUG[1410] __channel.c: [datacard0] Requested indication -1 [Nov 25 11] DEBUG[1376] __at_response.c: [datacard0] Answer sent successfully [Nov 25 11] DEBUG[1376] __at_response.c: [datacard0] AT^DDSETEX sent successfully [Nov 25 11] DEBUG[1410] pbx.c: Launching 'Playback' [Nov 25 11] VERBOSE[1410] pbx.c: -- Executing [s@datacard-incoming] Playback("Datacard/datacard0-d456", "demo-congrats") in new stack [Nov 25 11] DEBUG[1410] channel.c: Set channel Datacard/datacard0-d456 to write format gsm [Nov 25 11] DEBUG[1410] channel.c: Scheduling timer at (50 requested / 50 actual) timer ticks per second [Nov 25 11] VERBOSE[1410] file.c: -- Playing 'demo-congrats.gsm' (language 'en') [Nov 25 11] DEBUG[1410] __channel.c: [datacard0] Write error! [Nov 25 11] DEBUG[1410] __channel.c: [datacard0] Read error 19, going to wait for new connection наверное дело в Ubuntu 10.10
#define ENODEV 19 /* No such device */
что написано в audio= ?
что пишет драйвер option в dmesg?
dd if=/dev/?audio of=/dev/null bs=320 count=1 что говорит?
Added after 14 minutes:
в общем и целом запинал Call Waiting/Hold
Что позволяет делать ВХОДЯЩИЕ 1) На входящий удерживаемый запускается тот же context,exten,priority что и на простой входящий. При этом определить кто есть кто можно через функцию ${CHANNEL(callstate)} которая будет 'incoming' или 'waiting'
2) Ответ на этот удерживаемый вызов активирует его, а первый перевод в состояние held При этом выполнение его по dialplan'у продолжается.
3) Тот канал, который в состоянии held может попробовать перевести себя в состояние active Set(CHANNEL(callstate)=active) а другой звонок перейдёт в состояние held
ИСХОДЯЩИЕ 1) На устройстве на котором уже есть активный звонок можно позвонить exten => s,n,Dial(Datacard/datacard1/holdother:NUMBER) при этом активный сначала перейдет в held, а потом начнётся звонок как обычно Если звонок удался - он будет активным.
2) Также можно в любом канале читать и писать CHANNEL(callstate) по тем же правилам.
Из-за предположительно бага в модеме разрыв любого соединения на любом из каналов устройства приводит к тому, что в оставшихся соединениях будет тишина!
ИСХОДЯЩИЕ 1) На устройстве на котором уже есть активный звонок можно позвонить exten => s,n,Dial(Datacard/datacard1/holdother:NUMBER) при этом активный сначала перейдет в held, а потом начнётся звонок как обычно Если звонок удался - он будет активным.
Звучит не плохо. Где можно скачать эту версию, чтобы протестировать? Нельзя ли спрограммировать такое:
1) На устройстве на котором уже есть активный звонок можно позвонить exten => s,n,Dial(Datacard/s:098765/holdother_conf:NUMBER) при этом активный сначала перейдет в held, а потом начнётся звонок как обычно Если звонок удался, то всё соединяется в конференцию.
интересует коммерческое (рабочее) решение на основе астериска и e1550-подобных модемах требование: смена IMEI стабильная работа при больших нагрузках в линию решения от 16 модемов в один комп детальная инструкция по инсталяции(замене) модемов в систему (прошивание-разблочка), список модемов: мтс-мегафон-билайн россия.
Возможно мой пост будет несколько оффтопом, но не нашел более подходящей темы
Некоторое время назад имел возможность пользоваться модулем chan_datacard для Asterisk. Модуль вполне устроил, но возникла идея портировать его под другой софтсвич. Выбор пал на Yate.
Здесь http://code.google.com/p/yate-datacard/ сейчас выложена первая альфа версия. Сейчас умеет принимать/слать звонки, работать с USSD, принимать SMS. Чесно скажу, что большую часть кода написал не я .
Было бы очень хорошо услышать комментарии людей, тесно работавших с оригинальным модулем.
PS: Так и не смог разобраться, работает ли отсылка СМС в оригинальном модуле?
я думаю нет смысла делать 30 проектов с одним функционалом. Гораздо эффективнее создавать один но очень хороший продукт с поддержкой многих устройств. (просто отделить слой управления устройством и всё)
Сейчас chan_datacard не развивается Artem Makhutov'овым. Он встал даже по багфиксам.
Поэтому и замутили его ветку. По идее надо всё сливать в одно место. Иначе силы будут потрачены на 30 полуживых проектов с отстойным качеством а не на один универсальный, навороченный и стабильный
Added after 3 hours 7 minutes:
Quote:
интересует коммерческое (рабочее) решение на основе астериска и e1550-подобных модемах требование: смена IMEI стабильная работа при больших нагрузках в линию решения от 16 модемов в один комп детальная инструкция по инсталяции(замене) модемов в систему (прошивание-разблочка), список модемов: мтс-мегафон-билайн россия
умею всё
Added after 6 minutes:
Quote:
Звучит не плохо. Где можно скачать эту версию, чтобы протестировать? Нельзя ли спрограммировать такое:
1) На устройстве на котором уже есть активный звонок можно позвонить exten => s,n,Dial(Datacard/s:098765/holdother_conf:NUMBER) при этом активный сначала перейдет в held, а потом начнётся звонок как обычно Если звонок удался, то всё соединяется в конференцию.
Ну я понял чего ты ждёшь сейчас тестирую код для waiting/hold Глюков море.
Например, если успеть до ответа ^CONF: после ATDnum; выпустить в модем команду AT+CHLD=11 то модем перестаёт отдавать результаты в порт data ) притом он продолжает вроде как их принимать. Подобное случается если кто-то быстро на исходящем вызове после звонке нажал кнопарь отбой.
я думаю нет смысла делать 30 проектов с одним функционалом. Гораздо эффективнее создавать один но очень хороший продукт с поддержкой многих устройств. (просто отделить слой управления устройством и всё)
К сожалению, мы не настолько хорошо знаем архитектуру астериска, чтобы продолжать развивать оригинальный модуль Кроме того, под Yate писать, по-моему, проще, чем под Asterisk. Во-первых на С++, во-вторых модули Yate меньше зависят друг от друга, чем в Asterisk.
Кстати, из-за того, что оригинальный модуль был написан на С, портирование, по сути, превратилось в почти полное переписывание кода. От оригинального модуля остался алгоритм инициализации модема, логика менеджера памяти и работа с АТ командами. Работу с аудио полность переписал комрад mc.creat. Так же ДТМФ теперь обрабатывает стандартный модуль tonedetect. Задваивания пока не наблюдалось, но наблюдались потери ДТМФ при низком уровне сигнала на девайсе или на телефоне. SMS и USSD теперь пробрасываются из/в модуль через стандартные сообщения Yate.
Начет стабильности и функциональности -- проект в альфа версии. Баги есть наверняка . И чем быстрее мы их найдем, тем быстрее он перейдет в бету . Не отправляются СМС. Кстати, по коду, по-моему, и в оригинале не должны были отправляться. Но вполне возможно я не прав, если это так, то поправьте меня.
Вы уже имели опыт работы с оригинальным модулем, и знаете что он может, что нет. Наверняка есть пожелания, что бы хотелось, чтоб он умел делать. Эта информация была бы нам весьма полезна.
а ну понял что что Yate не Asterisk ничто в конце концов не мешает в и asterisk модуль на С++ написать ) Работа с audio как таковой в модуле и нет.
Хм... код С жуётся g++ на отлично, там только проблемы со структурами бывают и то оооочеень редко. Ну так и в chan_datacard dsp работает из ядра астериска который DTMF распознаёт и тишину
USSD и SMS можно конечно в chan_datacard и через TEXT фреймы астериска кидать, но для этого придётся сначала создавать Channel и писать туда номер куда отослать нужно... Ничего нереального нет
SMSки отправлять нужно в PDU mode. код есть, можно подсмотреть в smstools
Да, ещё, учитывайте при разработке, что модемы эти по голосу весьма глюкавые
ZTE K3565-Z Firmware : BD_P673A2V1.0.0B09 это не совсем аналог Е169 или K3565 поэтому идет which contains an unbranded dashboard and drivers. То есть он не подвластен ни HW, ни ZTE. Сделан на чипе Qualcomm MSM6246 в отличии MSM7200 на котором работают Е169 и поздние K3565. Наверно ZTE сами чего дописали чтоб приклеить Firmware 169 к железу от K3565 (или наоборот). отсюда проблемы. Что интересно K3565 дает 3,6 MBit/s, а K3565-Z 7,2 MBit/s? что дает основание предположить о смеси бульдога и носорога. По непроверенным данным в нем используется прошивка на основе E1762 в которой нет голоса.
Можно только на виндозном порте под родной управлялкой посмотреть чего он посылает и получает.
Я не понял предыдущего вопроса. Возможно # cat 8000khz-16bit-mono.pcm > /dev/ttyUSB1 дадут ответ
baldden wrote:
только что собрал последний релиз, что то случилось с смс, когда отправляешь приходит непонятно что, отправлял два раза латиницей.
в последнем ничего не менял, возможно в одном из предыдущих GSM 7 Bit неверно работает. Если все символы можно в 7 бит запихнуть он так и делает. Всё сказанное касается только PDU mode.
datacard.conf [000101] context=from-gsm ; context для входящих звонков audio=/dev/ttyUSB1 ; tty порт для аудио подключения data=/dev/ttyUSB2 ; tty порт для управляющих AT комманд модема group=1 ; Группа вызова rxgain=4 ; Изменение громкости динамика txgain=-4 ; Изменение громкости микрофона u2diag=0 ; set U2DIAG parameter (0 = disable everything except modem function) resetdatacard=yes ; Перезагрузка модема при перезапуске модуля autodeletesms=yes ; Удаление смс с симкарты при перезапуске usecallingpres=yes ; use the caller ID presentation or not callingpres=allowed_passed_screen ; set caller ID presentation
asterisk не видит модема, но если использую Huawei E150 или Huawei E156G то при тех же настройках модемы в asterisk появляются E150 - работает нормально, только звонящий не слышит моего голоса, E156G - отваливается при поднятии трубки, но оба определяются asterisk-ом.
В связи с этим вопрос, почему E1550 может не определяться в asterisk, при этом как устройство виден.
Еще один момент который может пролить свет на проблему, почему то на E1550 не получается с помощью программы minicom отправить какую либо AT команду (пробывал на каждый порт ttyUSB0-ttyUSB2), на другие модемы получается. Думал что модем не рабочий, достал другой E1550 но история повторяется.
Подскажите, в чём может быть засада? Прикрутил E1550 к Elastix 2.0. Всё работает, но нет гудков, когда звоню с мобилы через модем в дису и донабираю номер внутреннего экстеншена. т.е. перед тем, как абонент возьмёт трубку присутствует тишина.
Не знаю уже что делать , может у кого то возникнут идеи в чем проблема.
ручками пощупай на каком порте что у него висит.
mvv1980 wrote:
Еще один момент который может пролить свет на проблему, почему то на E1550 не получается с помощью программы minicom отправить какую либо AT команду (пробывал на каждый порт ttyUSB0-ttyUSB2), на другие модемы получается. Думал что модем не рабочий, достал другой E1550 но история повторяется.
вообще чудесааааа...
Добавлено: Залил r103, исправлено несколько багов, начинается внедрение поддержки конференции. Залил r104, добавлены безумно полезные команды stop, start для cli и manager
Уговорил знакомого на установку к нему, среди U стоек, моего колокейшн тауэра по цене U-шного (и то только на два-три месяца) для заточки chan_datacard под модемы отличные от Е-1550, в частности модемы CDMA. Сервер могу напичкать ПО и поставить хоть завтра и отдать «на растерзание» знающему человеку, но не хочется делать предоплату если никто не будет его пользовать в целях откатки chan_datacard.
В связи с этим есть вопросы: 1. Кто может поучаствовать? 2. Подойдет ли AMDx86-64 полноценной серверной сборки, который уже имеет 6хЕ1550 и даже на 100% работает месяцами без падения? (могу поставить i386 Cel. 1,8 пока пустой резерв-сервер и нет уверенности в возможности работать круглосуточно.) 3. Что мне еще нужно сделать то что в моих силах? (Предупреждаю что не знаю кто такие С и С++ и где они живут.) 4. bg1, рута возьмешь?
Не знаю уже что делать , может у кого то возникнут идеи в чем проблема.
ручками пощупай на каком порте что у него висит.
mvv1980 wrote:
Еще один момент который может пролить свет на проблему, почему то на E1550 не получается с помощью программы minicom отправить какую либо AT команду (пробывал на каждый порт ttyUSB0-ttyUSB2), на другие модемы получается. Думал что модем не рабочий, достал другой E1550 но история повторяется.
вообще чудесааааа...
datacard.conf context=incoming-datacard ; context for incoming calls audio=/dev/ttyUSB1 ; tty port for audio connection data=/dev/ttyUSB2 ; tty port for AT commands group=1 ; calling group rxgain=4 ; increase the incoming volume txgain=-4 ; increase the outgoint volume autodeletesms=yes ; auto delete incoming sms resetdatacard=yes ; reset datacard during initialization u2diag=0 ; set U2DIAG parameter (0 = disable everything except modem function) usecallingpres=yes ; use the caller ID presentation or not callingpres=allowed_passed_screen ; set caller ID presentation disablesms=yes ; chan_datacard has currently a bug with SMS reception. When a SMS gets in during a ; call chan_datacard might crash. Enable this option to disable sms reception. ; Default = no
root@vladimir-VirtualBox:~# lsusb Bus 002 Device 002: ID 80ee:0021 Bus 002 Device 001: ID 1d6b:0001 Linux Foundation 1.1 root hub Bus 001 Device 002: ID 12d1:1001 Huawei Technologies Co., Ltd. E620 USB Modem Bus 001 Device 001: ID 1d6b:0002 Linux Foundation 2.0 root hub
root@vladimir-VirtualBox:~# dmesg usb | grep ttyUSB [ 136.043767] usb 1-1: GSM modem (1-port) converter now attached to ttyUSB0 [ 136.066792] usb 1-1: GSM modem (1-port) converter now attached to ttyUSB1 [ 136.081557] usb 1-1: GSM modem (1-port) converter now attached to ttyUSB2
vladimir-VirtualBox*CLI> datacard show devices ID Group State RSSI Mode Submode Provider Name Model Firmware IMEI IMSI Number datacard0 1 Not initia 14 0 0 NONE Unknown -- Error initializing Datacard datacard0 -- Datacard datacard0 has disconnected -- Datacard datacard0 trying to connect on /dev/ttyUSB2... -- Datacard datacard0 has connected, initializing... -- Error initializing Datacard datacard0 -- Datacard datacard0 has disconnected -- Datacard datacard0 trying to connect on /dev/ttyUSB2... -- Datacard datacard0 has connected, initializing...
а если подключаю E150
vladimir-VirtualBox*CLI> datacard show devices ID Group State RSSI Mode Submode Provider Name Model Firmware IMEI IMSI Number datacard0 1 Free 18 0 0 MTS-RUS E150 11.609.82.02.143 3521080****** 250018510338835 Unknown
судя по -- Error initializing Datacard datacard0 у тебя порт открывается. Но какая то команда инициализации не проходит. Включай отладку и смотри где ERROR получает вместо OK
r105: Исправлен баг с крашем при остановке отсутствующего устройства r106: Добавлено блокировка для файлов устройств при их открытии.
[root@mail datacards]# autoconf [root@mail datacards]# automake -a configure.in: no proper invocation of AM_INIT_AUTOMAKE was found. configure.in: You should verify that configure.in invokes AM_INIT_AUTOMAKE, configure.in: that aclocal.m4 is present in the top-level directory, configure.in: and that aclocal.m4 was recently regenerated (using aclocal). configure.in: installing `./install-sh' configure.in: installing `./missing' automake: no `Makefile.am' found for any configure output [root@mail datacards]# ./configure configure: error: cannot run /bin/sh ./config.sub [root@mail datacards]#
чудеса поставил отладку и dtmf заработал в обе стороны теперь возник немного другой вопрос, если идет вызов на IVR, то КПВ после оного есть, если сделать донабор, то КПВ нет
Подскажите, пожалуйста, не проходят DTMF никак В дебаг логе чисто..
[000101] context=from-gsm ; context для входящих звонков audio=/dev/ttyUSB1 ; tty порт для аудио подключения data=/dev/ttyUSB2 ; tty порт для управляющих AT комманд модема group=1 ; Группа вызова rxgain=3 ; Изменение громкости динамика txgain=3; Изменение громкости микрофона resetdatacard=yes ; Перезагрузка модема при перезапуске модуля autodeletesms=yes ; Удаление смс с симкарты при перезапуске usecallingpres=yes ; use the caller ID presentation or not callingpres=allowed_passed_screen ; set caller ID presentation
пробывал rxgain txgain совершенно разных значений, не проходит ни одна цифра... Где нужно покопаться? Если звонить на IVR и пробывать с софт телефона, dtmf прекрастно работает...
Если звонить на внутренний номер астерикса, то все коды dtmf проходят и пишутся в логах, а ivr - нет...
Last edited by Boris2777 on Sun Dec 19, 2010 08:11
Dmitry2006, как побороть "перепрыгивание" модемов во FreeBSD? В линуксе использовал udev и привязывался к физическим портам USB. FreeBSD 8.1-RELEASE i386.
Подскажите, пожалуйста, не проходят DTMF никак В дебаг логе чисто..
Аналогично. Откатился с *1.6.2.16-rc1 на 1.6.2.13 и всё опять заработало. _________________ Fedora12 2.6.33.7 / *1.6.2.13 + https://github.com/nixonch/a2billing / SFA / chan_mobile / chan_datacard / app_fax to e-mail&SMS
Залито r108, добавлена утилита для сканирования какие есть в системе устройства на каких портах.
Пока как отдельное приложение, по мере тестирования и наращивания будет внедрено в основной код в виде настроек [datacard0] audio=IMEI:xxx:1 data=IMEI:xxx:2
Доброго времени суток, можно ли использовать chan_datacard вместе с мобильным телефоном, если можно то не большой примерчик а то питаюсь nokia 5800 и Sony Ericsson W610 использовать а они ни как не хотят подключаться.
Dec 22 11:32:01] WARNING[20592]: at_response.c:384 at_response_error: [datacard0] Datacard has NO voice support по этой ошибке я так понимаю он не поддерживает голоса, но хотя бы должен был коннектиться.
народ подскажите, все еще использую 171 ревизию махутова (пока что) на робочем обьекте, в скором начинаю тесты альтернативной версии интересует вопрос хось подрубить еще парочку е1550, может кто знает как писать смс с каждого в отдельный текстовый файл стандартный шаблон таков
там два порта для команд, один чисто модемный, второй с отладочной информацией, расширенными ответами. используется второй. как опознать audio по активизации звонка я не знаю.
Вот есть ещё одна проблема, тянется с Махутовского вариата. Добавьте плиз в TODO. Она уже описана тут. Приведу свой вариант ... При таком прохождении звонков: incoming Datacard -> SIP/peer, звонящий с сотовой сети не слышит длинных гудков вызова. Никакие варианты, в том числе от anest'a в вышеприведенной ссылке, не спасают. Есть интересное наблюдение. Если перенести модемы на удалённый транк: incoming Datacard -> SIP/server -> SIP/peer, то гудки слышны. Если соединение между серверами организовать через IAX2: incoming Datacard -> IAX2/server -> SIP/peer, то гудков снова нет. Отпишитесь те, кто ловил уже этот глюк, и/или, возможно, решил проблему? _________________ Fedora12 2.6.33.7 / *1.6.2.13 + https://github.com/nixonch/a2billing / SFA / chan_mobile / chan_datacard / app_fax to e-mail&SMS
Поставил ревизию 127. src-номер в смсках сломался.
было на 107: +7923XXX1216: Абонент +7923XXX1216 просит Вас ему перезвонить.
стало на 127: 002B00370039003200330037003700350031003200310036: Абонент +7923XXX1216 просит Вас ему перезвонить. _________________ Debian Lenny, Asterisk 1.6.2, chan_datacard
я вчера починил что то на тему SMS и USSD сейчас посмотрю что с номером отправителя. Что за модем то у вас? Иксами можно было не забивать, я умею декодировать UCS-2
сегодня кстати, обновил readme и примеры etc на тему как читать SMS/USSD с переводом строки внутри. Махутов давно накопал решение, видимо обновить примеры забыл.
Кстати, я рекомендую включать PDU режим. Поддерживать оба режима нет смысла т.к. TEXT более ущербный и глючный по реализации на модеме.
Залит r129, исправлено декодирование номера в TEXT mode
А у кого-нибудь chan_datacard r129 на freebsd собирается? у меня собирается только до r105.
Code:
autoconf automake -a configure.in: no proper invocation of AM_INIT_AUTOMAKE was found. configure.in: You should verify that configure.in invokes AM_INIT_AUTOMAKE, configure.in: that aclocal.m4 is present in the top-level directory, configure.in: and that aclocal.m4 was recently regenerated (using aclocal). automake-1.11: no `Makefile.am' found for any configure output
gmake /usr/local/include/asterisk/strings.h: In function 'ast_str_truncate': /usr/local/include/asterisk/strings.h:495: warning: signed and unsigned type in conditional expression gcc -D_GNU_SOURCE -I. -I/usr/local/include -DHAVE_CONFIG_H -fvisibility=hidden -fPIC -Wall -Wextra -MD -MT chan_datacard.o -MF .chan_datacard.o.d -MP -o chan_datacard.o -c chan_datacard.c In file included from /usr/local/include/asterisk/utils.h:681, from /usr/local/include/asterisk/module.h:31, from chan_datacard.c:42: /usr/local/include/asterisk/strings.h: In function 'ast_str_truncate': /usr/local/include/asterisk/strings.h:495: warning: signed and unsigned type in conditional expression chan_datacard.c: In function 'lock_create': chan_datacard.c:109: error: 'S_IRUSR' undeclared (first use in this function) chan_datacard.c:109: error: (Each undeclared identifier is reported only once chan_datacard.c:109: error: for each function it appears in.) chan_datacard.c:109: error: 'S_IRGRP' undeclared (first use in this function) chan_datacard.c:109: error: 'S_IROTH' undeclared (first use in this function) gmake: *** [chan_datacard.o] Ошибка 1
Встречалась ли у кого нить такая проблема, как перехват вызова и подключение к уже открытой сессии? В кратце, проставлено на ubuntu 10.10 aster 1.6.2.14 rc1 модемы huawey e1550 4 шт все модемы в 1 группе, роутятся на первый свободный Используется следующая сборка один астериск используется как атс, как шлюз для него используется астериск с chan-datacard. Вызов из sip (астериск атс) проходит в gsm, слышимость хорошая, ни одной ошибки или ворнинга, при открытии новой сессии из sip (астериск атс) в gsm старая сессия (на предыдущих релизах chandatacard) становилась фоном для новой (абсолютно весь разговор слышен), а в последнем релизе (184) вообще осуществляется перехват gsm сесии, но при этом можно набрать номер и позвонить другому абоненту, при этом на первой сессии пропадает канал от gsm но сессия не разрывается, при этом если положить трубочку организатору второй сессии, то gsm канал от первой сессии возвращается назад сессия не разрывается и разговор по первой сессии может быть продолжен. Бьюсь почти месяц, но результатов никаких.
Судя по описанию, первый звонок не меняет статуса устройства оно остаётся "свободным". Поэтому когда вы делаете другой вызов, звонок идёт на то же устройство. И тут работает обычный callwaiting, т.е. при втором наборе номера, первый удерживается.
Занялся вопросом покупки 4 канального GSM шлюза для SOHO сегмента. Самый доступный вариант это сделать шлюз самому купить(собрать) дешевенькую рабочую станцию установить софт, присоединить к ней 4 USB модема и настроить все это дело. Либо как вариант купить китайский DBL 4GOIP что собственно выйдет немного (100 долларов) дороже чем первый вариант (порядка 560 уев. есть возможность заказать из китая).
Собственно вопрос: Если кто имел опыт общения с китайским шлюзом -- скажите пожалуйста, какой вариант более надежный и что бы вы предпочли в моем случае? Китайский 4GOIP либо линукс-бокс с 4-мя USB модемами?
главный критерий -- надежность. Чтобы не приходилось ковырятся и настраивать регулярно.
Я согласен что вариант с USB свистками более расширяемый и масштабируемый, НО для сегмента SOHO c головой хватит 4 портового шлюза IMHO.
Бесспорно у кого руки растут из правильного места сможет сделать хоть атомную бомбу -- но, простите, вопрос был немного другой.
Касательно Вашей оценки в 20 долларов за порт -- как то слишком дешево выходит. за 20 долларов наверное только один USB модем можно купить? необходимо так же учесть покупку рабочей станции, USB хаба etc. Поправьте меня если не прав.
Взял на пробу Huawei e1550. Ничто не предвещало беды Debian Squeeze Asterisk: 1.6.2.15 Ядро: 2.6.37-rc7-686 && 2.6.32-5-amd64 (readme читал, просто второй комп - домашний, пересобирать дрова потом не хочется; но, что характерно, баг одинаков на обеих конфигурациях)
Суть такова: 1. все определяется 2. datacard show devices честно показывает
Quote:
ID Group State RSSI Mode Submode Provider Name Model Firmware IMEI IMSI Number datacard0 1 Free 12 0 0 MegaFon RUS E1550 11.608.12.10.209
3. Попытка позвонить выглядит так:
Code:
-- Attempting call on Datacard/datacard0/7495**** for application Playback(silence/10) (Retry 1) -- Datacard datacard0 has disconnected [Dec 30 16:12:09] NOTICE[26493]: pbx_spool.c:339 attempt_thread: Call failed to go through, reason (1) Hangup debian*CLI> -- Datacard datacard0 trying to connect on /dev/ttyUSB2... -- Datacard datacard0 has connected, initializing... -- Datacard datacard0 initialized and ready
Звонки тоже принимаются, но схожим образом:
== Starting Datacard/datacard0-36c8 at datacard-incoming,s,1 failed so falling back to exten 's' == Starting Datacard/datacard0-36c8 at datacard-incoming,s,1 still failed so falling back to context 'default' -- Executing [s@default:1] Wait("Datacard/datacard0-36c8", "1") in new stack -- Executing [s@default:2] Answer("Datacard/datacard0-36c8", "") in new stack -- Executing [s@default:3] Set("Datacard/datacard0-36c8", "TIMEOUT(digit)=5") in new stack -- Digit timeout set to 5.000 -- Executing [s@default:4] Set("Datacard/datacard0-36c8", "TIMEOUT(response)=10") in new stack -- Response timeout set to 10.000 -- Executing [s@default:5] BackGround("Datacard/datacard0-36c8", "demo-congrats") in new stack -- Playing 'demo-congrats.gsm' (language 'en') -- Datacard datacard0 has disconnected == Spawn extension (default, s, 5) exited non-zero on 'Datacard/datacard0-36c8' -- Datacard datacard0 trying to connect on /dev/ttyUSB2... -- Datacard datacard0 has connected, initializing... -- Datacard datacard0 initialized and ready
(при этом даже слышно ~100мс звука)
Если заглянуть в сислог, то видно, что он сыпет еггогами, потом уходит в ресет
Кусок сислога (с amd64):
Dec 30 15:52:04 debian kernel: [ 1914.807726] option: option_instat_callback: error -84 Dec 30 15:52:04 debian kernel: [ 1914.819720] option: option_instat_callback: error -84 Dec 30 15:52:04 debian kernel: [ 1914.832706] option: option_instat_callback: error -84 Dec 30 15:52:04 debian kernel: [ 1914.844706] option: option_instat_callback: error -84 Dec 30 15:52:04 debian kernel: [ 1914.856687] option: option_instat_callback: error -84 Dec 30 15:52:04 debian kernel: [ 1914.868683] option: option_instat_callback: error -84 Dec 30 15:52:04 debian kernel: [ 1914.879665] option: option_instat_callback: error -84 Dec 30 15:52:04 debian kernel: [ 1914.892659] option: option_instat_callback: error -84 Dec 30 15:52:04 debian kernel: [ 1914.904681] option: option_instat_callback: error -84 Dec 30 15:52:04 debian kernel: [ 1914.916659] option: option_instat_callback: error -84 Dec 30 15:52:04 debian kernel: [ 1914.928670] option: option_instat_callback: error -84 Dec 30 15:52:04 debian kernel: [ 1914.939651] option: option_instat_callback: error -84 Dec 30 15:52:04 debian kernel: [ 1914.952637] option: option_instat_callback: error -84 Dec 30 15:52:04 debian kernel: [ 1914.964633] option: option_instat_callback: error -84 Dec 30 15:52:04 debian kernel: [ 1914.976626] option: option_instat_callback: error -84 Dec 30 15:52:04 debian modem-manager: Removed modem /sys/devices/pci0000:00/0000:00:1a.2/usb5/5-2 Dec 30 15:52:04 debian kernel: [ 1914.982188] usb 5-2: USB disconnect, address 6 Dec 30 15:52:04 debian kernel: [ 1914.982641] option: option_instat_callback: error -108 Dec 30 15:52:04 debian kernel: [ 1914.982869] option1 ttyUSB0: GSM modem (1-port) converter now disconnected from ttyUSB0 Dec 30 15:52:04 debian kernel: [ 1914.982896] option 5-2:1.0: device disconnected Dec 30 15:52:04 debian kernel: [ 1914.983058] option1 ttyUSB1: GSM modem (1-port) converter now disconnected from ttyUSB1 Dec 30 15:52:04 debian kernel: [ 1914.983072] option 5-2:1.1: device disconnected Dec 30 15:52:04 debian kernel: [ 1914.983263] option1 ttyUSB2: GSM modem (1-port) converter now disconnected from ttyUSB2 Dec 30 15:52:04 debian kernel: [ 1914.983294] option 5-2:1.2: device disconnected Dec 30 15:52:04 debian NetworkManager[1355]: (ttyUSB0): now unmanaged Dec 30 15:52:04 debian NetworkManager[1355]: (ttyUSB0): device state change: 3 -> 1 (reason 36) Dec 30 15:52:04 debian NetworkManager[1355]: (ttyUSB0): cleaning up... Dec 30 15:52:04 debian NetworkManager[1355]: (ttyUSB0): taking down device. Dec 30 15:52:05 debian kernel: [ 1915.401656] usb 1-6: new high speed USB device using ehci_hcd and address 10 Dec 30 15:52:05 debian kernel: [ 1915.546693] usb 1-6: New USB device found, idVendor=12d1, idProduct=1003 Dec 30 15:52:05 debian kernel: [ 1915.546697] usb 1-6: New USB device strings: Mfr=2, Product=1, SerialNumber=0 Dec 30 15:52:05 debian kernel: [ 1915.546700] usb 1-6: Product: HUAWEI Mobile Dec 30 15:52:05 debian kernel: [ 1915.546702] usb 1-6: Manufacturer: HUAWEI Technology Dec 30 15:52:05 debian kernel: [ 1915.546818] usb 1-6: configuration #1 chosen from 1 choice Dec 30 15:52:05 debian kernel: [ 1915.648416] usb 1-6: USB disconnect, address 10 Dec 30 15:52:09 debian kernel: [ 1919.567221] usb 5-2: new full speed USB device using uhci_hcd and address 7 Dec 30 15:52:09 debian kernel: [ 1919.873188] usb 5-2: New USB device found, idVendor=12d1, idProduct=1001 Dec 30 15:52:09 debian kernel: [ 1919.873192] usb 5-2: New USB device strings: Mfr=2, Product=1, SerialNumber=0 Dec 30 15:52:09 debian kernel: [ 1919.873196] usb 5-2: Product: HUAWEI Mobile Dec 30 15:52:09 debian kernel: [ 1919.873198] usb 5-2: Manufacturer: HUAWEI Technology Dec 30 15:52:09 debian kernel: [ 1919.873314] usb 5-2: configuration #1 chosen from 1 choice Dec 30 15:52:09 debian kernel: [ 1919.880497] option 5-2:1.0: GSM modem (1-port) converter detected Dec 30 15:52:09 debian kernel: [ 1919.880628] usb 5-2: GSM modem (1-port) converter now attached to ttyUSB0 Dec 30 15:52:09 debian kernel: [ 1919.880955] option 5-2:1.1: GSM modem (1-port) converter detected Dec 30 15:52:09 debian kernel: [ 1919.881071] usb 5-2: GSM modem (1-port) converter now attached to ttyUSB1 Dec 30 15:52:09 debian kernel: [ 1919.881315] option 5-2:1.2: GSM modem (1-port) converter detected Dec 30 15:52:09 debian kernel: [ 1919.881423] usb 5-2: GSM modem (1-port) converter now attached to ttyUSB2 Dec 30 15:52:09 debian modem-manager: (Huawei): (ttyUSB2) deferring support check Dec 30 15:52:09 debian modem-manager: (Huawei): (ttyUSB1) deferring support check Dec 30 15:52:09 debian modem-manager: (ttyUSB0) opening serial device... Dec 30 15:52:09 debian modem-manager: (ttyUSB0): probe requested by plugin 'Huawei' Dec 30 15:52:10 debian modem-manager: Got failure code 14: SIM busy Dec 30 15:52:11 debian modem-manager: (ttyUSB0) closing serial device... Dec 30 15:52:11 debian modem-manager: (ttyUSB0) opening serial device... Dec 30 15:52:11 debian modem-manager: (Huawei): GSM modem /sys/devices/pci0000:00/0000:00:1a.2/usb5/5-2 claimed port ttyUSB0 Dec 30 15:52:11 debian modem-manager: Added modem /sys/devices/pci0000:00/0000:00:1a.2/usb5/5-2 Dec 30 15:52:11 debian modem-manager: (tty/ttyUSB0): outstanding support task prevents export of /sys/devices/pci0000:00/0000:00:1a.2/usb5/5-2 Dec 30 15:52:11 debian modem-manager: (tty/ttyUSB1): outstanding support task prevents export of /sys/devices/pci0000:00/0000:00:1a.2/usb5/5-2 Dec 30 15:52:11 debian modem-manager: (tty/ttyUSB1): outstanding support task prevents export of /sys/devices/pci0000:00/0000:00:1a.2/usb5/5-2 Dec 30 15:52:11 debian modem-manager: (ttyUSB0) closing serial device... Dec 30 15:52:12 debian modem-manager: (ttyUSB2): re-checking support... Dec 30 15:52:12 debian modem-manager: (ttyUSB2) opening serial device... Dec 30 15:52:12 debian modem-manager: (ttyUSB1): re-checking support... Dec 30 15:52:12 debian modem-manager: (ttyUSB1) opening serial device... Dec 30 15:52:14 debian modem-manager: (ttyUSB2) closing serial device... Dec 30 15:52:14 debian modem-manager: (Huawei): GSM modem /sys/devices/pci0000:00/0000:00:1a.2/usb5/5-2 claimed port ttyUSB2 Dec 30 15:52:14 debian modem-manager: (tty/ttyUSB1): outstanding support task prevents export of /sys/devices/pci0000:00/0000:00:1a.2/usb5/5-2 Dec 30 15:52:20 debian modem-manager: (ttyUSB1) closing serial device... Dec 30 15:52:20 debian modem-manager: (Huawei): GSM modem /sys/devices/pci0000:00/0000:00:1a.2/usb5/5-2 claimed port ttyUSB1 Dec 30 15:52:20 debian modem-manager: Exported modem /sys/devices/pci0000:00/0000:00:1a.2/usb5/5-2 as /org/freedesktop/ModemManager/Modems/5 Dec 30 15:52:20 debian modem-manager: (/org/freedesktop/ModemManager/Modems/5): data port is ttyUSB0 Dec 30 15:52:20 debian NetworkManager[1355]: (ttyUSB0): failed to look up interface index Dec 30 15:52:20 debian NetworkManager[1355]: (ttyUSB0): new GSM device (driver: 'option1' ifindex: -1) Dec 30 15:52:20 debian NetworkManager[1355]: (ttyUSB0): exported as /org/freedesktop/NetworkManager/Devices/6 Dec 30 15:52:20 debian NetworkManager[1355]: (ttyUSB0): now managed Dec 30 15:52:20 debian NetworkManager[1355]: (ttyUSB0): device state change: 1 -> 2 (reason 2) Dec 30 15:52:20 debian NetworkManager[1355]: (ttyUSB0): deactivating device (reason: 2). Dec 30 15:52:20 debian NetworkManager[1355]: (ttyUSB0): device state change: 2 -> 3 (reason 0)
Кусок сислога с i386 (на всякий случай):
Dec 30 15:14:10 VoipGSM kernel: [ 864.234835] option: option_instat_callback: error -84 Dec 30 15:14:10 VoipGSM kernel: [ 864.246835] option: option_instat_callback: error -84 Dec 30 15:14:10 VoipGSM kernel: [ 864.258837] option: option_instat_callback: error -84 Dec 30 15:14:10 VoipGSM kernel: [ 864.270832] option: option_instat_callback: error -84 Dec 30 15:14:10 VoipGSM kernel: [ 864.282831] option: option_instat_callback: error -84 Dec 30 15:14:10 VoipGSM kernel: [ 864.294832] option: option_instat_callback: error -84 Dec 30 15:14:10 VoipGSM kernel: [ 864.306831] option: option_instat_callback: error -84 Dec 30 15:14:10 VoipGSM kernel: [ 864.318832] option: option_instat_callback: error -84 Dec 30 15:14:10 VoipGSM kernel: [ 864.330827] option: option_instat_callback: error -84 Dec 30 15:14:10 VoipGSM kernel: [ 864.342827] option: option_instat_callback: error -84 Dec 30 15:14:10 VoipGSM kernel: [ 864.354828] option: option_instat_callback: error -84 Dec 30 15:14:10 VoipGSM kernel: [ 864.366824] option: option_instat_callback: error -84 Dec 30 15:14:10 VoipGSM kernel: [ 864.378826] option: option_instat_callback: error -84 Dec 30 15:14:10 VoipGSM kernel: [ 864.390824] option: option_instat_callback: error -84 Dec 30 15:14:10 VoipGSM kernel: [ 864.402822] option: option_instat_callback: error -84 Dec 30 15:14:10 VoipGSM kernel: [ 864.414823] option: option_instat_callback: error -84 Dec 30 15:14:10 VoipGSM kernel: [ 864.426820] option: option_instat_callback: error -84 Dec 30 15:14:10 VoipGSM kernel: [ 864.438822] option: option_instat_callback: error -84 Dec 30 15:14:10 VoipGSM kernel: [ 864.448060] usb 5-1: USB disconnect, address 3 Dec 30 15:14:10 VoipGSM kernel: [ 864.448817] option: option_instat_callback: error -108 Dec 30 15:14:10 VoipGSM kernel: [ 864.449027] option1 ttyUSB0: GSM modem (1-port) converter now disconnected from ttyUSB0 Dec 30 15:14:10 VoipGSM kernel: [ 864.449061] option 5-1:1.0: device disconnected Dec 30 15:14:10 VoipGSM kernel: [ 864.449267] option1 ttyUSB1: GSM modem (1-port) converter now disconnected from ttyUSB1 Dec 30 15:14:10 VoipGSM kernel: [ 864.449284] option 5-1:1.1: device disconnected Dec 30 15:14:10 VoipGSM kernel: [ 864.449473] option1 ttyUSB2: GSM modem (1-port) converter now disconnected from ttyUSB2 Dec 30 15:14:10 VoipGSM kernel: [ 864.449491] option 5-1:1.2: device disconnected Dec 30 15:14:11 VoipGSM kernel: [ 864.824028] usb 1-7: new high speed USB device using ehci_hcd and address 5 Dec 30 15:14:11 VoipGSM kernel: [ 864.968887] usb 1-7: New USB device found, idVendor=12d1, idProduct=1003 Dec 30 15:14:11 VoipGSM kernel: [ 864.968894] usb 1-7: New USB device strings: Mfr=2, Product=1, SerialNumber=0 Dec 30 15:14:11 VoipGSM kernel: [ 864.968898] usb 1-7: Product: HUAWEI Mobile Dec 30 15:14:11 VoipGSM kernel: [ 864.968901] usb 1-7: Manufacturer: HUAWEI Technology Dec 30 15:14:11 VoipGSM kernel: [ 865.071672] usb 1-7: USB disconnect, address 5 Dec 30 15:14:16 VoipGSM kernel: [ 869.816021] usb 5-1: new full speed USB device using uhci_hcd and address 4 Dec 30 15:14:16 VoipGSM kernel: [ 870.142999] usb 5-1: New USB device found, idVendor=12d1, idProduct=1001 Dec 30 15:14:16 VoipGSM kernel: [ 870.143006] usb 5-1: New USB device strings: Mfr=2, Product=1, SerialNumber=0 Dec 30 15:14:16 VoipGSM kernel: [ 870.143010] usb 5-1: Product: HUAWEI Mobile Dec 30 15:14:16 VoipGSM kernel: [ 870.143013] usb 5-1: Manufacturer: HUAWEI Technology Dec 30 15:14:16 VoipGSM kernel: [ 870.150333] option 5-1:1.0: GSM modem (1-port) converter detected Dec 30 15:14:16 VoipGSM kernel: [ 870.150534] usb 5-1: GSM modem (1-port) converter now attached to ttyUSB0 Dec 30 15:14:16 VoipGSM kernel: [ 870.151023] option 5-1:1.1: GSM modem (1-port) converter detected Dec 30 15:14:16 VoipGSM kernel: [ 870.151216] usb 5-1: GSM modem (1-port) converter now attached to ttyUSB1 Dec 30 15:14:16 VoipGSM kernel: [ 870.151643] option 5-1:1.2: GSM modem (1-port) converter detected Dec 30 15:14:16 VoipGSM kernel: [ 870.151827] usb 5-1: GSM modem (1-port) converter now attached to ttyUSB2
# cat /etc/asterisk/datacard.conf
Code:
[datacard0] audio=/dev/ttyUSB1 ; tty for audio connection data=/dev/ttyUSB2 ; tty for AT commands
context=datacard-incoming ; context for incoming calls group=1 ; calling group
rxgain=3 ; increase the incoming volume txgain=3 ; increase the outgoint volume
Гуглил на эту тему, ничего толком не нашел. Гугл заводил и сюда, но безрезультатно.
Отсюда у меня вопросы: 1. что не так, теоретически? почему он отваливается именно во время попытки позвонить? 2. я так понял, что я воссоздал какую-то слабоповторяемую багу, может кто-нибудь привести пример рабочей системы? (имеется в виду дистриб, астериск, ядро и т.д.) 3. какое решение оптимально по соотношению цена/качество в районе 30к ? 4. какое решение оптимально для ~10 каналов в режиме "поставил и забыл"?
Тут писали про то что хаб с внешним БП решил проблему. Блин, может быть такое, что порт падает по току и модем вырубается? Меня терзают смутные сомнения
Запросто. Лично убедился в сильной зависимости материнской платы. И не факт что хороший вольтаж поможет. Все должно быть в комплекте (хороший USB+нормальное питание) тогда проблем не будет.
Подскажите: поставил * 1.8 и r136 datacard'а. Звонки идут, но астериск не понимает DTMF сигналов из входящих на датакард. Посмотрел баги, вроде не шлет сам модем, а про входящие ни слова. Тот же контекст, но со звонком из sip тональные сигналы схватывает отлично... Где загвоздка?
Пробовал просто уже и с Answer'ом и без. В логгере:
Code:
/etc/asterisk/logger.conf [logfiles] ; ; Format is "filename" and then "levels" of debugging to be included: ; debug ; notice ; warning ; error ; verbose dtmf ; fax ; ; Special filename "console" represents the system console ;
Verbosity is at least 6 Core debug is at least 1 -- Executing [s@datacard-incoming:1] Verbose("Datacard/datacard0-0100000006", "Mobile In") in new stack Mobile In -- Executing [s@datacard-incoming:2] Set("Datacard/datacard0-0100000006", "CHANNEL(language)=ru") in new stack -- Executing [s@datacard-incoming:3] Set("Datacard/datacard0-0100000006", "TIMEOUT(digit)=5") in new stack -- Digit timeout set to 5.000 -- Executing [s@datacard-incoming:4] Set("Datacard/datacard0-0100000006", "TIMEOUT(response)=15") in new stack -- Response timeout set to 15.000 -- Executing [s@datacard-incoming:5] Authenticate("Datacard/datacard0-0100000006", "1234") in new stack -- Playing 'agent-pass.alaw' (language 'ru') -- Playing 'auth-incorrect.alaw' (language 'ru') -- Playing 'auth-incorrect.alaw' (language 'ru') > doing dnsmgr_lookup for 'sipnet.ru' > ast_get_srv: SRV lookup for '_sip._udp.sipnet.ru' mapped to host sipnet.ru, port 5060 -- Playing 'vm-goodbye.alaw' (language 'ru') == Spawn extension (datacard-incoming, s, 5) exited non-zero on 'Datacard/datacard0-0100000006' aster*CLI>
если добавить ансвер:
Code:
root@aster:/etc/asterisk# asterisk -r Verbosity is at least 6 Core debug is at least 1 -- Executing [s@datacard-incoming:1] Verbose("Datacard/datacard0-0100000007", "Mobile In") in new stack Mobile In -- Executing [s@datacard-incoming:2] Set("Datacard/datacard0-0100000007", "CHANNEL(language)=ru") in new stack -- Executing [s@datacard-incoming:3] Set("Datacard/datacard0-0100000007", "TIMEOUT(digit)=5") in new stack -- Digit timeout set to 5.000 -- Executing [s@datacard-incoming:4] Set("Datacard/datacard0-0100000007", "TIMEOUT(response)=15") in new stack -- Response timeout set to 15.000 -- Executing [s@datacard-incoming:5] Answer("Datacard/datacard0-0100000007", "") in new stack -- Executing [s@datacard-incoming:6] Authenticate("Datacard/datacard0-0100000007", "1234") in new stack -- Playing 'agent-pass.alaw' (language 'ru') > doing dnsmgr_lookup for 'sipnet.ru' > ast_get_srv: SRV lookup for '_sip._udp.sipnet.ru' mapped to host sipnet.ru, port 5060 -- Playing 'auth-incorrect.alaw' (language 'ru') -- Playing 'auth-incorrect.alaw' (language 'ru') -- Playing 'vm-goodbye.alaw' (language 'ru') == Spawn extension (datacard-incoming, s, 6) exited non-zero on 'Datacard/datacard0-0100000007' aster*CLI>
И еще раз здрасте) Вопрос был в прошивке, я на нее не обратил внимание, подумал, что если модем без пометок мтс/мегафон и т.д. то все работать должно из коробки. Пишу толстым шрифтом: прошивка 11.608.12.10.209 проклята! Решение тут, на этом форуме: http://asteriskforum.ru/viewtopic.php?p=46355
А мы столкнулись с такой траблой. Модем Huawei E1550 продается нелоченый. Залили прошивку. Пробовали обе: МТС 11.608.12.00.143 и 11.608.14.15.311. Он в системе появился НО! Звонок идет. Трубу снимаешь, в ней тишина. Астер продолжает писать, что звонит, хотя трубу уже сняли. При звонке на него - вообще тишина. никаких сообщений в Астер. Из всего функционала только отсылка СМС работает. Кто-то сталкивался с подобным. В астере ошибок нет, в системе тоже.
то bg1 Скажите как собирать вашу версию chan_datacard ?
Code:
root@asterisk:/usr/src/chan_datacard-1.0.r270# ./configure configure: error: cannot find install-sh, install.sh, or shtool in "." "./.." "./../.." root@asterisk:/usr/src/chan_datacard-1.0.r270# make make: *** Не заданы цели и не найден make-файл. Останов.
Не резолвится какой-то символ - это понятно (can't resolve symbol in lib). Но как решить такую проблему? Сколько я chan_dongle/chan_datacard не компилировал - такой ошибки пока не видел. OpenWrt стоит с транка: svn co svn://svn.openwrt.org/openwrt/trunk/ libiconv-full тоже стоит. Астер ставлю 1.8.3.2 как это и написанно в Makefile
@ bg1 Я сильно в програмирование не шарю, но всё равно спрошу: а нельзя ли сделать chan_dongle так, чтобы этот модуль был независим от каких-то libiconv? Я знаю что например Астер можно так скомпилировать (сам как то давно делал) чтобы он был не зависим например от libpthread (то есть Астер работает нормально, хотя libpthread на системе вообще нету).
Last edited by PsychoMantis on Fri Sep 02, 2011 16:43
для декодирования SMS и USSD используется iconv у тебя где то в другом месте проблема скорее всего... при загрузке asterisk пишет же почему не загрузил и какой символ не нашёл.. не форкаться скажи и вывод на консоль _________________ Свежак chan_dongle тут http://code.google.com/p/asterisk-chan-dongle Читайте, дополняйте wiki http://wiki.e1550.mobi/ Смена IMEI Huawei E1550 E173 E1752 K3765 http://www.e1550.mobi/ от $3 за IMEI
Не форкаться и вывод на консоль... Я уже пробовал всё, но кроме этого Астер больше не говорит. Куда копать?
Code:
asterisk: symbol 'libiconv_open': can't resolve symbol in lib '/usr/lib/asterisk/modules/chan_dongle.so'. [Sep 3 20:36:03] WARNING[1329]: loader.c:449 load_dynamic_module: Error loading module 'chan_dongle.so': Bad handle [Sep 3 20:36:03] WARNING[1329]: loader.c:839 load_resource: Module 'chan_dongle.so' could not be loaded.´
Нужно решить проблему. Так как я ни разу не сталкивался с такой проблемой, я понятия не имею куда копать. Не резольвится символ "libiconv_open" - это я уже понял несколько дней назад. Но что это значит? Что делать (что где нажимать) чтобы проблема исчезла?
Если я не ошибаюсь, то chan_dongle.so должен смотреть в /usr/lib и найти там libiconv.so или что-то на подобе этого. На VM на которой я собирал OpenWrt ldd мне показывает:
убери портянку эту ) ты пойми, на x86 у тебя стоит libc и там есть символ iconv_open а на openwrt ставиться не libc а uclib который сильно усечён и iconv там нет, поэтому и надо ставить либу
Ребята кто запускал модем Huawei E150 подскажите, вообщем столкнулся с такой проблемой: Стоит Aster 1.8.6 установлен модуль dongle отсюда http://wiki.e1550.mobi/doku.php?id=installation Модем Huawei 1550 установлен и работает норм, после установки платы PCI-USB2.0, но в связи с единичным наличием 1550, решено было использовать Е150. Для начала хотел запустить 1 шт (в планах было 2). Воткнул его, он определился, все норм, но для корректной работы голоса в обе стороны необходимо установка другого модуля. Устанавливал как описано тут http://wiki.e1550.mobi/doku.php?id=troub ... uawei_e150 поставил git
потом запускаю астер, и вижу что модем не коннектиться по тем портам на которых он раньше сидел. После ребута машины вижу следующую ситуацию
Code:
# dmesg | grep -i usb [ 0.155214] usbcore: registered new interface driver usbfs [ 0.155244] usbcore: registered new interface driver hub [ 0.155315] usbcore: registered new device driver usb [ 0.318792] ehci_hcd: USB 2.0 'Enhanced' Host Controller (EHCI) Driver [ 0.318996] ehci_hcd 0000:00:0a.2: new USB bus registered, assigned bus number 1 [ 0.368083] ehci_hcd 0000:00:0a.2: USB 2.0 started, EHCI 1.00 [ 0.368580] hub 1-0:1.0: USB hub found [ 0.368760] ohci_hcd: USB 1.1 'Open' Host Controller (OHCI) Driver [ 0.368802] uhci_hcd: USB Universal Host Controller Interface driver [ 0.370139] uhci_hcd 0000:00:07.2: new USB bus registered, assigned bus number 2 [ 0.370513] hub 2-0:1.0: USB hub found [ 0.370791] uhci_hcd 0000:00:07.3: new USB bus registered, assigned bus number 3 [ 0.371066] hub 3-0:1.0: USB hub found [ 0.371276] uhci_hcd 0000:00:0a.0: new USB bus registered, assigned bus number 4 [ 0.371612] hub 4-0:1.0: USB hub found [ 0.371914] uhci_hcd 0000:00:0a.1: new USB bus registered, assigned bus number 5 [ 0.372209] hub 5-0:1.0: USB hub found [ 1.043963] usb 4-2: new full speed USB device using uhci_hcd and address 2 [ 1.832065] Initializing USB Mass Storage driver... [ 1.832605] usbcore: registered new interface driver usb-storage [ 1.832610] USB Mass Storage support registered. [ 15.080144] usbcore: registered new interface driver usbserial [ 15.080458] USB Serial support registered for generic [ 15.081647] usbcore: registered new interface driver usbserial_generic [ 15.081654] usbserial: USB Serial Driver core
т.е. устройство видится но не определяется. что я не так сделал, и что необходимо сделать, чтобы восстановить работоспособность модема???
переустановил usb-modeswitch, модули dongla и модуль для E150, но ничего не поменялось.
Где можно настроить Makefile так, чтобы в ldd был "libiconv.so => (0x00222000) "? Или как впихать всё что есть в libiconv в готовый chan_dongle.so, так чтобы этот libiconv вообще нафиг не нужен был?
Бросил я OpenWrt и поставил Voyage. Всё пашет, но проблема с discovery. Не видит модемы. Причём если я ставлю на data=... а не imsi=..., то всё нормально работает. И если теперь опять поставить imsi=... и не использовать data=..., то все модемы нормально находятся (вроде дисковери работает). Могу даже делать "core stop now" и стартовать Астериск заново. Все модемы на месте. Перестартовываю всю систему с этим конфигом, и ни одного модема не видно. В чём здесь проблема?
и всё работает. Но это ведь не логично - что если я вытащу из двух модемов SIMки и поменяю их местами? ... Поэтому определение только по IMSI было бы лучше.
конечно лучше, но автор сказал что возможны траблы вот на них и попались.
Added after 16 minutes:
Ребята ну подскажите как модем Е150 запустить, переставил систему, начисто. Поставил Aster 1.8.6, потом установил модуль Dongla. Потом по инструкции http://wiki.e1550.mobi/doku.php?id=troub ... uawei_e150 заменил драйвер. Ребутнулся, толку ноль, так же односторонняя слышимость. Ладно хоть система модем сейчас видит.
Cпасибо большое, сейчас испытаю и отзовусь. Так как у меня с OpenWrt не получалось я поставил новейший Ubuntu с 3.0.0.10 ядром Линукса. USSD или не посылаются, или посылаются но приходят пустые ответы (зависит от того через какой модем ussd посылаю). Думал косяк у меня, поставил Debian squeeze, но проблема не исчезла. В дебаге ничего особенного.
Last edited by PsychoMantis on Wed Sep 14, 2011 13:05
По идее это K3765, но после последнего firmware-update он стал E1762. Добавил '"E1762",' после строки at_response.c:1587 (cпасибо за совет ) и теперь что-то в ответ приходит, но
SIMка если что от мегафона и здесь в Германии в роуминге. Входящие SMS и USSD бесплатны, а звонки через мультифон делаю. Если посылаю #100# вместо *100#, то по идее ведь USSD должен ответить в транслитерации, но ответ тоже не читаемый:
до передачи в диалплан, он на консоль выводится тип и тело USSD. там лучше и смотреть. если декодировать не может - пишет CUSD который не смог декодировать. А вообще это у тебя что за ОС? эмбеднутая ? На openwrt как не крути либы порезаны и UCS-2 в UTF-8 и наоборот не может.
посылаешь #100# модем OK говорит и тишина
Кстати, всё жаловались немцы и испанцы на умляуты и прочие странные символы. Я покопался, оказалось исторически что GSM 7bit binary модуль читает равным UTF-8 )) что мягко говоря совсем не так (проще говоря совсем не так!)
8Bit binary считает равным UTF-8, хотя на самом деле это latin-1 или оно же ISO8859_1
Добавим сюда, что операторы шлют USSD в фиг знает какой кодировке, а dcs значение показывает температуру, а модем в зависимости от модели хочет слать то 7Bit то UCS-2 и получим полную жопу, которую и имеем. _________________ Свежак chan_dongle тут http://code.google.com/p/asterisk-chan-dongle Читайте, дополняйте wiki http://wiki.e1550.mobi/ Смена IMEI Huawei E1550 E173 E1752 K3765 http://www.e1550.mobi/ от $3 за IMEI
Нельзя ли это сделать так, чтобы и в консоль и в /var/log/asterisk/ussd.txt сразу по русски писалось? Мне надо как то остаток минут автоматом в AstDB вписать. Вроде можно с "iconv -f utf-8 -t MS-CYRL /var/log/asterisk/ussd.txt > bla.txt"
И по поводу "и получим полную жопу": как решить проблему? С сотовых телефонов ведь USSD отправляешь, и ответ обычно читаемый приходит. Я имею в виду как сотовый телефон различает в каком формате пришёл ответ?
Или просто каждый пользователь chan_dongle должен знать от какого провайдера ему что в каком формате приходит и с программой ICONV в линуксе декодировать сам. Хочу замутить для моин нищих друзей такую чтуку: если приходит смс с просьбой дозвона, то callback SMS не приходят почемуто, только если smsaspdu=no стоит, то приходят (не читаемые).
Last edited by PsychoMantis on Sat Sep 10, 2011 22:42
А есть ли у кого-то опыт использования chan_dongle в VMware (в моём случае это ESXi)?
Проблема вот в чём, есть 3 модема. Из них стабильно один пробрасывается в виртуальной машине на шину USB 2.0, а остальные — на 1.1, они же постоянно отваливаются. Тот, который на 2.0 работает отлично. Можно ли это как-то победить, сделать, чтобы все модемы вешались на 2.0? Контроллер в сервере, разумеется, 2.0
вот вывод lsusb:
Code:
root@bebian-asterisk:~# lsusb Bus 002 Device 014: ID 12d1:1001 Huawei Technologies Co., Ltd. E620 USB Modem Bus 002 Device 013: ID 12d1:1001 Huawei Technologies Co., Ltd. E620 USB Modem Bus 002 Device 003: ID 0e0f:0002 VMware, Inc. Virtual USB Hub Bus 002 Device 002: ID 0e0f:0003 VMware, Inc. Virtual Mouse Bus 002 Device 001: ID 1d6b:0001 Linux Foundation 1.1 root hub Bus 001 Device 010: ID 12d1:1001 Huawei Technologies Co., Ltd. E620 USB Modem Bus 001 Device 001: ID 1d6b:0002 Linux Foundation 2.0 root hub
На openwrt как не крути либы порезаны и UCS-2 в UTF-8 и наоборот не может.
Если перед тем как строить OpenWrt (c libiconv-full) просто тупо стереть папку packages/libs/libiconv-full/patches, то либа получается полноценная. Весь openwrt-image правда сразу на почти пол мегабайта больше становится (так как сама либа почти один МБ весит), но это не важно. Только что на это наткнулся, так как мне весь libiconv нужет, а не кастрированный.
опыт использования chan_dongle в гипервизоре KVM \ XEN
опыт использования chan_dongle в гипервизоре KVM \ XEN:
работает нормально в Dom0 XEN и в самом гипервизоре KVM.
проброс USB в гостя не делал, так как там только USB 1.1
также при пробросе USB в "гостя", некоторые банковские USB ключи не работали, поэтому от попыток заставить нормально работать несколько модемов в гостевой ОС отказался.
Опыт с OpenWrt: всё работает отлично. Если даже SMS или USSD приходят не в том формате, то можно с помощью функции астериска iconv всё переконвертировать как надо. Прикладываю image своего Рутера. Может кому пригодится.
Добрый день! На компе установлена ubuntu: Linux ubuntu 2.6.38-8-generic-pae #42-Ubuntu SMP Mon Apr 11 05:17:09 UTC 2011 i686 athlon i386 GNU/Linux
Установлен asterisk: Asterisk 1.8.6.0 built by root @ ubuntu on a i686 running Linux on 2011-09-12 18:41:17 UTC
Установлен dongle: chan_dongle: Huawei 3G Dongle Channel Driver, Version 1.1, Revision 11
Модемы: E1550 - 11.609.18.00.00
Подключено два модема к usb с использованием 5 вольт с блока питания.
В общем проблема такая - периодически при звонках, слышен только один из собеседников (причем не слышно то с одной то с другой стороны asterisk). Ни reset ни перезагрузка всего компьютера результата не дает, помогает только переключение модема на другое usb гнездо. В логах ничего подозрительного не появляется кроме:
Code:
WARNING[1762]: channel.c:984 channel_indicate: [Dongle/dongle1-0100000012] Don't know how to indicate condition 22
В общем проблема такая - периодически при звонках, слышен только один из собеседников
а модемы в что подключены? было такое когда были на одном хабе китайском, разнес по разным портам УСБ компа, и все стало гуд, и без пропаданий. И причем драйвер NOVAXa в этой схеме? данный драйвер для модемов Е150 убирает одностороннюю слышимость. Так что разноси по разным портам УСБ и не парься.
Мне посылают смс с https://sendsms.megafon.ru/ и если пишут все 160 знаков, то смс делится почемуто на три части и приходят три смс. В dongle.conf smsaspdu=no стоит, иначе вообще глючит. Вопрос: почему приходят три смс и где в исходниках что переправить чтобы приходила одна?
В общем проблема такая - периодически при звонках, слышен только один из собеседников
а модемы в что подключены? было такое когда были на одном хабе китайском, разнес по разным портам УСБ компа, и все стало гуд, и без пропаданий. И причем драйвер NOVAXa в этой схеме? данный драйвер для модемов Е150 убирает одностороннюю слышимость. Так что разноси по разным портам УСБ и не парься.
Модемы подключены безо всяких хабов, напрямую к USB портам компа.... А вообще у кого какая статистика использования такой схемы? Как часто наблюдаются падения, зависания звука и т.п.?
на group.google.com ответили уже. реализовывать сборку sms нафиг канальному драйверу астериска не надо... это просто ШЛЮЗ к модему... достали PDU из модема - делайте что хотите с ними снаружи... _________________ Свежак chan_dongle тут http://code.google.com/p/asterisk-chan-dongle Читайте, дополняйте wiki http://wiki.e1550.mobi/ Смена IMEI Huawei E1550 E173 E1752 K3765 http://www.e1550.mobi/ от $3 за IMEI
Не мы же не програмисты. Не умеем это сделать. Но как бы там ни было. Ты спрограммировал (или допрограммировал?) отличный channel-driver за который мы так и так (и без всяких смсок) благодарны. На моём OpenWrt работает отлично. Просто как говорится: мечтать не вредно.
@ all Кто нибудь может знает как это именно делается (доставать пду и собирать смски)? И длинные смски слать тоже не плохо было бы. Нашёл инфо.
Last edited by PsychoMantis on Mon Sep 19, 2011 12:14
Здравствуйте. Приобрел модем E1550 от Киевстара, изначально дороже с рук, т.к. заявлена разблокировка голоса, а также отвязан от оператора. Но когда дома поключил и проверил через dc-unlocker - то там написано Поддержка голоса: отключена. Но через U'tel Manager я смог позвонить и поговорить. Подскажите, пожалуйста, в Linux'e будет голос работать или нет? Есть возможность вернуть модем и попросить включить поддержку голоса.
Также по поводу включения модема в роутер, если модем только один, то можно его вставлять напрямую без usb-хаба с дополнительным питанием? Я отключил эмуляцию CD-ROM'a. Возможно ли одновременная работа кардридера и модема? Хочу установить OpenWRT на флешку через extroot.
dc-unlocker вас обманывает чтобы вы голос у него купили. как устройство с потреблением 2.5W будет работать на блоке с 1W ? ставить rootfs на флешку в модеме не надо 200%. _________________ Свежак chan_dongle тут http://code.google.com/p/asterisk-chan-dongle Читайте, дополняйте wiki http://wiki.e1550.mobi/ Смена IMEI Huawei E1550 E173 E1752 K3765 http://www.e1550.mobi/ от $3 за IMEI
Модемы иногда могут зависнуть, или их иногда нужно перестартануть. Поставь лучше хаб и засунь туда отдельную флэшку если тебе важна стабильность. Я скомпилировал для тебя OpenWrt. Там астериск и донгл сразу на флэш от рутера пойдёт в squashfs.
Last edited by PsychoMantis on Wed Oct 05, 2011 14:56
Обнаружил проблему с некоторыми USSD, а конкретнее - с переадресацией. К примеру, безусловная переадресация *21*0501234567#
Code:
gsm*CLI> dongle ussd dc1 *21*0501234567# [dc1] USSD queued for send with id 0xa100208 -- [dc1] Successfully sent USSD 0xa100208 [Oct 6 17:54:50] NOTICE[9307]: at_response.c:267 at_response_ok: [dc1] Successfully sent USSD 0xa100208 [dc1] Got USSD type 2 'USSD Terminated by network': '' -- Executing [ussd@from_gsm:1] Set("Local/ussd@from_gsm-8c50;1", "type=2") in new stack -- Executing [ussd@from_gsm:2] Set("Local/ussd@from_gsm-8c50;1", "typestr=USSD Terminated by network") in new stack -- Executing [ussd@from_gsm:3] Set("Local/ussd@from_gsm-8c50;1", "ussd=") in new stack
Проявляется на контрактах МТС (Украина), при этом с телефона все отрабатывает и другие USSD работают корректно.
Распознавание DTMF непригодно для практического применения. Распознается только в условиях идеального приема (а такие условия практически никогда не бывают). Настройки не помогают, ошибок около 50% - IVR пользоваться невозможно
У мобильных операторов ведь все распознается (даже в очень плохих условиях связи их меню работает), значит проблема в обработке сигнала (алгоритме)! Можно что-нибудь сделать? (хоть усиление сигнала какое - я не силен в DSP)
И еще (менее важное), можно ли сделать, чтобы статус отправки SMS можно было проверять, т.к. chan_dongle и kannel на одном модеме работать не будут.
Там ничего не написано про то, почему оно не работает как следует. Насколько я понял, пролистав эту тему, проблема с DTMF не у меня одного. Решения нет до сих пор...
В логах такое:
Code:
[Sep 12 18:28:16] DTMF[1910] channel.c: DTMF begin ignored '8' on Dongle/GSM-2-0100000014 [Sep 12 18:28:16] DTMF[1910] channel.c: DTMF begin '#' received on Dongle/GSM-2-0100000014 [Sep 12 18:28:16] DTMF[1910] channel.c: DTMF begin ignored '#' on Dongle/GSM-2-0100000014 [Sep 12 18:28:18] DTMF[1910] channel.c: DTMF begin '6' received on Dongle/GSM-2-0100000014 [Sep 12 18:28:18] DTMF[1910] channel.c: DTMF begin ignored '6' on Dongle/GSM-2-0100000014 [Sep 12 18:28:19] DTMF[1910] channel.c: DTMF begin '0' received on Dongle/GSM-2-0100000014 [Sep 12 18:28:19] DTMF[1910] channel.c: DTMF begin ignored '0' on Dongle/GSM-2-0100000014 [Sep 12 18:28:20] DTMF[1910] channel.c: DTMF begin '8' received on Dongle/GSM-2-0100000014 [Sep 12 18:28:20] DTMF[1910] channel.c: DTMF begin passthrough '8' on Dongle/GSM-2-0100000014 [Sep 12 18:28:21] DTMF[1910] channel.c: DTMF begin '#' received on Dongle/GSM-2-0100000014 [Sep 12 18:28:21] DTMF[1910] channel.c: DTMF begin passthrough '#' on Dongle/GSM-2-0100000014 [Sep 12 18:30:37] DTMF[1926] channel.c: DTMF begin '6' received on Dongle/GSM-2-0100000015 [Sep 12 18:30:37] DTMF[1926] channel.c: DTMF begin ignored '6' on Dongle/GSM-2-0100000015 [Sep 12 18:30:37] DTMF[1926] channel.c: DTMF end '6' received on Dongle/GSM-2-0100000015, duration 63 ms
Повторюсь, что настройки я "крутил" уже во всех возможных и невозможных комбинациях. Если же длительность символа поставить близкую к нулю, то оно уже и голос начинает воспринимать за DTMF (но сам DTMF лучше не распознается!), что подтверждает версию о плохом алгоритме.
Если кому интересно решение(не бесплатно) пишите обсудим.
Офигеть
А нет ли желания выложить прайс-лист на продукты опенсорса в который Вы лично вписали целую строчку "собственного" кода и поэтому получили право торговать этой строчкой?
А еще лучше прайс-лист для тех кто создавал и поддерживает донгл. А чё? Пусть покупают Ваше решение и делают его общедоступным.
Надеюсь Вы поняли что сморозили такую хрень, что должно быть стыдно
Я тоже живу в Украине и были некоторые проблемы с ДТМФ, и свое решение я опубликовал в этой теме, но даже мыслей не было поросить за это денег. Поц наверно? А может мы с Вами просто разные "по понятиям" ?
и тут этот трансвестит высветился.. http://www.voipinfo.ru/forum/viewtopic.p ... p;start=40 Вобщем на 20 килобаксов пытался народ кинуть.. Кстати никакого решения у этого ушлепка нет..будет впаривать ломаные октеллы..он даже сеть пытался продать..набрал по обьявам народ которые по одному 2 модема себе понавтыкали..дал им по ключу на октелл ну и льют они ему траф. в итоге денег мало ему показалось он решил эту сетку продать..и продатьее решил под видом сетки портечей..ну вобщем первый же покупатель его раскусил.. 2 anest ..шлепни этого ушлепка и если не сложно список ип его можно на всеобщее обозрение.
были некоторые проблемы с ДТМФ Если не секрет, как удалось решить?
Были проблемы с задвоением Правки кода не на всех операторов реагировали правильно. В частности оператор Life двоил и троил в то время как остальные работали нормально, и работал тогда когда все осталльные троили (указывал через режим/протокол ДТМФ, пытался сделать по подсказкам, менял частоты, короче пробовал много чего)
Потом - просто в диалплане проставил 0,5 секунд задержку на каждом использовании. И все! Надежно и функционально как лом и лопата. Первую цифру заглатывает а во время прихода остальных спит как сурок. Так проработало с пол года. После обновления релиза сервера эта фигня исчезла сама собой.
Уже наверное раз 20 напишу. DTMF детектится кодом который предоставляет ядро астериска, chan_dongle только вызывает или не вызывает его в зависимости от опции.
когда начало или конец символа определился кодом астериска, chan_dongle кидает его как специальный управляющий фрейм в восходящий канал.
Астериск, сука, воспроизводит этот фрейм на другую ногу звонка как НОВЫЙ DTMF и в тоже время пропускает его же на другую ногу в INBAND (т.е. прямо в звуке). Если в канале есть эхо вот и начинается ***ень.
Переадресацию я обычно включаю просто тем, что засовываю симку в простой сотовый телефон и там в меню включаю переадресацию.
Другая тема: Многие сдесь писали что с сhan_dongl проблем нет и никаких зависонов модемов нету если использовать нормальный хаб и нормальное для него питание. Я хочу это подтвердить. Поставил нормальный хаб и нормальное питание (гальванически отделённое от всего) и уже дня три в dmesg тишина.
Однако есть другая проблема: после пару дней мои Е1762 почемуто молчат (то есть звонишь через них и тишина). Позвонил вот так для теста пару раз и в dongle show device statistics видно что цифра в Bytes of wrote audio меняется а вот Bytes of readed audio остаётся. У меня три таких модема и два Е1550, которые почему-то работают нормально. Вопрос: почему не работают Е1762? Это баг в firmware huawei или бак в chan_dongle?
Еще вопрос, который уже встречался в этой ветке, но ответа так и не нашел. Во время ringing наблюдаю такой флуд в консоли:
Code:
[Oct 12 13:35:42] WARNING[8987] chan_sip.c: Asked to transmit frame type slin, while native formats is 0x8 (alaw) read/write = 0x8 (alaw)/0x8 (alaw)
После answer прекращается и голос идет отлично.
Code:
ats*CLI> core show translation Translation times between formats (in microseconds) for one second of data Source Format (Rows) Destination Format (Columns)