0180er Nummer als interne Nummer?

kluck

Neuer User
Mitglied seit
3 Feb 2007
Beiträge
56
Punkte für Reaktionen
0
Punkte
0
Hallo Experten,

ich habe etwas merkwürdiges festgestellt.

Mit

Code:
[lokal]

exten => _555X.,1,NoCDR()
exten => _555X.,n,Dial,SIP/${EXTEN}|10|tr
exten => _555X.,n,Voicemail(${EXTEN})

stelle ich die internen Verbindungen her.

Wenn ich dazwischen noch einen Ansage mache, also "Der Anrufer <Nummer> ist nicht erreichbar" kommt eine Ansage, dass der Anrufer 0180777<meineinternenummer> nicht erreichbar ist.

Wie kommt es, dass die interne Nummer als 0180 Nummer erkannt wird?

Danke für Eure Hilfe
 
ich glaube nicht, dass das der context ist, in dem du dich während der ansage bewegst. poste doch mal die ausgabe an der cli wenn du einen anruf machst und die mailbox anspringt.

kleine anmerkung am rande: wie wäre es denn, wenn du ein wenig strukturierter vorgehst und nicht alles auf einmal zu realisieren versuchst? rom ist auch nicht an einem tag erbaut worden...

grüße,
laureen
 
Erläuterungen

Hi,

erstmal Danke für Eure Hilfe.

Anruferausgang ist der Context mit dem man eigentlich nach extern telefoniert.

Code:
exten => _X.,1,SetCallerId,69205075e0

exten => _X.,2,Dial(SIP/${EXTEN}@Anrufausgang,60,tr)

exten => _X.,3,Hangup

und lokal

Code:
[lokal]

exten => _555X.,1,NoCDR()
exten => _555X.,n,Dial,SIP/${EXTEN}|10|tr
exten => _555X.,n,Voicemail(${EXTEN})

und da alle internen Nummern mit 555 anfangen sollte er eigentlich auch nur intern wählen, wenn ich eine interne Nummer wähle.

So ... und nun die CLI bei einem internen Anruf mit Entgegennahme des Anrufes durch die Mailbox.

Code:
    -- Executing [5551109@default:1] NoCDR("SIP/5553107-411f59b8", "") in new stack
    -- Executing [5551109@default:2] Dial("SIP/5553107-411f59b8", "SIP/5551109|10|tr") in new stack
    -- Called 5551109
    -- SIP/5551109-081e93d0 is ringing
    -- Nobody picked up in 10000 ms
    -- Executing [5551109@default:3] VoiceMail("SIP/5553107-411f59b8", "5551109") in new stack
    -- <SIP/5553107-411f59b8> Playing 'vm-intro' (language 'de')
  == Spawn extension (default, 5551109, 3) exited non-zero on 'SIP/5553107-411f59b8'

Dass es ein 01801777<internenummer> CallerID gibt habe ich auch nur mitgekriegt, weil diese Nr. bei sipgate im Menu gelistet ist und ich außerdem gestern noch einen Dialstatus mit NOANSWER bzw. BUSY drin hatte und dann kommt ja die Ansage der Rufnummer.
 
ok, jetzt weiss ich wo's da ein verständnisproblem gibt:

- wenn du von einem context in einen anderen springen willst, geht das mit "Goto", NICHT mit "Dial". "Dial" wird nur dafür verwendet, wenn du (aus asterisk sicht) einen peer anrufen willst wie z.b. ein telefon oder einen sip provider.

- in der cli siehst du folgende zeile:
-- Executing [5551109@default:1] NoCDR("SIP/5553107...
das rote oben zeigt dir, in welchem context, auf welcher extension und in welcher priorität sich der anruf im dialplan befindet:

5551109 ... extension
default ... context
1 ... priorität

hier siehst du, dass du dich nicht wie angenommen im context "lokal" befindest, sondern im context "default", du hast wahrscheinlich im context "default" genau die selben zeilen eingefügt, deswegen die verwirrung....

ein tip: baue dir deinen dialplan von null auf und verwende nicht den, der mit der asterisk mitkommt. hier ein minimal-dialplan ("/etc/asterisk/extensions.conf"):
Code:
[general]
static = yes
writeprotect = yes
autofallthrough = yes
clearglobalvars = yes
priorityjumping = no
 
[globals]

[default]
exten = h,1,Hangup()
exten = t,1,Hangup()

[inbound]
; hier kommen alle unsere gespräche von draussen (isdn, eingehender sip provider, etc.) rein
exten = _555X.,1,Goto(internal,${EXTEN},1)

[internal]
; das ist der interne context, in dem alle gespräche der internen telefone landen

; telefone untereinander
exten = _555X.,1,Dial(SIP/${EXTEN},60,r)
exten = _555X.,n,Voicemail(${EXTEN})
exten = _555X.,n,Hangup()

; ausgehende gespräche (mit "0" für amtsholung)
exten = _0X.,1,Goto(outbound,${EXTEN:1},1)

[outbound]
; aus diesem context werden die ausgehenden gespräche abgehandelt
exten = _X.,1,Set(CALLERID(num)=69205075e0)
exten = _X.,n,Dial(SIP/${EXTEN}@provider,60,r)
exten = _X.,n,Hangup()
mit diesem dialplan als basis kannst du deine weiteren forschungen weiterführen.

soweit klar?

grüße,
laureen
 
Holen Sie sich 3CX - völlig kostenlos!
Verbinden Sie Ihr Team und Ihre Kunden Telefonie Livechat Videokonferenzen

Gehostet oder selbst-verwaltet. Für bis zu 10 Nutzer dauerhaft kostenlos. Keine Kreditkartendetails erforderlich. Ohne Risiko testen.

3CX
Für diese E-Mail-Adresse besteht bereits ein 3CX-Konto. Sie werden zum Kundenportal weitergeleitet, wo Sie sich anmelden oder Ihr Passwort zurücksetzen können, falls Sie dieses vergessen haben.