Absendernummer setzen

Mansaylon

Neuer User
Mitglied seit
7 Mai 2007
Beiträge
158
Punkte für Reaktionen
1
Punkte
18
Hallo

Versuche schon seit einigen Tagen herauszufinden, wie ich die Absendernummer von verschienenen Telefonen gleich setzen kann.

Beispiel:
Telefone 100-108 sind für die selbe Abteilung.
Wenn ein Anruf auf 109 rein kommt, läutet es auf allen Telefone dieser Abteilung.
Nun möchte ich, dass der Absender von jedem Telefon (also von den Apparaten 100-108) jeweils immer beim Empfänger mit 109 angezeigt wird.

Irgendwie muss das ja gehen.... eine Firma will ja beispielsweise auch, dass nur die Hauptnummer beim Empfänger angezeigt wird.

Versuche mit fromuser oder CALLERID sind nicht gelungen.

Kann mir da bitte jemand auf die Sprünge helfen.

Danke.
 
Bezieht sich das jetzt auf Anrufe über Deinen Provider (wenn ja welchen?).
Da hängt es dann davon ab, wie Dein Provider die Übeermittlung der CALLERID erwartet und was er da ggf. überhaupt zuläßt.
Für bessere Tips müsstest Du uns Einblick in Deine Konfiguration gewähren ...
 
Nein... das bezieht sich nur auf die internen Verbindungen, gegebenenfalls noch via Trunk zu einem anderen Asterisk.
Es sind da aber nur 2 und 3 Stellige Telefonnummern vorhanden.... eigentlich wie in meinem Beispiel oben.
 
Dann ist doch aber Set(CALLERID(num)=109) vor jedem abgehenden Dial() einer der Nebsnstellen genau die Problemlösung. Oder anders: Was passiert wenn Du bspw. folgendes machst:

Code:
context test {

_1XX    => {
                 Set(CALLERID(num)=109);
                 Dial(SIP/${EXTEN});
                }
}

Nach allen Regeln der Kunst sollte das interne Telefon das hier angerufen wird, jetzt als Anrufenden die 109 sehen ...
 
Code:
; Ausgehend via Trunk Filiale
exten => _XX,1,Set(CALLERID(num)=109
exten => _XX,n,Dial(IAX2/filiale/${EXTEN})
exten => _XX,n,Hangup()

Das hat auf jeden Fall nicht funktioniert.
 
Ok, da sind wir ja auch bei einem etwas anderen Thema:

Dann geht ja der Call quasi über einen "Provider" also hier filiale.
Damit ist dann relevant, was A) tatsächlich an filiale geschickt wird (im Übrigen fehlt hinter der 109 die schließende Klammer), das erkennt man mit einen iax2 set debug on und
B) was der Asterisk bei filiale dann mit der Information weiter macht, bevor da die Endstelle klingelt (dafür bedarf es aber eines Blickes in dessen Config bzw. einer Betrachtung dessen cli-Outputs bei aankommendem Gespräch)
 
OK... verstehe.

Aber folgendes funktioniert auch nicht.
Code:
[local]
; Gruppenruf
exten => _2X9,1,Set(CALLERID(num)=209)
exten => _2X9,n(local),Dial(SIP/2${EXTEN:1:1}1&SIP/2${EXTEN:1:1}2&SIP/2${EXTEN:1:1}3&SIP/2${EXTEN:1:1}4&SIP/2${EXTEN:1:1}5&SIP/2${EXTEN:1:1}6&SIP/2${EXTEN:1:1}7&SIP/2${EXTEN:1:1}8&SIP/2${EXTEN:1:1}9,20,Ttr)
exten => _2X9,n,Hangup()

Wenn ich da nun von 206 auf 213 telefoniere, zeigt es am 213er immer noch 206 an, anstatt das gewünschte 209 ?!?!
 
Moment!
mit dem Dialplan landet ein Gespräch von 206 nach 213 nicht im angegebenen Abschnitt, da landen nur die Ziele 209,219,229,239,249,259,269,279,289,299, nicht aber 213! Demnach greift da auch die CALLERID(num)-Regel natürlich nicht, sondern nur für die (aufgezählten) Ziele, die über das Pattern 2X9 abgedeckt sind und da gehört nun mal 213 nicht dazu.
 
Oh wie peinlich.... ich war im Gruppenruf anstatt im Einzelruf.

Jetzt funktioniert es lokal:
Code:
; Einzelruf
exten => _[2-3]X[1-8],1,Set(CALLERID(num)=209)
exten => _[2-3]X[1-8],n(local),Dial(SIP/${EXTEN},20,Ttr)
exten => _[2-3]X[1-8],n,Hangup()

Kann folgendes auch funktionieren?

Code:
; Einzelruf
exten => _[2-3]0[1-8],1,Set(CALLERID(num)=209)
exten => _[2-3]1[1-8],n,Set(CALLERID(num)=219)
exten => _[2-3]2[1-8],n,Set(CALLERID(num)=229)
exten => _[2-3]X[1-8],n(local),Dial(SIP/${EXTEN},20,Ttr)
exten => _[2-3]X[1-8],n,Hangup()

Nun muss ich das nur noch mit dem Trunk via IAX2 hin kriegen.
 
Zuletzt bearbeitet:
Jein, so nicht, aber so ähnlich:

Code:
; Einzelruf
exten => _[2-3][0-2][1-8],1,Set(CALLERID(num)=2${EXTEN:2:1}9)
xten => _[2-3]X[1-8],n(local),Dial(SIP/${EXTEN},20,Ttr)
exten => _[2-3]X[1-8],n,Hangup()
 
Hmm.... da bekomme ich nun von 206 nach 213 als Absender 239 (statt 209)
und von 213 nach 206 als Absender 269 (statt 219)
 
Mein Fehler:

Set(CALLERID(num)=2${EXTEN:1:1}9)

ist korrekt.
 
Scheint mir immer noch ein kleiner Überlegungsfehler darin zu sein.... nun bekomme ich von:
206 nach 213 auf dem 213er 219 angezeigt.... müsste aber 209 sein, da ja 209 vom Absender der Sammelruf wäre.

Mit $EXTEN habe ich ja die Variable von der Nummer, der ich wähle und nicht die Variable vom Absender (welche ich in diesem Fall ja nun haben müsste).
 
Das Ei des Kolumbus:
Code:
exten => _[2-3][0-2][1-8],1,Set(CALLERID(num)=2${CALLERID(num):1:1}9)
 
Stimmt, da war noch ein kardinaler denkfehler bei mir drin, EXTEN ist natürlich quatsch, CALLERID kann man nehmen oder aber auch (bei Deinem Setup) CHANNEL(peername).
 
Und warum setzt Du die nummer nicht schon in der sip.conf?
 
@abw1oim: Danke für Deine Unterstützung.

Und warum setzt Du die nummer nicht schon in der sip.conf?
Tja... ich nehme gerne diesen Tipp an... wenn man mir ein Beispiel zeigt, wie ich das realisieren kann.
fromuser ist da auf jeden Fall nicht gegangen.
 
voip-info.org schrieb:
callerid = <string> : Caller ID information used when nothing else is available. Defaults to asterisk.
cid_number = <string> : Sets the outbound $CALLERID(num) to <string>. (New in v.1.4.x)

Code:
[100]
type=friend
callerid="Abteilung1" <100>
cid_number=100

schau mal ob das funktioniert
 
So.... bin nun dazu gekommen, dies zu testen... und geht nicht.
Ich brauche es ja wie folgt:
Code:
[206]
username = 206
secret = xxxxxx
callerid = "Abteilung1"
cid_number = 209
 
Kann nicht gehen, funktionierende Beispiele findet man hier oder in den Asterisk-Sourcen unter sip.conf.sample.
 
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.