Eingehende Rufnummern werden mit Vorwahl + Rufnummer angezeigt - nicht mit +49

sharbich

Neuer User
Mitglied seit
30 Aug 2012
Beiträge
166
Punkte für Reaktionen
2
Punkte
18
Hallo Ihr Lieben,

ich verzweifle langsam. Leider werden eingehende Anrufe nicht als +49yyyyxxxxxx sondern als 0yyyyxxxxxx angezeigt. Wie kann ich das ändern? Ich Denke über die extensions.conf im Abschnitt [incoming] oder?

Hier der Auszug aus meiner extensions.conf
Bash:
[incoming]
exten => _X.,1,Answer()
same => n,Verbose(D E F A U L T ==> ${CALLERID(num)} kam um ${STRFTIME(${EPOCH},,%Y%m%d-%H%M%S)} in UNSPECIFIED an, als es versuchte die Nummer ${EX$
  same => n,Playback(No_permissions)
  same => n,Hangup()

Könnt Ihr mir einen Tipp geben wie ich das Problem behebe?

Gruß von Stefan
 

sunnyman

Aktives Mitglied
Mitglied seit
13 Jan 2006
Beiträge
835
Punkte für Reaktionen
84
Punkte
28
Deine extensions.conf macht nichts mit der Rufnummer. Wenn sie nicht verändert wird wird sie so im System verarbeitet wie sie von der ankommenden Partei signalisiert wird. Das kann unterschiedlich sein, bspw. ist es bei der Telekom auch abhängig davon, von welchem Fremd-Provider der Ruf reinkommt.
Du müsstest dann die CallerId entsprechend modifizieren.
 

sharbich

Neuer User
Mitglied seit
30 Aug 2012
Beiträge
166
Punkte für Reaktionen
2
Punkte
18
Du müsstest dann die CallerId entsprechend modifizieren.
Kannst Du mir einen Tipp geben wie ich die Call ID modifizieren kann damit diese immer mit +49Vorwahl ohne 0 und Rufnummer angezeigt wird?
 

sunnyman

Aktives Mitglied
Mitglied seit
13 Jan 2006
Beiträge
835
Punkte für Reaktionen
84
Punkte
28
Für die umgekehrte Richtung geht es so:
Code:
 same => n,ExecIf($["${CALLERID(num):0:3}"="+49"]?Set(CALLERID(num)=0${CALLERID(num):3}))

Du müsstest dann insb. prüfen mit wie vielen 0en die Rufnummer anfängt (0x,1x,2x) und dann entsprechend reagieren.
 

sharbich

Neuer User
Mitglied seit
30 Aug 2012
Beiträge
166
Punkte für Reaktionen
2
Punkte
18
Du müsstest dann insb. prüfen mit wie vielen 0en die Rufnummer anfängt (0x,1x,2x) und dann entsprechend reagieren.
Die Anrufe kommen mit Vorwahl + Rufnummer rein. Z. B. 03012345678. Wie müsste ich das dann anpassen?
 

sunnyman

Aktives Mitglied
Mitglied seit
13 Jan 2006
Beiträge
835
Punkte für Reaktionen
84
Punkte
28
So in etwa:
Code:
 same => n,ExecIf($["${CALLERID(num):0:1}"="0"]?Set(CALLERID(num)=+49${CALLERID(num):1}))
 

Mrs. Moose

Neuer User
Mitglied seit
24 Mrz 2021
Beiträge
13
Punkte für Reaktionen
0
Punkte
1
Davor mache ich bei mir noch

Code:
same => n,Set(CALLERID(num)=${If($["${CALLERID(num):0:2}"="00"]?+${CALLERID(num):2}:${CALLERID(num)})})

Sonst werden ausländische Nummern evtl eingedeutscht, weil ${CALLERID(num):0:1}=0 auch auf zwei führende Nullen zutrifft.
 
Zuletzt bearbeitet:

IEEE

Mitglied
Mitglied seit
23 Jul 2005
Beiträge
349
Punkte für Reaktionen
7
Punkte
18
Ich hab auch einen Ansatz, den ich schon seit vielen Jahren einsetze. Da er relativ universell ist, ist er halt etwas umfangreicher. Er funktioniert auch mit Providern die internationale Nummern mit einem + schicken. Ich glaube die ursprüngliche Inspiration für diese Vorgehensweise hab ich sogar hier gefunden vor Jahren.

Code:
exten => extension,1,GotoIf($["${CALLERID(num):0:1}" = "+"]?1000) ;international mit plus
exten => extension,2,GotoIf($["${CALLERID(num):0:2}" = "00"]?2000) ;international mit 00
exten => extension,3,GotoIf($["${CALLERID(num):0:1}" = "0"]?3000) ;national mit 0
exten => extension,4,Set(CALLERID(all)=00${CALLERID(num)})
exten => extension,5,Dial.... oder was auch immer man jetzt tun moechte
exten => extension,6,Hangup
exten => extension,1000,Set(CALLERID(all)=${CALLERID(num):1})
exten => extension,1001,Goto(1)
exten => extension,2000,Set(CALLERID(all)=${CALLERID(num):2})
exten => extension,2001,Goto(1)
exten => extension,3000,Set(CALLERID(all)=49${CALLERID(num):1})
exten => extension,3001,Goto(1)
 
Zuletzt bearbeitet:

Mrs. Moose

Neuer User
Mitglied seit
24 Mrz 2021
Beiträge
13
Punkte für Reaktionen
0
Punkte
1
Da er relativ universell ist, ist er halt etwas umfangreicher.

... und irgendwie umständlich mit den Gotos und fester Nummerierung ;-)

Wer möchte, hier ein Einzeiler, der für alle Eventualitäten gerüstet ist:

Code:
same => n,Set(CALLERID(num) = ${If($["${CALLERID(num):0:2}"="00"] ? +${CALLERID(num):2} : ${If($["${CALLERID(num):0:1}"="0"] ? +49${CALLERID(num):1} : ${If($["${CALLERID(num)}"!="unknown"] ? +49DeineVorwahl${CALLERID(num)})} )} )}  )

Zur besseren Lesbarkeit habe ich Leerzeichen eingefügt, damit man sieht was wie zusammen gehört.

001234 => +1234
01234 => +491234
1234 => +49Vorwahl1234
unknown => <leer>
 

sharbich

Neuer User
Mitglied seit
30 Aug 2012
Beiträge
166
Punkte für Reaktionen
2
Punkte
18
Hallo sunnyman,

in der Datei
Bash:
/var/log/asterisk/cdr-csv/Master.csv
sehe ich das die Anrufer mit +49 angezeigt werden. Auch im Display des SIP Client (z. B. ZoiPer Android Client). Soweit gut dachte ich.

Aber: An den DECT Telefonen der Gigaset N 510 IP Pro wird die Nummer ohne die +49 angezeigt. Die DECT
Telefone sind in Asterisk als Nebenstellen in der pjsip.conf konfiguriert.

Muss ich dort noch was anpassen?
 
Holen Sie sich 3CX - völlig kostenlos!
Verbinden Sie Ihr Team und Ihre Kunden Telefonie Livechat Videokonferenzen

Gehostet für bis zu 10 Nutzer dauerhaft kostenlos. Gehostet ab 10 Nutzer und selbst verwaltet im ersten Jahr kostenlos. 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.