[Gelöst] Fehlende Null bei externen eingehenden anrufen

jungeradleresw

Neuer User
Mitglied seit
17 Jan 2013
Beiträge
3
Punkte für Reaktionen
0
Punkte
1
Hallo zusammen.

Ich habe dazu werder bei der Suchmaschine meines Vertrauens noch hier in der suchfunktion was gefunden.

Mein Asterisk läuft seit ca. einem halben Jahr sauber.

Nun meine Frage:
Bei externen anrufen sehe ich die Nummer:VorwahlRufnummer. Ich kann aber nicht bei Anrufen in Abwesenheit einfach zurückrufen weil dort die 0 Fehlt.
Es müsste dort 0VorwahlRufnummer zu sehen sein.
Wie kann ich das lösen das asterisk mir die 0 vor VorwahlRufnummer setzt?


Code:
[ausgehend]
exten => _0.,1,Dial(SIP/${EXTEN:1}@Rufnummer)

[eingehend]
exten => VorwahlRufnummer,1,Dial(SIP/51&SIP/29&SIP/22,30)
exten => VorwahlRufnummer,n,VoiceMail(22,us)

Daten zu meinem Anschluss:
Vodafone
Asterisk Version 11.11.0 auf Raspberry Pi B mit Raspbian

Danke im Vorraus für eure Hilfe

Gruß
 
Zuletzt bearbeitet:
Warum hast Du es überhaupt so eingerichtet, dass man ausgehend eine Null vorwählen muss? Das ist doch irgendwie 80er mäßig ;-)

Wenn Du dennoch dabei bleiben willst, mach in Deinem eingehenden Dialplan vor dem Dial sowas wie

Set(CALLERID(num)=0${CALLERID(num)})
 
Meinst du so:

Code:
[ausgehend]
exten => _0.,1,Dial(SIP/${EXTEN:1}@Rufnummer)

[eingehend]
exten => VorwahlRufnummer,1,Set(CALLERID(num)=0${CALLERID(num)}),Dial(SIP/51&SIP/29&SIP/22,30)
exten => VorwahlRufnummer,n,VoiceMail(22,us)

Das Funktioniert nicht.
 
Nein, Du kannst nicht mehrere Kommandos so in eine Zeile packen. Lies Dich bei Gelegenheit in den Aufbau des Dialplans ein.

Code:
[eingehend]
exten => VorwahlRufnummer,1,Set(CALLERID(num)=0${CALLERID(num)})
exten => VorwahlRufnummer,n,Dial(SIP/51&SIP/29&SIP/22,30)
exten => VorwahlRufnummer,n,VoiceMail(22,us)
 
Ich mache es gleich so, die Nummer zu internationalisieren:
Code:
exten => _X.,1,set(Anruf=(CALLERID(num))
exten => _X.,2,GotoIf($[${Anruf:0:2}=00]?20:3)
exten => _X.,3,GotoIf($[${Anruf:0:1}=0]?4:10)
exten => _X.,4,set(Anruf=0049${Anruf:1})
exten => _X.,5,goto(20)
exten => _X.,10,set(Anruf=00${Anruf})
exten => _X.,11,goto(20)
exten => _X.,20,set(CALLERID(num)=${Anruf})
exten => _X.,n,dial...
Hintergrund ist, dass man so auch
Code:
Dial(SIP/51&SIP/[email protected])
als Ziel eintragen kann. Mit dem Windowsclient von cheapvoip setzt man eine RUL sofort auf die eigene Handynummer und hat einen Parallelruf der über Festnetznummer eingehenden Anrufe.
Dann klingelt bei eingehenden Anrufen auch das Handy mit Anzeige der original Anrufernummer...

(so kompliziert mit Anruf als Zwischenvariable mache ich es, weil ich bei eingehenden Anrufen mehrere Nummern bei Sipogate habe und auch die eigentlich angerufene Nummer so internationalisiere. Also aus dem SIP-Header extrahiert. Auch muss ich ggf. $EXTEN internationalisieren, da wechsle ich dann mit $Anruf in einen neuen Kontext. Nur für den hier genannten Zweck kann man natürlich den Zwischenschritt sparen)
 
Zuletzt bearbeitet:
Michael, so macht man aber anonyme Anrufer "kaputt". Entweder kommt 0anonymous oder nur 0 raus, aber nicht mehr unbekannt.

Andre, bei Dir dürften anonyme Anrufer so eigentlich gar nicht durchkommen. Die Sprung-Reihenfolge wäre dann ja 2, 3, 10 (dort wird 00anonym bzw. 00 draus) und mangels Prio 11 bricht der Dialplan ab.
 
Das stimmt, guter Einwand. Wenngleich ich mit 0unbekannt gut leben könnte, da sowieso nicht rückrufbar. Aber hast recht, den Fall könnte man noch abfangen.
 
11 muss nicht da sein, es wird mit der nächsten vorhandenen Priorität weiter gearbeitet, hier also 20.
Jedenfalls bei Asterisk13, mit älteren habe ich es noch nicht probiert.
Aber es wäre natürlich eleganter, mit Labels zu arbeiten und nicht wie mit alten C64Basiczeilennummern.
Unbekannt geht also auch ein.

Ich werde es aber mal als Anregung nehmen und einen AB für unbekannte Anrufer einrichten und eine Nummer, mit der ich den AB direkt anrufen kann, vorsehen. Dann könnte man anonymous direkt durch diese AB-Nummer ersetzen und bei verpassten Anrufen den AB durch Rückruf anwählen. Hätte doch was...

Edit: Stimmt, eigentlich dürfte es nicht gehen. Komisch, dass anonyme Anrufe bei mir doch eingehen. Ich werde das mal ändern...
 
Zuletzt bearbeitet:
Bei Asterisk 11 bricht der Dialplan ab, wenn die Prioritäten nicht fortlaufend sind, hab's vorhin extra ausprobiert, weil ich mir auch nicht mehr sicher war :oops:
Ich arbeite grundsätzlich nur mit same=>n und ggf. Labels, wenn ich Sprungmarken brauche.

Von dieser ganzen GotoIf Verschachtelung bin ich sowieso nicht begeistert. Ich finde das so übersichtlicher
Code:
Set(CALLERID(num)=${IF($[$["${CALLERID(num):0:1}"="0"] & ["${CALLERID(num):1:1}"!="0"]]?0049${CALLERID(num):1}:${CALLERID(num)})})
Wenn die erste Ziffer 0 ist, die zweite aber nicht, wird die erste 0 entfernt und dafür 0049 davor gesetzt. In allen anderen Fällen bleibt die Callerid unverändert.

jungeradleresw, wir haben Deinen Thread etwas erweitert ;-)
Für Dich wäre das
Code:
Set(CALLERID(num)=${IF($["${CALLERID(num)}"=""]?:0${CALLERID(num)})})

Das kommt ganz darauf an, was man als Client hinten dran hat und wie der Provider unbekannte Anrufe sendet. Manche schicken "anonymous", dann wäre das nicht so schlimm. Aber wenn eine leere Callerid kommt und man macht 0 draus, steht halt 0 auf dem Telefon, das ansonsten vielleicht "unbekannt" anzeigen würde. Das mag den ein oder anderen User verwirren.

Jetzt hab ich aber wieder genug klugge....:doktor: für die nächsten drei Tage :cool:
 
Ich hab rausgefunden, wieso es bei mir lief: Ich hatte die Internationalisierung aus dem Abschnitt für ausgehende Anrufe kopiert, da gibts ja kein anonym...

Als Mitglied der C64er generation liegt mir natürlich das if-Gespringe im Blut :)
 
So erstmal herzlichen dank für die Hilfe.

Ich habe diese Version erstmal drin

Code:
[eingehend]
exten => VorwahlRufnummer,1,Set(CALLERID(num)=0${CALLERID(num)})
exten => VorwahlRufnummer,n,Dial(SIP/51&SIP/29&SIP/22,30)
exten => VorwahlRufnummer,n,VoiceMail(22,us)

Funktioniert.

Mit den unbekanten anrufern ist natürlich so ne sache, darüber hatte ich mir noch gar keinen Kopf gemacht.
Werde mich bei gelegenheit mal mit der Variante von rentier-s beschäftigen.

Das ist doch irgendwie 80er mäßig

Die Familie hat sich halt daran gewöhnt.

Gruß
Ingo
 
Wenn das Thema damit erst mal gelöst ist, könntest Du bitte das entsprechende Titel-Prefix setzen. Dazu im 1. Beitrag auf Bearbeiten, Erweitert.
 
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.