Нет. просто его from-internal не знает , что делать с набранными "88".
zzuz ( 2011-12-31 01:56:33 +0400 )редактироватьДоброго времени суток. Есть функционирующий городской транк и gsm шлюз на базе huawei e1550. Настроил DISA, входящую маршрутизацию так, чтобы звонки с определенного номера попадали на нее. Однако после донабора просто сбрасывает. В логах: '
Executing [s@from-gsm:1] Set("Datacard/000101-0100000003", "CALLERID(all)=+38063XXXXXXX") in new stack
-- Executing [s@from-gsm:2] Set("Datacard/000101-0100000003", "CALLERID(num)=88063XXXXXXX") in new stack
-- Executing [s@from-gsm:3] Goto("Datacard/000101-0100000003", "from-trunk,354638040791161,1") in new stack
-- Goto (from-trunk,354638040791161,1)
-- Executing [354638040791161@from-trunk:1] Set("Datacard/000101-0100000003", "__FROM_DID=354638040791161") in new stack
-- Executing [354638040791161@from-trunk:2] Gosub("Datacard/000101-0100000003", "app-blacklist-check,s,1") in new stack
-- Executing [s@app-blacklist-check:1] GotoIf("Datacard/000101-0100000003", "0?blacklisted") in new stack
-- Executing [s@app-blacklist-check:2] Set("Datacard/000101-0100000003", "CALLED_BLACKLIST=1") in new stack
-- Executing [s@app-blacklist-check:3] Return("Datacard/000101-0100000003", "") in new stack
-- Executing [354638040791161@from-trunk:3] Set("Datacard/000101-0100000003", "CHANNEL(language)=ru") in new stack
-- Executing [354638040791161@from-trunk:4] ExecIf("Datacard/000101-0100000003", "1 ?Set(CALLERID(name)=88063XXXXXXX)") in new stack
-- Executing [354638040791161@from-trunk:5] Set("Datacard/000101-0100000003", "__CALLINGPRES_SV=allowed_not_screened") in new stack
-- Executing [354638040791161@from-trunk:6] Set("Datacard/000101-0100000003", "CALLERPRES()=allowed_not_screened") in new stack
-- Executing [354638040791161@from-trunk:7] Goto("Datacard/000101-0100000003", "disa,1,1") in new stack
-- Goto (disa,1,1)
-- Executing [1@disa:1] Answer("Datacard/000101-0100000003", "") in new stack
-- Executing [1@disa:2] Set("Datacard/000101-0100000003", "_DISA=disa^1^newcall") in new stack
-- Executing [1@disa:3] Set("Datacard/000101-0100000003", "_DISACONTEXT=from-internal") in new stack
-- Executing [1@disa:4] Set("Datacard/000101-0100000003", "_KEEPCID=TRUE") in new stack
-- Executing [1@disa:5] Set("Datacard/000101-0100000003", "_HANGUP=") in new stack
-- Executing [1@disa:6] Set("Datacard/000101-0100000003", "TIMEOUT(digit)=5") in new stack
-- Digit timeout set to 5.000
-- Executing [1@disa:7] Set("Datacard/000101-0100000003", "TIMEOUT(response)=10") in new stack
-- Response timeout set to 10.000
-- Executing [1@disa:8] Set("Datacard/000101-0100000003", "CALLERID(all)=063XXXXXXX") in new stack
-- Executing [1@disa:9] Set("Datacard/000101-0100000003", "__REALCALLERIDNUM=XXXXXXX") in new stack
-- Executing [1@disa:10] DISA("Datacard/000101-0100000003", "no-password,disa-dial") in new stack
-- Executing [88@disa-dial:1] NoOp("Datacard/000101-0100000003", "called 88 in from-internal by ID: 1") in new stack
-- Executing [88@disa-dial:2] Dial("Datacard/000101-0100000003", "Local/88@from-internal,300,") in new stack
-- Called Local/88@from-internal
-- Executing [88@from-internal:1] ResetCDR("Local/88@from-internal-2cb7;2", "") in new stack
-- Executing [88@from-internal:2] NoCDR("Local/88@from-internal-2cb7;2", "") in new stack
-- Executing [88@from-internal:3] Progress("Local/88@from-internal-2cb7;2", "") in new stack
-- Local/88@from-internal-2cb7;1 is making progress passing it to Datacard/000101-0100000003
-- Executing [88@from-internal:4] Wait("Local/88@from-internal-2cb7;2", "1") in new stack
-- Executing [88@from-internal:5] Progress("Local/88@from-internal-2cb7;2", "") in new stack
-- Executing [88@from-internal:6] Playback("Local/88@from-internal-2cb7;2", "silence/1&cannot-complete-as-dialed&check-number-dial-again,noanswer") in new stack
-- Local/88@from-internal-2cb7;1 is making progress passing it to Datacard/000101-0100000003
-- <Local/88@from-internal-2cb7;2> Playing 'silence/1.gsm' (language 'en')
-- <Local/88@from-internal-2cb7;2> Playing 'cannot-complete-as-dialed.ulaw' (language 'en')
-- <Local/88@from-internal-2cb7;2> Playing 'check-number-dial-again.ulaw' (language 'en')
-- Executing [88@from-internal:7] Wait("Local/88@from-internal-2cb7;2", "1") in new stack
-- Executing [88@from-internal:8] Congestion("Local/88@from-internal-2cb7;2", "20") in new stack
-- Local/88@from-internal-2cb7;1 is circuit-busy Spawn extension (from-internal, 88, 8) exited non-zero on 'Local/88@from-internal-2cb7;2'
-- Executing [h@from-internal:1] Hangup("Local/88@from-internal-2cb7;2", "") in new stack
== Spawn extension (from-internal, h, 1) exited non-zero on 'Local/88@from-internal-2cb7;2' == Everyone is busy/congested at this time (1:0/1/0) -- Executing [88@disa-dial:3] Gosub("Datacard/000101-0100000003", "s-CONGESTION,1") in new stack -- Executing [s-CONGESTION@disa-dial:1] NoOp("Datacard/000101-0100000003", "DISA Dial failed due to CONGESTION - returning to dial tone") in new stack -- Executing [s-CONGESTION@disa-dial:2] PlayTones("Datacard/000101-0100000003", "congestion") in new stack -- Executing [s-CONGESTION@disa-dial:3] Wait("Datacard/000101-0100000003", "3") in new stack -- Executing [s-CONGESTION@disa-dial:4] StopPlayTones("Datacard/000101-0100000003", "") in new stack -- Executing [s-CONGESTION@disa-dial:5] Return("Datacard/000101-0100000003", "") in new stack -- Executing [88@disa-dial:4] Goto("Datacard/000101-0100000003", "disa,1,newcall") in new stack -- Goto (disa,1,3) -- Executing [1@disa:3] Set("Datacard/000101-0100000003", "DISACONTEXT=from-internal") in new stack -- Executing [1@disa:4] Set("Datacard/000101-0100000003", "KEEPCID=TRUE") in new stack -- Executing [1@disa:5] Set("Datacard/000101-0100000003", "_HANGUP=") in new stack -- Executing [1@disa:6] Set("Datacard/000101-0100000003", "TIMEOUT(digit)=5") in new stack
'
Вот контекст для входящих на GSM шлюз прописанный в datacard.conf, думаю в нем где-то проблема, так как сам писал:
[from-gsm]
exten => s,1,Set(CALLERID(all)=${CALLERID(num)})
exten => s,n,Set(CALLERID(num)=8${CALLERID(num):2})
exten => s,n,goto(from-trunk,${IMEI},1)
PS как правильно оформить лог, debug?
Попробуй так!
[from-gsm]
exten => _.,1,Answer()
exten => _.,n,Set(CALLERID(all)=${CALLERID(num):-10})
exten => _.,n,goto(from-trunk,${IMEI},1)
значит вы чтото не донастроили в disa либо ваш шлюз сам реагирует на дтм. по вашему логу ничего сказать нельзя. телепаты в отпуске. включайте дебаг.
Нет. просто его from-internal не знает , что делать с набранными "88".
zzuz ( 2011-12-31 01:56:33 +0400 )редактироватьДля начала Asterisk должена поднять трубку exten => s,1,Answer()
А почитать?
-- Executing [1@disa:1] Answer("Datacard/000101-0100000003", "") in new stack
zzuz (
2011-12-31 01:55:16 +0400
)редактироватьВернулся к этой проблеме. Сделал отдельный контекст следующего содержания: Из дисы направил туда [vitalcontex] exten => 11,1,Dial(SIP/Frovider_OUT/048XXXXXXX)
- Called SIP/InteTelecom_OUT/048XXXXXXX
-- SIP/InteTelecom_OUT-00000047 is circuit-busy
== Everyone is busy/congested at this time (1:0/1/0)
-- Auto fallthrough, channel 'Local/11@vitalcontex-c86e;2' status is 'CONGESTION'
-- Local/11@vitalcontex-c86e;1 is circuit-busy
== Everyone is busy/congested at this time (1:0/1/0)
-- Executing [11@disa-dial:3] Gosub("Datacard/000102-010000000f", "s-CONGESTION,1") in new stack
-- Executing [s-CONGESTION@disa-dial:1] NoOp("Datacard/000102-010000000f", "DISA Dial failed due to CONGESTION - returning to dial tone") in new stack
-- Executing [s-CONGESTION@disa-dial:2] PlayTones("Datacard/000102-010000000f", "congestion") in new stack
-- Executing [s-CONGESTION@disa-dial:3] Wait("Datacard/000102-010000000f", "3") in new stack
-- Executing [s-CONGESTION@disa-dial:4] StopPlayTones("Datacard/000102-010000000f", "") in new stack
-- Executing [s-CONGESTION@disa-dial:5] Return("Datacard/000102-010000000f", "") in new stack
-- Executing [11@disa-dial:4] Goto("Datacard/000102-010000000f", "disa,2,newcall") in new stack
-- Goto (disa,2,3)
-- Executing [2@disa:3] Set("Datacard/000102-010000000f", "_DISACONTEXT=vitalcontex") in new stack
-- Executing [2@disa:4] Set("Datacard/000102-010000000f", "_KEEPCID=TRUE") in new stack
-- Executing [2@disa:5] Set("Datacard/000102-010000000f", "_HANGUP=Hg") in new stack
-- Executing [2@disa:6] Set("Datacard/000102-010000000f", "TIMEOUT(digit)=5") in new stack
-- Digit timeout set to 5.000
-- Executing [2@disa:7] Set("Datacard/000102-010000000f", "TIMEOUT(response)=10") in new stack
-- Response timeout set to 10.000
-- Executing [2@disa:8] Set("Datacard/000102-010000000f", "CALLERID(all)=067XXXXXXX") in new stack
-- Executing [2@disa:9] Set("Datacard/000102-010000000f", "__REALCALLERIDNUM=067XXXXXXX") in new stack
-- Executing [2@disa:10] DISA("Datacard/000102-010000000f", "no-password,disa-dial") in new stack
== Spawn extension (disa, 2, 10) exited non-zero on 'Datacard/000102-010000000f'
Подозреваю, что дело в провайдере, потомучто на внутренние номера и другие три транка удается дозвониться.
Задан: 2011-12-26 17:51:04 +0400
Просмотрен: 995 раз
Обновлен: Feb 11 '12
При звонке на chan_datacard - сильное эхо, но при записи разговора - все отлично, куда копать?
Шлюз GoIP1 на входящем транке + DISA для проброса вызова
Freepbx13+Asterisk13: DISA игнорирует первую цифру в номере, если она 3)
Звонок через астериск( через сип провадера) с другого номера(с сотового)
DISA не набирает конкретно номер
Проект компании "АТС Дизайн"
Asterisk® и Digium® являются зарегистрированными торговыми марками компании
Digium, Inc., США.
IP АТС Asterisk распространяется под лицензией
GNU GPL.
/etc/asterisk/logger.conf
zzuz ( 2011-12-26 19:17:56 +0400 )редактировать