[FRAGE] Auswahl der abgehenden MSN bei ISDN

BigChief

Neuer User
Mitglied seit
25 Mrz 2006
Beiträge
75
Punkte für Reaktionen
0
Punkte
0
HI,

So, nachdem ja nun der Asterisk mehr und mehr läuft, wollte ich heute mal kurzerhand das System etwas optimieren. Bin aber dann sehr schnell an meine Grenzen gestoßen. Das mag' zum einen an meinem Alter liegen (wie manche mir immer nachsagen) oder vielmehr an den unzähligen Treffen bei der Suche hier im Forum bzw. auf den diversen Google-Seiten.

Ich habe von meinem Netzbetreiber insgesamt 10 MSNs zugeteilt bekommen, die 6stellig sind, also 807060 - 807069. Intern in meinem SOHO verwende ich dreistellige Nebenstellennummern. Die Zuordnung der "öffentlichen MSNs" zu meinen internen Rufnummern geht ja einfach über die extensions.conf. Dort habe ich unter anderem stehen:
Code:
[ankommend_(capi)]
exten = 807060,1,Dial(SIP/201,30)
exten => 807060,2,Goto,r-${DIALSTATUS}|1
exten => r-BUSY,1,voicemail,b201
exten => r-BUSY,2,Hangup
exten => r-NOANSWER,1,voicemail,u201
exten => r-NOANSWER,2,Hangup
Für die anderen MSN sieht es entsprechend aus.

Telefoniere ich nun abgehend wird immer die MSN 807060 verwendet, da ich ja lediglich
Code:
[abgehend_(capi)]
exten => _XXXX.,1,Dial,CAPI/contr1/${EXTEN}|55|Ttr
in der extensions.conf stehen habe.

Zum Verknüpfen der öffentlichen (6-stelligen) MSNs mit meinen internen (3-stelligen) Rufnummern bedarf es nun, soweit ich das überblicken konnte, einer umfangreichen Erweiterung.

Möglichkeit 1 ist, ich trage in die extensions.conf für jeden internen Teilnehmer quasi eine eignee Wahlregel ein, und gebe dort die MSN mit an. Bei 10 Teilnehmern ist das ja schon eine umfangreiche Tipperei, wenn's denn aber dann mal 50 oder mehr sein sollten, wird es wohl absolut umfangreich und eigentlich nicht praktikabel handelbar - so vermute ich mal.

Möglichkeit 2 wäre wohl eine exzessive Nutzung von Makros in der extensions.conf, wobei bei den gefunden Beispielen hier im Forum, jede Menge Benutzerspezifische Angaben in der extensions.conf gemacht werden, und nicht in der sip.conf, wo ja eigentlich der Rest meiner SIP-Teilnehmerkonfigurationen steht. Ist das so "normal" oder gibt es dafür keine bessere Lösung?

So wie ich das bis jetzt überrissen habe, wird wohl die Möglichkeit 2 die zu favorisierende sein, oder gibt es da einen weiteren ev. noch besseren Ansatz? :noidea:

Vielleicht hat ja der ein oder andere ein paar wertvolle Tips für mich, oder ev. hat ja schon jemand eine ähnliche Herausforderung gemeistert und kann 'was zur Klärung meiner Grundsatzfragen beisteuern.

Ich sag' schon mal 1.000 Dank!

ciao,
BC
 
schreib doch einfach für jede interne Nummer die MSN in die Asterisk interne Datenbank.

z.B.

/CALLMSN/11/807060
/CALLMSN/12/807961

usw.

beim rauswählen holst du dir anhand der CALLERIDNUM die dazugehörige MSN aus der Datenbank und setzt die CALLERID.

Gruß, Werner
 
BigChief schrieb:
Möglichkeit 1 ist, ich trage in die extensions.conf für jeden internen Teilnehmer quasi eine eignee Wahlregel ein, und gebe dort die MSN mit an. Bei 10 Teilnehmern ist das ja schon eine umfangreiche Tipperei, wenn's denn aber dann mal 50 oder mehr sein sollten, wird es wohl absolut umfangreich und eigentlich nicht praktikabel handelbar - so vermute ich mal.

Ich habe so was ähnliches gemacht. Jeder user hat seinen context.
In diesem Context steht dann

exten => _X.,1,Set(voipjet-id=49762191XXXXX)
exten => _X.,n,Set(zap-id=49762191XXXXX)

In den Rauswahlregeln wird dann diese id ensprechend verwendet.

Also für Zap:

;mit Zap raus
[zap-ext]
exten => _X.,1,Set(CALLERID(number)=(${zap-id}))
exten => _X.,n,Dial(Zap/g3/${EXTEN},60,Tt)

Bei grossen Userzahlen ist allerdings die Methode mit der internen Datenbank efektiver, wo anhand des benutzten Apparates die zugehörigen Daten aus einer Tabelle geholt werden.
 
HI,

wpfundstein schrieb:
schreib doch einfach für jede interne Nummer die MSN in die Asterisk interne Datenbank.
Das klingt sehr plausibel, hab auch schon auf dem CLI mit database put CALLMSN 206 807065 die interne Datenbank gefüttert.

Das Ergebnis kann ich nun abfragen, indem ich auf dem CLI mit database show mir den Inhalt dieser Datenbank anschaue.
Code:
/CALLMSN/206                                      : 807065
/SIP/Registry/206                                 : 192.168.10.55:2057:3600:206:sip:[email protected]:2057;line=vv20spec
Mein Versuch den Eintrag einfach in die sip.conf zu schreiben scheiterte kläglich. Kann ich diese Einträge auch in einer Konfigurationsdatei ablegen, oder wie macht man das am einfachsten?

Irgenwie steh' ich gerade voll auf'm Schlauch ... :cool:

cu,
BC
 
Habedieehre!

kombjuder schrieb:
[zap-ext]
exten => _X.,1,Set(CALLERID(number)=(${zap-id}))
exten => _X.,n,Dial(Zap/g3/${EXTEN},60,Tt)
Nun kann ich zumindestens schon mal die abgehende Telefonnummer setzen. Hab' ein wenig mit meiner extensions.conf herumgespielt und solange versucht, bis das gewünschte Ergebnis am alten ISDN-Hallophon zu sehen war.

In meiner extensions.conf habe ich hierzu mal folgende Zeile eingefügt:
Code:
[abgehend_(capi)]
exten => _XXXX.,1,Set(CALLERID(number)=07654807067)
exten => _XXXX.,n,Dial,CAPI/contr1/${EXTEN}|55|Ttr
Auf dem CLI wird dann entsprechend angezeigt:
Code:
    -- Executing Set("SIP/202-8ee6", "CALLERID(number)=07654807067") in new stack
    -- Executing Dial("SIP/202-8ee6", "CAPI/contr1/807066|55|Ttr") in new stack
    -- Called contr1/807067
  == ISDN1: Incoming call '07654807067' -> '807066'
    -- Executing Dial("CAPI/ISDN1/807066-53", "SIP/200|30") in new stack
    -- Called 200
    -- SIP/200-9d15 is ringing
    -- CAPI/ISDN1/807066-52 is ringing

So weit so gut, nun muss ich "nur noch" herausfinden, wie ich das mit der Datenbankabfrage und dem automatischen Befüllen der Variable CALLERID(number) funktioniert.

wpfundstein schrieb:
beim rauswählen holst du dir anhand der CALLERIDNUM die dazugehörige MSN aus der Datenbank und setzt die CALLERID.
Wenn Du mir da ev. noch einen kleinen Tip geben könntest, wäre das echt super! :]

Pfiadseich!
BigChief
 
Tipp:

Setze in der Asteriskkonsole mit

database put <CALLERID> MSN <MSN>

die entsprechenden Einträge und mit

exten => _XXXX.,1,Set(msn=DB(${CALLERIDNUM}/MSN) )
exten => _XXXX.,2,Set(CALLERID(number)=${msn})
 
[LÖSUNG] Auswahl der abgehenden MSN bei ISDN

Griasdebou!
chaos2000 schrieb:
Tipp:
exten => _XXXX.,1,Set(msn=DB(${CALLERIDNUM}/MSN) )
exten => _XXXX.,2,Set(CALLERID(number)=${msn})
Hattest fast Recht, Dank Deiner Unterstützung und der Seite hier bin ich dann auf den genauen Syntax gekommen:
Code:
[abgehend_(capi)]
exten => _XXXX.,1,Set(msn=${DB(${CALLERIDNUM}/MSN)})
exten => _XXXX.,n,Set(CALLERID(number)=${msn})
exten => _XXXX.,n,Dial,CAPI/contr1/${EXTEN}|55|Ttr
So, nun werd' ich da mal meinen Asterisken weiter trimmen, damit dieser bald mal seinen Produktivbetrieb aufnehmen darf. Die bessere Hälfte nörgelt schon, wenn denn nun das hybsche neue Telefon nun endlich benutzt werden darf. :)

Vielen Dank auch noch mal an all die anderen, die so tatkräftige Unterstützung geleistet hatten! :cool:

Pfiade,
BigChief
 

Statistik des Forums

Themen
244,878
Beiträge
2,220,024
Mitglieder
371,604
Neuestes Mitglied
broekar
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.