Стоит
Elastix 2.2.0-25
ядро
# uname -mirr
2.6.33.2 i686 i386
модуль datacard, usb-modeswitch
модем определен
Создан CUSTOM Trunk GSM с Custom Dial String DATACARD/i:1234567890/$OUTNUM$
Исходящий транк DID 1234567890 выбран транк GSM
Исходящие звонки пошли правильно
Incoming Route в DID Number указан IMEI 1234567890 и кто принимает звонок
при звонке на модем имеем
[Feb 28 08:49:07] VERBOSE[12416] file.c: -- Playing 'vm-goodbye.alaw' (language 'ru')
[Feb 28 08:49:08] VERBOSE[12416] pbx.c: -- Executing [s@default:2] Macro("Datacard/datacard0-b8ff", "hangupcall") in new stack
[Feb 28 08:49:08] VERBOSE[12416] pbx.c: -- Executing [s@macro-hangupcall:1] GotoIf("Datacard/datacard0-b8ff", "1?endmixmoncheck") in new stack
[Feb 28 08:49:08] VERBOSE[12416] pbx.c: -- Goto (macro-hangupcall,s,9)
[Feb 28 08:49:08] VERBOSE[12416] pbx.c: -- Executing [s@macro-hangupcall:9] NoOp("Datacard/datacard0-b8ff", "End of MIXMON check") in new stack
[Feb 28 08:49:08] VERBOSE[12416] pbx.c: -- Executing [s@macro-hangupcall:10] GotoIf("Datacard/datacard0-b8ff", "1?nomeetmemon") in new stack
[Feb 28 08:49:08] VERBOSE[12416] pbx.c: -- Goto (macro-hangupcall,s,15)
[Feb 28 08:49:08] VERBOSE[12416] pbx.c: -- Executing [s@macro-hangupcall:15] NoOp("Datacard/datacard0-b8ff", "MEETME_RECORDINGFILE=") in new stack
[Feb 28 08:49:08] VERBOSE[12416] pbx.c: -- Executing [s@macro-hangupcall:16] GotoIf("Datacard/datacard0-b8ff", "1?noautomon") in new stack
[Feb 28 08:49:08] VERBOSE[12416] pbx.c: -- Goto (macro-hangupcall,s,1
[Feb 28 08:49:08] VERBOSE[12416] pbx.c: -- Executing [s@macro-hangupcall:18] NoOp("Datacard/datacard0-b8ff", "TOUCH_MONITOR_OUTPUT=") in new stack
[Feb 28 08:49:08] VERBOSE[12416] pbx.c: -- Executing [s@macro-hangupcall:19] GotoIf("Datacard/datacard0-b8ff", "1?noautomon2") in new stack
[Feb 28 08:49:08] VERBOSE[12416] pbx.c: -- Goto (macro-hangupcall,s,25)
[Feb 28 08:49:08] VERBOSE[12416] pbx.c: -- Executing [s@macro-hangupcall:25] NoOp("Datacard/datacard0-b8ff", "MONITOR_FILENAME=") in new stack
[Feb 28 08:49:08] VERBOSE[12416] pbx.c: -- Executing [s@macro-hangupcall:26] GotoIf("Datacard/datacard0-b8ff", "1?skiprg") in new stack
[Feb 28 08:49:08] VERBOSE[12416] pbx.c: -- Goto (macro-hangupcall,s,29)
[Feb 28 08:49:08] VERBOSE[12416] pbx.c: -- Executing [s@macro-hangupcall:29] GotoIf("Datacard/datacard0-b8ff", "1?skipblkvm") in new stack
[Feb 28 08:49:08] VERBOSE[12416] pbx.c: -- Goto (macro-hangupcall,s,32)
[Feb 28 08:49:08] VERBOSE[12416] pbx.c: -- Executing [s@macro-hangupcall:32] GotoIf("Datacard/datacard0-b8ff", "1?theend") in new stack
[Feb 28 08:49:08] VERBOSE[12416] pbx.c: -- Goto (macro-hangupcall,s,34)
[Feb 28 08:49:08] VERBOSE[12416] pbx.c: -- Executing [s@macro-hangupcall:34] Hangup("Datacard/datacard0-b8ff", "") in new stack
P.S.
[incoming-datacard]
exten => sms,1,Verbose(Incoming SMS from ${CALLERID(num)} ${SMS})
exten => sms,n,System(echo '${STRFTIME(${EPOCH},,%Y-%m-%d %H:%M:%S)} - ${DATACARD} - ${CALLERID(num)}: ${SMS}' >> /var/log/asterisk/sms.txt)
exten => sms,n,Hangup()
exten => ussd,1,Verbose(Incoming USSD: ${USSD})
exten => ussd,n,System(echo '${STRFTIME(${EPOCH},,%Y-%m-%d %H:%M:%S)} - ${DATACARD}: ${USSD}' >> /var/log/asterisk/ussd.txt)
exten => ussd,n,Hangup()
[datacard0]
audio=/dev/ttyUSB1 ; tty for audio connection
data=/dev/ttyUSB2 ; tty for AT commands
contex=incoming-datacard
group=0
rxgain=3
txgain=-4 ; calling group
u2diag=0
callingpres=allowed_passed_screen
usecallingpres=yes
autodeletesms=yes
resetdatacard=yes
Подскажите плз. где рыть?
ну и два, коль прописываете дид через фрипбх, то откуда этому самому фрипбх знать про контекст для модема?
вот как ответите для себя на эти вопросы, так и входящая связь заведется
Смущают некоторые вещи
транк на сипнет и город есть в sip.conf а CUSTOM транк отсутствует. Возможно его надо описать в sip-custom.conf?
Но если он не описан то как проходит вызов через него?
Если его описывать то как?
поиск по форуму ответа пока не дал
CUSTOM-транк, созданный через freepbx, служит для возможности выбора его в исходящей маршрутизации и только.
у вас есть контекст, назначенный для обработки входящих соединений (голос/смс/юссд) на модем, - incoming-datacard, вот с ним и нужно работать. а там пока только маршруты для смс и юссд, следовательно нужно прописать маршрут и для голоса, чтобы вызовы в дефолт не сыпылись
| Код: |
| [incoming-datacard] exten => sms,1,Verbose(Incoming SMS from ${CALLERID(num)} ${SMS}) exten => sms,n,System(echo '${STRFTIME(${EPOCH},,%Y-%m-%d %H:%M:%S)} - ${DATACARD} - ${CALLERID(num)}: ${SMS}' >> /var/log/asterisk/sms.txt) exten => sms,n,Hangup() exten => ussd,1,Verbose(Incoming USSD: ${USSD}) exten => ussd,n,System(echo '${STRFTIME(${EPOCH},,%Y-%m-%d %H:%M:%S)} - ${DATACARD}: ${USSD}' >> /var/log/asterisk/ussd.txt) exten => ussd,n,Hangup() exten => s,1,Goto(from-pstn,${IMEI},1) |
а вообще аналогичная тема по модемам с неделю назад поднималась - пользуйтесь поиском