automatische Amtsholung, denkfehler ??

joelalu

Neuer User
Mitglied seit
12 Jul 2006
Beiträge
23
Punkte für Reaktionen
0
Punkte
0
Hallo,

nachdem mein Asterisk nun läuft und wir munter damit telefonieren komme ich zu den "Komfortfunktionen". "Man" meckert daß nun eine 0 vorgewählt werden muss, mich störts ja auch ein wenig.

Das Forum habe ich schon durchsucht nach "Amtsholung", "automatische Amtsholung" usw., es waren auch einige Beträge dabei, leider keiner der mir geholfen hat. Es wurde oft geschrieben daß das ja ganz einfach ist, wie es geht steht aber leider nirgendwo ...

Nun habe ich mir die Doku nochmal angesehen und dachte ich hätte den ultimativen Geistesblitz, leider klappts aber nicht. Hier mal den Ausschnit aus meiner extensions.conf:

[outgoing]
exten => _0X.,1,Dial(misdn/1/0${EXTEN})
exten => _ZX.,1,Dial(misdn/1/0${EXTEN})

Die 2te Zeile soll alles was länger als 2 Ziffern ist nach draussen leiten (interne Rufnummer haben bei uns nur 2 Ziffern), das funktioniert prinzipiell auch.

Wenn ich aber jetzt eine Nummer mit Vorwahl oder auch ohne wähle bekomme ich foldende Meldung an der * Konsole:

-- Registered SIP 'wifi1' at 192.168.88.185 port 5060 expires 60
-- Executing Dial("SIP/wifi2-b6ad", "misdn/1/0587xxxx") in new stack
-- Called 1/0587xxxx
== Spawn extension (sip, 5871000, 1) exited non-zero on 'SIP/wifi2-b6ad'
-- Executing Dial("SIP/wifi2-941c", "misdn/1/00177xxxxxxx") in new stack
-- Called 1/00177xxxxxxx
== Spawn extension (sip, 0177xxxxxxx, 1) exited non-zero on 'SIP/wifi2-941c'

(die xxx sind natürlich Zahlen, 'habe ich nur mal ausgetauscht ..)

Scheinbar muss es doch eine spezielle Funktion geben .. könnt Ihr mir sagen wie es geht ??

Danke vorab und Gruss

Joerg
 
weiss jetzt nicht wo Dein Problem liegt, wird doch gewählt mit führender 0
ich würde allerding das ganze anders aufbauen

Code:
[outgoing]
exten => _0X.,1,Dial(mISDN/1/0${EXTEN})
exten => _ZXX.,1,Dial(mISDN/1/0${EXTEN})

Die 2. Zeile deswegen, weil diese dann wirklich erst nach 3 Ziffern einspringt (nach deinem Vorbild sind auch 2 Ziffer möglich)
 
Zuletzt bearbeitet:
... schon, klappt aber nicht, ich komme nicht raus.

er schreibt doch auch was von non-zero: == Spawn extension (sip, 0177xxxxxxx, 1) exited non-zero on 'SIP/wifi2-941c'

ich versteh's auch nicht ...
 
das erstscheint wenn dein Telefon die Verbindung beendet
 
ach so ... 'hat nix damit zu tun. schade, ich dachet das wäre mal eine verwertbare fehlermeldung ... :-(

wenn ich so drüber nachdenke: er scheint ja die 0 mitzuwählen, ich komme aber nicht raus ...

bei dem funktionierenden Eintrag (exten => _0X.,1,Dial(misdn/1/${EXTEN:1}) wähle ich ja manuell eine zusätzliche 0 vorab und schneide die dann wieder weg, was ich in den aktuellen config nicht mehr mache ... kann das problem da liegen ??
 
Yep, das scheint es zu sein.

Gespräche mit Vorwahl klappen jetzt prima, ohne eine zusätzliche 0

Bei Nummern ohne Vorwahl gibt es weiterhin ein Problem. Hier erstmal die entsprechende Zeile der extensions.conf:

[outgoing]
exten => _0X.,1,Dial(misdn/1/0${EXTEN:1})
exten => _ZXXX.,1,Dial(misdn/1/0${EXTEN:1})

Jetzt schneided er wieder die 1te Ziffer ab (aber die der manuell gewählten Nummer !!), das ist auch bei den Nummern mit Vorwahl unkritisch da die beiden ersten Ziffern ja 0 sind. Bei den anderen Nummern ist das etwas doof, da er die 1te Ziffen der manuell gewählten Nummer wegschneidet. Hier mal ein Beispiel:

-- Executing Dial("SIP/lauer01-2431", "misdn/1/0871000") in new stack
-- Called 1/0871000
== Spawn extension (sip, 5871000, 1) exited non-zero on 'SIP/lauer01-2431'

Die gewählte Nummer ist die 5871000 er wählt die 0871000 ...

jetzt wird's lustig ...
 
joelalu schrieb:
[outgoing]
exten => _0X.,1,Dial(misdn/1/0${EXTEN:1})
exten => _ZXXX.,1,Dial(misdn/1/0${EXTEN:1})

Jetzt schneided er wieder die 1te Ziffer ab (aber die der manuell gewählten

Wenn Du ${EXTEN:1} schreibst wird über die Anweisung :1 auch die erste Ziffer abgeschnippelt.
 
ist zwar kein misdn Problem, sonder ein extensions, aber wenn ichs richtig verstanden habe, haben deine internen Telefone zweistellige Nummern und alles andere soll ins PSTN ohne das du eine führende 0 vorwählen musst.
Versuchs mal so:

[outgoing]
; interne Nummern (zweistellig )
exten => _XX,1,Dial(misdn/1/${EXTEN})

;externe Nummern (alles andere)
exten => _XX.,1,Dial(misdn/1/${EXTEN})
 
Hi,

zum Verständnis: Das Problem ist nicht die Unterscheidung zwischen internen und externen Rufnummer, das funktionert mit dem gewählten Pattern-Matching prima. Das Problem ist die "automatische Amtsholung", sprich rauswählen ohne eine 0 vorwählen zu müssen. Wie oben auch schon geschrieben klappt das schon mit Rufnummern mit Vorwahl mit den folgenden String in der extensions.conf: exten => _0X.,1,Dial(misdn/1/0${EXTEN:1}), da ja die beiden ersten Ziffern eine 0 sind.
Das jetzige Problem ist bei Rufnummern ohne Vorwahl. Mit dem gewählten String setzt er eine 0 vornedran zur Amtsholung. Dann schneidet er 1 Ziffer ab. Das Problem ist aber das $EXTEN:1 die erste Ziffer der übers Telefon eingegebenen Nummer wegschneidet und nicht die vorher zugegebene 0.

Beispiel: Ich wähle 1234 > 0 wird vorgestellt: 01234 > erste Ziffer der gewählten Nummer wird abgeschnitten: 0234 ... So wird das dann leider nix.

Die Frage ist also ob man die erste Ziffer der gesamten Nummer wegschneiden kann oder ob es vielleicht eine spezielles Verfahren zur automatischen Amtsholung gibt.

Gruss

Joerg



@derlo
so wird's nicht funktionieren, irgendwoher muss ja die 0 für die Amtsholung kommen ...
 
Ich glaub jetzt hab ich es verstanden.
Also:
exten => _ZXXX.,1,Dial(misdn/1/0${EXTEN:1})
schneidet immer die erste Nummer der gewählten Extension ab und fügt ein vorgestellte 0 zur Amtsholung hinzu. Wenn du 1234 wählst (1234 = Extension) wird in Wirklichkeit 0234 gewählt,es soll aber 01234 gewählt werden. Wieso schneidest du bei dieser Zeile die erste Ziffer der Extension ab? Wenn du in dieser Zeole so wählst:
exten => _ZXXX.,1,Dial(misdn/1/0${EXTEN})
würde es doch so funktionieren wie du es willst, oder habe ich wieder einen Denkfehler?
 
wir nähern uns an ..

exten => _ZXXX.,1,Dial(misdn/1/0${EXTEN}) hatte ich auch zuerst. dabei ist aber folgendes Problem: ich wähle 1234 > er fügt die 0 vor = 01234 > er bekommt ein Amt und wählt tatsächlich 01234 > falsch da hier die 0 ja wieder weg sein müsste, meine zielrufnummer ist ja die 1234 ...

es müsste einen weg geben die null, die ja nicht aus der EXTEN stammt gezielt wieder zu entfernen, dann wäre alles gut ...
 
Dann fällt mir nur noch eine Variblenverwaltung dazu ein:

exten => _ZXXX.,1,Set(TMPEXTEN=0${EXTEN})
exten => _ZXXX.,n,Dial(misdn/1/${TMPEXTEN:1})
 
YIPPIEEEE !!!!

Das war der entscheidende Durchbruch !!!!

Jetzt klappt es wunderbar, mit und ohne Vorwahl !!!

Ich wusste ja garnicht daß man so eine feine Variablenverwaltung hat.

Vielen Dank für diesen Tip !!!

Gruss

Joerg
 

Zurzeit aktive Besucher

Statistik des Forums

Themen
244,868
Beiträge
2,219,771
Mitglieder
371,585
Neuestes Mitglied
PauSchmitz
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.