[Problem] Caller ID bei 1und1

Spandauer007

Neuer User
Mitglied seit
4 Mrz 2009
Beiträge
85
Punkte für Reaktionen
0
Punkte
6
Hallo,

verwendet hier zufällig jemand 1und1 in Kombination mit Asterisk?

Ich habe das Problem, dass wenn man jemanden extern anruft, die Extensionsnummer als Name übertragen wird. Zum Beispiel wird bei der extension "1001" die Nummer als Caller Name übertragen.

Ich hatte jetzt versucht mit der Hilfe von
Code:
Set(CALLERID(num)=123456789);
Set(CALLERID(name)=123456789);
Set(CALLERID(all)= “123456789” <123456789>);

den Namen zu bearbeiten, jedoch hat es nicht geändert.

Am liebsten wäre mir natürlich, wenn gar kein Name übertragen wird. Dazu habe ich jedoch keine Informationen gefunden.

Vielleicht habt ihr eine Idee?

LG
 
Moins

So wie ich das Verstehe, setzt du mit diesem Kommando nur die CallerID des Anrufers.

Die des Users setzt du in der sip.conf

Beispiel:

Code:
[1001]
username=Spandauer007
callerid="Spandauer007"<1001>
...

Oder für "keinen Namen"
Code:
[1001]
username=unknown
callerid="unknown"<1001>
...
 
setzt du mit diesem Kommando nur die CallerID des Anrufers

Bei abgehenden Anrufen ist ja er selbst der Anrufer, das wäre also schon richtig so. Ob man die Callerid in der sip.conf setzt oder im Dialplan ist (in diesem Fall) egal, beides landet im From Header. username gibt's übrigens nicht mehr, das heißt defaultuser und macht was anderes.

Mich wundert es gerade, dass 1&1 überhaupt was anderes übermittelt, als die Rufnummer. Wie sieht Deine Config aus im Hinblick auf fromuser, fullname, sendrpid und so Zeug?

Gar keinen Namen senden sollte eigentlich mit Set(CALLERID(name)=) oder Set(CALLERID(name-pres)=prohib) gehen.

Ansonsten kannst Du aus einem SIP Debug (sip set debug peer 1und1-peername) das authentifizierte INVITE raussuchen? Eigene und gewählte Nummer so verfremden, dass man noch erkennen kann was so steht, und nonce Werte entfernen. Dann schauen wir was sich da so alles findet.
 
Ich werde das mal mit deinen Vorschlägen testen.

Zur Ansicht mal die SIP.conf, allerdings sind dort nirgends Namen gesetzt, die das verursachen könnten.

Code:
[general]
nat=yes
srvlookup=yes
localnet=192.168.178.0/255.255.255.0
bindport=5160
bindaddr=0.0.0.0
language = de
alwaysauthreject=yes
allowguest=no
allowsubscribe = yes
notifyringing = yes
notifyhold = yes
limitonpeers = yes
directmedia=no
callcounter = yes
externhost = ****
dtmfmode=auto
register => ****
register => ****
register => ****

[1und1](!)
type=friend
nat=yes
host=sip.1und1.de
fromdomain=1und1.de
language=de
qualify=2000
insecure=port,invite
disallow=all
allow=g722
allow=ulaw
allow=alaw
allow=gsm
context=ankommend

[...]

[Haupt](1und1)
username=49123456789
fromuser=49123456789
secret=****

[user](!)
type=friend
host=dynamic
language = de
subscribecontext=hints
call-limit = 10
callgroup = 2
pickupgroup = 2
insecure=port,invite

;Anmeldung
[1001](user)
secret=****
context=outanm

Set(CALLERID(name)=) bewirkt, dass weiterhin 1001 angezeigt wird und mit Set(CALLERID(name-pres)=prohib) wird der Anruf als anonym erkannt.

Ich kann allerdings mit Set(CALLERID(name)=) einen Namen definieren, jedoch kann ich als Namen nicht "123456789" (also nur Nummern) nehmen. Schöner wäre es natürlich, wenn wir den Namen ganz raus bekommen.

Leider weiß ich nicht welcher der Invites authentifiziert ist. Es gibt 3 mal CSeq: 102 INVITE und 3 mal CSeq: 103 INVITE.

Bei allen steht immer
Code:
From: "1002" <sip:****@1und1.de>;tag=****

Ich denke da wird der Schwachpunkt liegen. Aber keine Ahnung, woran das liegt.
 
Zuletzt bearbeitet von einem Moderator:
jedoch kann ich als Namen nicht "123456789" (also nur Nummern) nehmen

Was meinst Du damit bzw. was passiert dann? Weil jetzt steht ja auch 1002 (nur Ziffern) drin.

Der Namensteil des From Headers wird aus CALLERID(name) erzeugt. Dieser wird entweder in der sip.conf mit fullname, oder wenn leer standardmäßig gleich dem Client-Namen gesetzt. Im Normalfall ist das auch ganz gut so, um intern die entsprechende Nebenstellennummer bzw. den Teilnehmernamen als Callerid zu haben.

Bei abgehenden Anrufen wird die Callerid üblicher Weise im Dialplan entsprechend überschrieben, um die externe Rufnummer wiederzugeben, wobei die wenigsten Provider dabei den Namen überhaupt übermitteln. Wenn das überschreiben nicht klappt, wird das Set entweder gar nicht ausgeführt oder ist syntaktisch fehlerhaft. Anders kann ich mir das nicht erklären. :noidea:
 
Was meinst Du damit bzw. was passiert dann? Weil jetzt steht ja auch 1002 (nur Ziffern) drin.
Das ist das Komische. Es wird einfach ignoriert und weiterhin 1001 angezeigt. Ziffern funktionieren komischerweise nicht, wenn ich Sie selbst im Dialplan festlege.

Gibt es keine andere Möglichkeit den Namen aus dem Header zu entfernen?
 
Code:
[telekom]
type = peer
authuser = [email protected]
defaultuser = [email protected]
remotesecret = xxxx
host = tel.t-online.de
fromdomain = tel.t-online.de
sendrpid = no
trustrpid = no

[11]
type = friend
defaultuser = 11
callerid = "Svenja Ace2" <11>
secret = xxxx

Code:
 same => n,Set(CALLERID(num)=0815123456)
 same => n,Set(CALLERID(name)=)

erzeugt bei mir auf Asterisk 11.6
From: <sip:[email protected]>;tag=as0e05

Mit Set(CALLERID(name)=${CALLERID(num)}) bekomme ich
From: "0815123456" <sip:[email protected]>;tag=as0e88

Und wenn ich das Set(CALLERID(name)) ganz weg lasse
From: "Svenja Ace2" <sip:[email protected]>;tag=as0e8e

Absolut keine Ahnung, warum das bei Dir nicht funktioniert.
 
Danke für deine Antwort.

Ich habe nun nochmal ein wenig getestet.

Code:
        Set(CALLERID(num)=);
        Set(CALLERID(name)=);
führt zu dem Namen "asterisk" im Display und auch im Debug Log.

Code:
        Set(CALLERID(num)=030123456789);
        Set(CALLERID(name)=);
führt zu 1001 auf dem Display.

Wenn ich die Nummer aber ändere und diese nicht gleich der rauswählenden Nummer ist (sondern z.B. 1234) dann zeigt er das auch im Display an. Allerdings steht es im Debug richtig.
Liegt es vielleicht an einem Bug in der Fritz!Box, die beim Angerufenen als TK Anlage dient? Anders könnte ich mir das jetzt nicht erklären.
 
Dazu gibt es Einstellungsparameter in der Fritz!Box.
Bearbeite die betreffende Nummer und schau dir...
[h=4]Leistungsmerkmale[/h]Rufnummerübermittlung

..an und ändere mal bspw. auf: [Rufnummer im Display- und Usernamen]

Eventuell ist diese Einstellung erst sichtbar wenn vorher Anderer Anbieter gewählt wird.
 
Das ist meiner Meinung nach nur für ausgehende Anrufe.

Derzeit steht es auf "Deaktiviert" und trotzdem werden diese Daten angezeigt.
 
Wenn ich die Nummer aber ändere und diese nicht gleich der rauswählenden Nummer ist (sondern z.B. 1234) dann zeigt er das auch im Display an. Allerdings steht es im Debug richtig.

Du meinst dann zeigt es beim Angerufenen trotzdem 1001 an, obwohl im From Header "1234" <030123456789> steht? Das kann nur sein, wenn zusätzlich ein P-Header gesetzt ist, idR. P-Preferred-Identity. Zeig doch bitte mal das ganze INVITE.

Die Fritzbox kann wie jedes andere Gerät nur das anzeigen, was übermittelt wird. Das was dort ankommt kannst Du in einem Trace des WAN Interface aufzeichnen und mit WireShark nach dem SIP INVITE durchsuchen, dann siehst Du was sie sieht.
 
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.