Probs bei ausgehende Anrufe über CAPI.

rond_nefzen

Neuer User
Mitglied seit
18 Apr 2006
Beiträge
35
Punkte für Reaktionen
0
Punkte
0
Tach alle zusammen!

In viele Beiträge wird das zwar beschrieben wie man die Leitungen für ausgehende Gespräche über CAPI konfigurieren muss jedoch hat dies bei mir nicht viel gebracht.

Anrufe von ISDN nach SIP funktioniert umgekehrt leider nicht.
Folgendes steht in der CLI:

-- Executing Macro("SIP/31-df40", "dialout-trunk|2|01731111111||") in new stack
-- Executing GotoIf("SIP/31-df40", "1?3:2") in new stack
-- Goto (macro-dialout-trunk,s,3)
-- Executing Macro("SIP/31-df40", "user-callerid") in new stack
-- Executing GotoIf("SIP/31-df40", "0?report") in new stack
-- Executing GotoIf("SIP/31-df40", "0?start") in new stack
-- Executing Set("SIP/31-df40", "REALCALLERIDNUM=31") in new stack
-- Executing NoOp("SIP/31-df40", "REALCALLERIDNUM is 31") in new stack
-- Executing Set("SIP/31-df40", "AMPUSER=31") in new stack
-- Executing Set("SIP/31-df40", "AMPUSERCIDNAME=MAK") in new stack
-- Executing GotoIf("SIP/31-df40", "0?report") in new stack
-- Executing Set("SIP/31-df40", "CALLERID(all)="MAK" <31>") in new stack
-- Executing NoOp("SIP/31-df40", "Using CallerID "MAK" <31>") in new stack
-- Executing Macro("SIP/31-df40", "record-enable|31|OUT") in new stack
-- Executing GotoIf("SIP/31-df40", "0 > 0?2:4") in new stack
-- Goto (macro-record-enable,s,4)
-- Executing AGI("SIP/31-df40", "recordingcheck|20060529-121115|asterisk-3645-1148897475.5") in new stack
-- Launched AGI Script /var/lib/asterisk/agi-bin/recordingcheck
recordingcheck|20060529-121115|asterisk-3645-1148897475.5: Outbound recording not enabled
-- AGI Script recordingcheck completed, returning 0
-- Executing NoOp("SIP/31-df40", "No recording needed") in new stack
-- Executing Macro("SIP/31-df40", "outbound-callerid|2") in new stack
-- Executing GotoIf("SIP/31-df40", "1?start") in new stack
-- Goto (macro-outbound-callerid,s,3)
-- Executing NoOp("SIP/31-df40", "REALCALLERIDNUM is 31") in new stack
-- Executing Set("SIP/31-df40", "USEROUTCID=25") in new stack
-- Executing Set("SIP/31-df40", "EMERGENCYCID=") in new stack
-- Executing Set("SIP/31-df40", "TRUNKOUTCID=ISDN-out") in new stack
-- Executing GotoIf("SIP/31-df40", "1?trunkcid") in new stack
-- Goto (macro-outbound-callerid,s,11)
-- Executing GotoIf("SIP/31-df40", "0?usercid") in new stack
-- Executing Set("SIP/31-df40", "CALLERID(all)=ISDN-out") in new stack
-- Executing GotoIf("SIP/31-df40", "0?report") in new stack
-- Executing Set("SIP/31-df40", "CALLERID(all)=25") in new stack
-- Executing NoOp("SIP/31-df40", "CallerID set to "" <25>") in new stack
-- Executing Set("SIP/31-df40", "GROUP()=OUT_2") in new stack
-- Executing GotoIf("SIP/31-df40", "0?108") in new stack
-- Executing Set("SIP/31-df40", "DIAL_NUMBER=01731111111") in new stack
-- Executing Set("SIP/31-df40", "DIAL_TRUNK=2") in new stack
-- Executing AGI("SIP/31-df40", "fixlocalprefix") in new stack
-- Launched AGI Script /var/lib/asterisk/agi-bin/fixlocalprefix
-- AGI Script fixlocalprefix completed, returning 0
-- Executing Set("SIP/31-df40", "OUTNUM=01731111111") in new stack
-- Executing Set("SIP/31-df40", "custom=AMP") in new stack
-- Executing GotoIf("SIP/31-df40", "1?16") in new stack
-- Goto (macro-dialout-trunk,s,16)
-- Executing Set("SIP/31-df40", "pre_num=AMP:CAPI/") in new stack
-- Executing Set("SIP/31-df40", "the_num=OUTNUM") in new stack
-- Executing Set("SIP/31-df40", "post_num=") in new stack
-- Executing GotoIf("SIP/31-df40", "1?20:21") in new stack
-- Goto (macro-dialout-trunk,s,20)
-- Executing Set("SIP/31-df40", "the_num=01731111111") in new stack
-- Executing SetVar("SIP/31-df40", "the_msn=25:") in new stack
-- Executing Dial("SIP/31-df40", "CAPI/01731111111|120|r") in new stack
-- didn't find capi device for interface '01731111111'
== Everyone is busy/congested at this time (1:0/0/1)
-- Executing Goto("SIP/31-df40", "s-CHANUNAVAIL|1") in new stack
-- Goto (macro-dialout-trunk,s-CHANUNAVAIL,1)
-- Executing NoOp("SIP/31-df40", "Dial failed due to CHANUNAVAIL") in new stack
-- Executing Macro("SIP/31-df40", "outisbusy|") in new stack
-- Executing Playback("SIP/31-df40", "all-circuits-busy-now") in new stack
-- Playing 'all-circuits-busy-now' (language 'de')
-- Executing Playback("SIP/31-df40", "pls-try-call-later") in new stack
-- Playing 'pls-try-call-later' (language 'de')
-- Executing Macro("SIP/31-df40", "hangupcall") in new stack
-- Executing ResetCDR("SIP/31-df40", "w") in new stack
-- Executing NoCDR("SIP/31-df40", "") in new stack
-- Executing Wait("SIP/31-df40", "5") in new stack
-- Executing Hangup("SIP/31-df40", "") in new stack
== Spawn extension (macro-hangupcall, s, 4) exited non-zero on 'SIP/31-df40' in macro 'hangupcall'
== Spawn extension (macro-outisbusy, s, 3) exited non-zero on 'SIP/31-df40' in macro 'outisbusy'
== Spawn extension (from-internal, 30173111111, 2) exited non-zero on 'SIP/31-df40'
-- Executing Macro("SIP/31-df40", "hangupcall") in new stack
-- Executing ResetCDR("SIP/31-df40", "w") in new stack
-- Executing NoCDR("SIP/31-df40", "") in new stack
-- Executing Wait("SIP/31-df40", "5") in new stack
-- Executing Hangup("SIP/31-df40", "") in new stack
== Spawn extension (macro-hangupcall, s, 4) exited non-zero on 'SIP/31-df40' in macro 'hangupcall'
== Spawn extension (from-internal, h, 1) exited non-zero on 'SIP/31-df40'

Die rotmarkierte Zeile könnte das Problem sein aber wo soll ich das korrigieren?

Das habe ich bereits gemacht:

- eine Benutzerdefinierte Hauptleitung hinzugefügt, und CAPI/$OUTNUM$ als Wählparameter.
- Eine Nebenstelle hinzugefügt und bei Outbound CID die 13 (MSN) eingetragen.
- in der extensions.conf under [macro-dialout-trunk] die rotmarkierte Zeile hinzugefügt.

[macro-dialout-trunk]
exten => s,1,GotoIf($["${ARG3}" = ""]?3:2) ; arg3 is pattern password
exten => s,2,Authenticate(${ARG3})
exten => s,3,Macro(user-callerid)
exten => s,4,Macro(record-enable,${CALLERID(number)},OUT)
exten => s,5,Macro(outbound-callerid,${ARG1})
exten => s,6,Set(GROUP()=OUT_${ARG1})
exten => s,7,GotoIf($[ ${GROUP_COUNT()} > ${OUTMAXCHANS_${ARG1}} ]?108 )
; if we've used up the max channels, continue at (n+101)
exten => s,8,Set(DIAL_NUMBER=${ARG2})
exten => s,9,Set(DIAL_TRUNK=${ARG1})
exten => s,10,AGI(fixlocalprefix) ; this sets DIAL_NUMBER to the proper dial string for this trunk
exten => s,11,Set(OUTNUM=${OUTPREFIX_${ARG1}}${DIAL_NUMBER}) ; OUTNUM is the final dial number
exten => s,12,Set(custom=${CUT(OUT_${ARG1},:,1)}) ; Custom trunks are prefixed with "AMP:"
exten => s,13,GotoIf($["${custom}" = "AMP"]?16)
exten => s,14,Dial(${OUT_${ARG1}}/${OUTNUM},120,${TRUNK_OPTIONS}) ; Regular Trunk Dial
exten => s,15,Goto(s-${DIALSTATUS},1)

; This is a custom trunk. Substitute $OUTNUM$ with the actual number and rebuild the dialstring
; example trunks: "AMP:CAPI/XXXXXXXX:b$OUTNUM$,30,r", "AMP:OH323/[email protected]:XXXX"
exten => s,16,Set(pre_num=${CUT(OUT_${ARG1},$,1)})
exten => s,17,Set(the_num=${CUT(OUT_${ARG1},$,2)}) ; this is where we expect to find string OUTNUM
exten => s,18,Set(post_num=${CUT(OUT_${ARG1},$,3)})
exten => s,19,GotoIf($["${the_num}" = "OUTNUM"]?20:21) ; if we didn't find "OUTNUM", then skip to Dial
exten => s,20,Set(the_num=${OUTNUM}) ; replace "OUTNUM" with the actual number to dial

; ----------------Hinzugefügte Zeile------------------
exten => s,21,SetVar(the_msn=${CALLERIDNUM}: )



exten => s,22,Dial(${pre_num:4}${the_num}${post_num},120,${TRUNK_OPTIONS})
exten => s,23,Goto(s-${DIALSTATUS},1)

exten => s,108,Noop(max channels used up)

exten => s-BUSY,1,NoOp(Trunk is reporting BUSY)
exten => s-BUSY,2,Busy()
exten => s-BUSY,3,Wait(60)
exten => s-BUSY,4,NoOp()

exten => _s-.,1,NoOp(Dial failed due to ${DIALSTATUS})

; Adds a dynamic agent/member to a Queue
; Prompts for call-back number - in not entered, uses CIDNum

wie gesagt ich kann die MSN 13 von ISDN anrufen aber es geht nicht umgekehrt.

Was mache ich falsch?


Grüß

rond
 
Kostenlos!

Statistik des Forums

Themen
248,872
Beiträge
2,303,459
Mitglieder
378,532
Neuestes Mitglied
Nik320