Probleme mit Voicemailbox

ploieel

Aktives Mitglied
Mitglied seit
13 Mrz 2005
Beiträge
1,898
Punkte für Reaktionen
28
Punkte
48
Hallo alle;
ich habe mir den Kurs zum Asterisk mal genau angeschaut und will mir die Voicemailbox einrichten. Ich stoße aber immer wieder an meine Grenzen, die Sache will nicht funktionieren. Zunächst einmal will ich die Box mit Ansagetexten versehen, geht aber nicht. Vielleicht gibt es ja einen Hinweis dazu von Euch. Hier mal etwas Code mit Ausgaben vom Cli:


Code:
Asterisk Ready.
*CLI>   == Primary D-Channel on span 1 up for TEI 64
    -- Accepting overlap voice call from '25' to '<unspecified>' on channel 0/2, span 1
    -- Starting simple switch on 'Zap/2-1'
    -- Executing Answer("Zap/2-1", "") in new stack
    -- Executing Dial("Zap/2-1", "CAPI/25:81||Ttr") in new stack
    -- creating pipe for PLCI=-1
    -- Called 25:81
    -- CAPI[contr1/25]/0 is making progress passing it to Zap/2-1
    -- CAPI Hangingup
    -- removed pipe for PLCI = 0x101
  == No one is available to answer at this time
    -- Executing Congestion("Zap/2-1", "") in new stack
    -- Channel 0/2, span 1 got hangup
  == Spawn extension (ausgehend, 81, 3) exited non-zero on 'Zap/2-1'
    -- Executing Hangup("Zap/2-1", "") in new stack
  == Spawn extension (ausgehend, h, 1) exited non-zero on 'Zap/2-1'
    -- Hungup 'Zap/2-1'
  == Primary D-Channel on span 1 down for TEI 64
  == Primary D-Channel on span 1 up for TEI 64
  == Primary D-Channel on span 1 down for TEI 64
  == Primary D-Channel on span 1 up for TEI 64
    -- Accepting overlap voice call from '25' to '<unspecified>' on channel 0/2, span 1
    -- Starting simple switch on 'Zap/2-1'
    -- Executing Answer("Zap/2-1", "") in new stack
    -- Executing Dial("Zap/2-1", "CAPI/25:1234||Ttr") in new stack
    -- creating pipe for PLCI=-1
    -- Called 25:1234
    -- CAPI Hangingup
    -- removed pipe for PLCI = 0x101
  == No one is available to answer at this time
    -- Executing Congestion("Zap/2-1", "") in new stack
    -- Channel 0/2, span 1 got hangup
  == Spawn extension (ausgehend, 1234, 3) exited non-zero on 'Zap/2-1'
    -- Executing Hangup("Zap/2-1", "") in new stack
  == Spawn extension (ausgehend, h, 1) exited non-zero on 'Zap/2-1'
    -- Hungup 'Zap/2-1'

wobei 81 der Echotest sein soll und 1234 das PW der Mailbox. Mir ist schon klar, dass ich mit der CAPI-Karte auf die Mailbox muss, ich habe aber noch keinen Plan, wie ich das bewerkstelligen kann. Bitte um Tipps und Ratschläge, eventuell auch Konfigurationsbeispiele.
Jetzt schon vielen Dank.
 
"Die Box mit Ansagetexten versehen" machst Du doch einfach über die Mailbox selbst - da gibt es ein Optionsmenü, um Ansagen für verschiedene Zwecke aufzuzeichnen.

Zeig doch mal Deine extensions.conf, damit wir sehen, was Du bis jetzt gestrickt hast.
 
meine extensions.conf sieht ein wenig chaotisch aus, aber seis drum:

Code:
[globals]
IAXINFO=guest
;
;
[general]
static=yes
writeprotect=no
;
;
[internal]
exten => 1234,1,Dial(ZAP/g1/1234,20,Tt)
exten => 1234,2,Voicemail2(u1234)
exten => 1234,3,Hangup
exten => 1234,102,Voicemail2(b1234)
exten => 1234,103,Hangup
; 
;
[external-ISDN_ausgehend]
exten => _X.,1,Answer
exten => _X.,2,Dial(CAPI/25:${EXTEN},,Ttr)
exten => _X.,3,Congestion
exten => _X.,4,Hangup
;
[external-ISDN_eingehend]
exten => 3312,1,Dial(ZAP/g1/25,45,r)
exten => 50459,1,Dial(ZAP/g1/25,45,r)
exten => 50523,1,Dial(ZAP/g1/25,45,r)
exten => 50524,1,Dial(ZAP/g1/25,45,r)
;
;
exten => 50530/0162xxxxxxx,1,Wait(1)
exten => 50530/0162xxxxxxx,2,System(cp /etc/asterisk/call/callfile /var/spool/asterisk/outgoing/)
exten => 50530/0162xxxxxxx,3,Wait(1)
exten => 50530/0162xxxxxxx,4,Hangup
; 
;
[dialout]
exten => _X.,1,Answer
exten => _X.,2,Wait(30)
exten => _X.,3,DISA,no-password|dialout_now
exten => _X.,4, Hangup
exten => _X.,102,Busy
exten => h,1,Hangup
;
[dialout_now]
exten => _X.,1,SetCallerID(50534)
exten => _X.,2,Dial(SIP/${EXTEN:2}@gmx,60,tr)
; exten => _X.,4,Wait(80)
exten => _X.,3,Congestion
; exten => _.,6,Hangup
;
;
[external-BLUESIP_ausgehend]
exten => _*8.,1,Dial(SIP/${EXTEN:2}@bluesip,60,tTr)
; exten => _*8.,2,Playback(invalid)
exten => _*8.,2,Congestion
exten => _*8.,3,Busy
exten => _*8.,4,Hangup
;
[external-BLUESIP_eingehend]
exten => 089721010xxxxx,1,Dial(ZAP/g1/25,45,r)
exten => 089721010xxxxx,2,Hangup()
;
;
[external-SIPGATE_ausgehend]
exten => _*9.,1,Dial(SIP/${EXTEN:2}@sipgate,60,tTr)
; exten => _*9.,2,Playback(invalid)
exten => _*9.,2,Congestion
exten => _*9.,3,Busy
exten => _*9.,4,Hangup
;
[external-SIPGATE_eingehend]
exten => 7778667,1,Dial(ZAP/g1/25,45,r)
exten => 7778667,2,Hangup()
;
[external-GMX_ausgehend]
exten => _*7.,1,Dial(SIP/${EXTEN:2}@gmx,60,tTgH)
; exten => _*7.,2,Playback(invalid)
exten => _*7.,2,Congestion
exten => _*7.,3,Busy
exten => _*7.,4,Hangup
;
[external-GMX_eingehend]
; exten => xxxxxxxxx,1,Dial(ZAP/g1/25,45,r)
exten => 03xxxxxxxx,1,Dial(ZAP/g1/25,45,r)
exten => 03xxxxxxxx,2,Hangup()
;
[external-webde_ausgehend]
exten => _*5.,1,Dial(SIP/${EXTEN:2}@webde,60,tTgH)
exten => _*5.,2,Congestion
exten => _*5.,3,Busy
exten => _*5.,4,Hangup
;
[external-webde_eingehend]
exten => 02222xxxxxxxxx,1,Dial(ZAP/g1/25,45,r)
exten => 02222xxxxxxxxx,2,Hangup()
;
;
[external-portunity_ausgehend]
; exten => _0XXXXXX.,1,Dial(IAX2/iaxport-outbound/${EXTEN})
exten => _*6.,1,Dial(SIP/${EXTEN:2}@sip.sipport,60,tTgH)
; exten => _*6.,2,Playback(invalid)
exten => _*6.,2,Congestion
exten => _*6.,3,Busy
exten => _*6.,4,Hangup
;
;
[external-sipsnip_ausgehend]
exten => _*4.,1,Dial(SIP/${EXTEN:2}@sipsnip,60,Ttr)
; exten => _*4.,2,Playback(invalid)
exten => _*4.,2,Congestion
exten => _*4.,3,Busy
exten => _*4.,4,Hangup
;
[external-sipsnip_eingehend]
exten => xxxxxxx,1,Dial(ZAP/g1/25,45,r)
;
;
[external-voipbuster_ausgehend]
exten => _*1.,1,Dial(SIP/0049${EXTEN:2}@voipbuster,60,Ttr)
exten => _*1.,2,Congestion
exten => _*1.,3,Busy
exten => _*1.,4,Hangup

[from-iaxport]
exten => _*3.,1,Dial(IAX2/iax14977@iaxport/${EXTEN:2})
;
[vmailbox]
exten => 8000,1,VoicemailMain
;
; [Konferenzraum]
; exten => 25,1,setLanguage(de)
; exten => 25,2,Answer
; exten => 25,3,Wait(1)
; exten => 25,4,MeetMe,88
; exten => 25,5,Hangup
;
[external-ipkall_eingehend]
exten => 991234,1,Dial(ZAP/g1/25,45,r)
;
; [macro-cmd]
;
; exten => s,1,Answer
; exten => s,2,Wait(1)
; exten => s,3,Playback(de-dankeschön)
; exten => s,4,Wait(1)
; exten => s,5,System(${ARG1})
; exten => s,6,Hangup
; exten => s,102,Busy  
;
;
[voipbuster]
exten => _*0.,1,Dial(IAX2/g.immisch@voipbust/${EXTEN:2})
;
;
; exten => _X.,1,EnumLookup(49${EXTEN})
; exten => _X.,2,Dial(${ENUM}) ;; lookup was successful
; exten => _X.,3,HangUp
; exten => _X.,52,Dial(SIP/${EXTEN}@gmx,60,tr)
; exten => _X.,53,HangUp
; exten => _X.,102,Dial(CAPI/25:${EXTEN},,Ttr)
; exten => _X.,103,HangUp
;
; Zeitansage
; exten => 9999,1,Answer
; exten => 9999,2,Wait(1)
; exten => 9999,3,SayUnixTime( | | a)
; exten => 9999,4,SayUnixTime( | | k)
; exten => 9999,5,Playback(oclock)
; exten => 9999,6,SayUnixTime( | | M)
; exten => 9999,7,Playback(vm-goodbye)
; exten => 9999,8,Hangup
;

[external-sipdiscount_ausgehend]
exten => _*2.,1,Dial(SIP/0049${EXTEN:2}@sipdiscount,60,Ttr)
; exten => _*2.,2,Playback(invalid)
exten => _*2.,2,Congestion
exten => _*2.,3,Busy
exten => _*2.,4,Hangup

[external-sipdiscount_eingehend]
; exten => manni841,1,goto (external-sipdiscount_eingehend,0049696978826,1)
exten => 0049xxxxxxxxxx,1,Dial(ZAP/g1/25,45,r)
exten => 0049xxxxxxxxxx,2,Hangup() 


[echotest]
exten => 81,1,answer
exten => 81,2,wait,1
exten => 81,3,playback,demo-echotest
exten => 81,4,echo
exten => 81,5,playback,demo-echodone
exten => 81,6,hangup

[mailbox]
exten => 80,1,answer
exten => 80,2,wait,1
exten => 80,3,voicemailmain
exten => 80,4,hangup

[mailbox_own]
exten => 88,1,answer
exten => 88,2,wait,1
exten => 88,3,voicemailmain,s${CALLERIDNUM}
exten => 88,4,hangup

[ausgehend]
include => external-ISDN_ausgehend
include => external-BLUESIP_ausgehend
include => external-SIPGATE_ausgehend
include => external-GMX_ausgehend
include => dialout
include => dialout_now
include => external-sipdiscount_ausgehend
include => external-webde_ausgehend
include => external-sipsnip_ausgehend
; include => external-PURtel_ausgehend
include => external-voipbuster_ausgehend
include => voipbuster
;
[default]
; include => vmailbox
; include => internal
include => external-ISDN_eingehend
include => external-BLUESIP_eingehend
include => external-SIPGATE_eingehend
include => external-GMX_eingehend
include => external-webde_eingehend
include => external-sipsnip_eingehend
include => external-ipkall_eingehend
include => external-sipdiscount_eingehend
; include => external-PURtel_eingehend
; include => from-iaxport
; include => Konferenzraum
include => echotest
include => mailbox
include => mailbox_own

Irgendwie sollte ich doch aus diesem "Strickmuster" ein paar "Maschen" fallenlassen... ;-)
 
Das Problem ist, daß Du in Deinen ausgehenden Contexten mit _X. schon alle möglichen Eingaben abgefangen hast. Deshalb wirst Du die Mailbox mit 80 oder 88 schon gar nicht mehr erreichen können, da auch die 80 im Pattern _X. ausgewertet wird und somit versucht wird, einen externen Anruf aufzubauen.

Du solltest mal alle ausgehenden Contexte auskommentieren und nur mit Deinen Asterisk-internen arbeiten.

Umgehen kannst Du die Problematik wahrscheinlich dadurch, daß Du in den Contexten, die nach außen gehen sollen, das Pattern änderst in _XXX. damit stellst Du sicher, daß nur alle Nummern mit 3 oder mehr stellen "nach draußen" geroutet werden.
 
geht nicht mit _XXX. bla

kommt gleich "besetzt".

Code:
-- Starting simple switch on 'Zap/2-1'
    -- Accepting overlap voice call from '25' to '<unspecified>' on channel 0/2, span 1
    -- Hungup 'Zap/2-1'
  == Primary D-Channel on span 1 down for TEI 64
  == Primary D-Channel on span 1 up for TEI 64
    -- Accepting overlap voice call from '25' to '<unspecified>' on channel 0/2, span 1
    -- Starting simple switch on 'Zap/2-1'
    -- Hungup 'Zap/2-1'
  == Primary D-Channel on span 1 down for TEI 64
  == Primary D-Channel on span 1 up for TEI 64
    -- Accepting overlap voice call from '25' to '<unspecified>' on channel 0/2, span 1
    -- Starting simple switch on 'Zap/2-1'
    -- Channel 0/2, span 1 got hangup
    -- Hungup 'Zap/2-1'
    -- Accepting overlap voice call from '25' to '<unspecified>' on channel 0/2, span 1
    -- Starting simple switch on 'Zap/2-1'
    -- Executing Answer("Zap/2-1", "") in new stack
    -- Executing Dial("Zap/2-1", "CAPI/25:08003301000||Ttr") in new stack
    -- creating pipe for PLCI=-1
    -- Called 25:08003301000
    -- CAPI[contr1/25]/0 is making progress passing it to Zap/2-1
    -- CAPI[contr1/25]/0 is ringing
    -- Channel 0/2, span 1 got hangup
    -- CAPI Hangingup
    -- removed pipe for PLCI = 0x101
  == Spawn extension (ausgehend, 08003301000, 2) exited non-zero on 'Zap/2-1'
    -- Executing Hangup("Zap/2-1", "") in new stack
  == Spawn extension (ausgehend, h, 1) exited non-zero on 'Zap/2-1'
    -- Hungup 'Zap/2-1'
 
Aber 08003301000 ist doch nicht Deine Mailbox :mrgreen:

Ich denke, es geht um die Erreichbarkeit Deiner VM-Box ?
 
Ja, nach draußen telefonieren geht ja nach wie vor, auch mit _XXX, wo vorher _X war. Aber weder die 81 noch die 88 noch die 80 ist zu erreichen. Es ruft nicht, nach ca. 2 Sekunden kommt "besetzt".
 
Dann klemm doch mal alle Kontexte ab, die nach draußen gehen. Hab ich doch vorhin schonmal geschrieben.
 
O.K. mache ich. Dauert aber eine kleine weile...
 
geht noch schlechter... kommt ssofort (und nicht erst nach ca. 2 Sekunden) besetzt:

Code:
Asterisk Ready.
*CLI>   == Primary D-Channel on span 1 up for TEI 64
    -- Extension '' in context 'ausgehend' from '25' does not exist.  Rejecting call on channel 0/2, span 1

Alle ausgehenden contexte mit ; auskommentiert, auch die dazugehörigen include-Befehle.
 
Mal hier noch ein Nachtrag zur Erläuterung:

Aus der Sicht des Anrufers gesehen (also von mir aus) soll die extensions.conf folgendes machen:

da ich hier hinter einer analogen Telefonanlage sitze, geht nach einer "0" der Asterisk ran, der sich sofort von der ISDN-Anlage (die auf automatische Amtsholung programmiert ist), eine Leitung holt. Damit hat man sozusagen "transparent" den Asterisk und die ISDN-Anlage umgangen, der Benutzer merkt nicht, über was er telefoniert. (Meine Frau weiß das zu schätzen). Danach wählt man die "normale" Telefonnummer.

Will man aber per VOIP telefonieren, soll man eine "0" wählen, (danach braucht meine analoge Telefonanlage eine "Pause"), danach (Asterisk lässt grüßen) einen *, danach je nach Provider eine Ziffer (0 - 9) und dann die Rufnummer. Hat bis jetzt (ohne Voicemailbox) recht gut funktioniert. Es ist auch ein Hardware-Anruf-Beantworter da, der auch funktioniert. Trotzdem will ich es mal mit der Voicemailbox versuchen, rein der Herausforderung wegen.

Vielleicht gibt es doch noch einen Rat, wie die Patterns auszusehen haben. Gegebenenfalls will ich auch auf die *-Patterns verzichten..., es ginge auch mit "00", "01", "02" usw.
 
danach je nach Provider eine Ziffer (0 - 9) und dann die Rufnummer. Hat bis jetzt (ohne Voicemailbox) recht gut funktioniert.

Dann ordne doch 0*9 einfach die Mailbox als "Provider" zu und Du hast das Problem gelöst :mrgreen:
 
Gute Antwort, wie kann die entsprechende Zeile in der extensions.conf aussehen? Mein Kopf ist wie vernagelt. Bretter, Bretter, Bretter...

Sipgate brauche ich eh nicht mehr, kannst Du das mir hier bitte mal umschreiben:

Code:
; [external-SIPGATE_ausgehend]
; exten => _*9.,1,Dial(SIP/${EXTEN:2}@sipgate,60,tTr)
; exten => _*9.,2,Congestion
; exten => _*9.,3,Busy
; exten => _*9.,4,Hangup
 
Naja, ich muss mir in der sip.conf einen context machen mit meiner mailbox, und den dann in der extensions.conf aufrufen, wenns nur so einfach wäre...
 
So ein Unsinn :!:

Die Mailbox hat niemals was in der sip.conf zu suchen :!:
 
BITTE, was soll ich noch machen, kommt immer "besetzt".

In der sip.conf kein Eintrag mehr, extensions.conf:

Code:
[external-25_ausgehend]
exten => _*9,1,Dial(SIP/${EXTEN:2}@25,60,tTr)
exten => _*9.,2,Congestion
exten => _*9.,3,Busy
exten => _*9.,4,Hangup

wobei die "25" die in der capi.conf eingetragene interne MSN ist.

auch die Mailbox hat die 25 usw.
 
So langsam hab ich überhaupt keinen blassen Schimmer mehr, was Du da eigentlich zusammenschräubelst :confused::

Aber eines weiß ich genau: Wenn die 25 eine extension ist, die in der capi.conf definiert ist, dann kannst Du sie nicht über sip anwählen.
 
Mein Denkfehler wird wohl etwa dort liegen:

ich wähle aus der analogen Anlage mit einer "0" raus, dort bin ich aber SOFORT (wegen der automatischen Amtsholung der ISDN-Anlage) im ISDN-Netz. Es gibt also ein Freizeichen von der Telekom. Soll es aber nicht! Es soll ein Freizeichen vom Asterisk kommen, und dann will ich die Mailbox anrufen können.

Trotzdem: bisher:

gewählt: "0" "Pause" "*1" dann die Nummer, hat funktioniert. Also etwa 0,P,376xxxxxxxx ging immer. *1 ist Voipbuster.

Nun müsste "*9" meine Mailbox werden. Ich müsste also wählen:

"0" "Pause" "*9" "80" ..... und das geht nicht. Da kommt gleich "besetzt".


Wo ist der Knoten in meinem Gehirn??? gebt mir bitte einen Hinweis.
 
Hallo,
meine capi.conf:

Code:
;
; CAPI config
;
;
[general]
nationalprefix=0
internationalprefix=00
rxgain=0.8
txgain=0.8

[interfaces]

msn=25
incomingmsn=*
controller=1
softdtmf=1
accountcode=
context=external-ISDN_eingehend
devices=2

Mein Problem ist lediglich, das ich meine Mailbox nicht anrufen kann, um sie zu konfigurieren.
Ich will gern alle meine confs hier zeigen, damit der Fehler herausgefunden werden kann.

Fast verzweifelnde...
 
Es scheint so, als dass ich aus der ISDN-Anlage zrrück müsste zum Asterisk, um dann von dort aus die Mailbox aufrufen zu können....
Also erst mal von der ISDN-anlage die automatischer Amtsholung aussschalten; dann sehen wir weiter.

Danke mal bis hierher...
 
Kostenlos!

Zurzeit aktive Besucher

Statistik des Forums

Themen
248,442
Beiträge
2,291,588
Mitglieder
377,860
Neuestes Mitglied
BernyG