Mehrere SIP Account, eine Mailbox: Abfrage

stephanw

Neuer User
Mitglied seit
24 Mrz 2006
Beiträge
73
Punkte für Reaktionen
0
Punkte
0
Hallo
ich möchte, dass mehrere SIP Accounts sich eine Mailbox teilen. Den MWI habe ich hingekriegt: sip.conf => mailbox=xx@default

ABER: Wie kann ich im Dialplan machen, dass bei Anruf auf 800 die entsprechende Mailbox kommt. Momentan habe ich das so gelöst:

exten => 800,n,voicemailmain,s${CALLERIDNUM}

Da kommt natürlich die Mailbox des jeweilligen Accounts, nicht die gemeinsame.
Wie kann ich ${CALLERIDNUM} mit dem Wert ersetzen, den ich in der sip.conf unter mailbox eingetragen habe?

Kann ich die in sip.conf konfigurierten Werte generell im Dialplan abfragen?

Danke für eure Hilfe!
Stephan
 
stephanw schrieb:
ABER: Wie kann ich im Dialplan machen, dass bei Anruf auf 800 die entsprechende Mailbox kommt. Momentan habe ich das so gelöst:

exten => 800,n,voicemailmain,s${CALLERIDNUM}

Mal angenommen, die gemeinsame Mailbox hat die Nummer 123, dann würde das einfach so aussehen:

Code:
exten => 800,n,voicemailmain,s123
 
Mehrere SIP auf eine Mailbox

Danke Betateilchen.
Natürlich funktioniert das so.
Code:
exten => 800,n,voicemailmain,s123
Aber es ist doch ein wenig statisch... da müsste ich ja für jede Mailbox eine eigene extension einrichten.

Ich möchte es eben dynamischer:
Code:
exten => 800,n,voicemailmain,s${CALLERIDNUM}

So kommt doch jeder User auf seine Mailbox, aber immer mit der extension 800.
Aber statt ${CALLERIDNUM} sollte ich eben die Nummer abfragen können, die ich in sip.conf mehreren sip-Accounts mit
Code:
mailbox=1234@default
zugewiesen habe.

Hast Du (oder sonst jemand) eine Idee?

Danke und Gruss
Stephan
 
Aber natürlich habe ich noch weitere Ideen ;)

Schau mal hier und auf der Seite speziell den Abschnitt Voicemail broadcasts Das sollte Dir weiterhelfen.
 
ich bin sooo hartnäckig :)

Hallo
wieder etwas gelernt (und vieles meines Asterisk Wissens setzt sich aus Betateilchen zusammen :).

Aber ich lass nicht locker...

Okay, die Abfrage ist so gelöst. Aber ein dynamischer Aufruf mit:
Code:
exten => s,1,VoiceMail,su${EXTEN}
ist so noch nicht möglich.

Kann ich wirklich nicht die sip.conf auslesen und schauen, was für eine Mailbox der entsprechende sip-Account hat? Okay, mit astDB könnte ich das machen:

Mit Paaren "sipnummer" (${EXTEN]) ==> entsprechende Gruppenmailbox..

Grüssli und herzlichen Dank!
Stephan
 
Also das auslesen aus der sip.conf wird nicht zuverlässig (und vor allem nicht einfach) funktionieren. Solltest Du dich dazu entschließen, deine SIP peers über MySQL per Realtime zu generieren, kannst Du natürlich die Mailboxnummer aus dem entsprechenden Datensatz lesen.

Aber warum willst Du eigentlich die Mailbox mit exten => s aufrufen? Das führt doch lediglich dazu, daß in ${EXTEN} auch nur ein "s" drinsteht.

Wenn Du anstatt "s" das Pattern "_X." verwendest, bekommst Du auch eine echte Nummer in ${EXTEN}
 
Hallo
ja sorry, ist natürlich ein Typfehler. Habe das aus meinem Macro kopiert und nur ${MACRO_EXTEN} geändert.
Natürlich so:
Code:
exten =>  _2X,n,VoiceMail,su${EXTEN}

behandelt meinen 20er Block. Aber Realtime oder AstDB, das habe ich mir gedacht. Ist ja auch keine Hexerei.. und die Gruppenmailbox ist wirklich cool (broadcast). Nochmals Danke!
 
ich verstehe immer noch nicht, warum Du ausgerechnet den zugewiesenen Wert aus der sip.conf wissen mußt :gruebel:
 
erklär.... (versuch)

Gut. Ich habe 10 Telefone (20-29). Die haben folgende Mailboxen:

20 & 25 haben gemeinsame Mailbox
21 & 26 haben gemeinsame Mailbox
22 & 27 haben gemeinsame Mailbox

23,24,28,29 haben eigene Mailboxen.

Mit dem Broadcast System kann jeder seine Mailbox haben. Nachrichten für 20 werden ja in MB25 kopiert (mit VoiceMail(u20&25))=> Dein Tip.

Alle Telefone können so Ihre Mailbox abfragen (Calleridnum ist natürlich in sip.conf entsprechend konfiguriert).
Code:
exten => 800,n,voicemailmain,s${CALLERIDNUM}

Aber wie mache ich im Dialplan, den Teil
Code:
exten => _2X,1,Dial(SIP/${EXTEN},15,tTr)
exten => _2X,n,VoiceMail(=>?????<=)

ebenso generisch? Meine Idee ist eben, ich mache einen AstDB Schlüssel mb20 mit Value "u20&25", einen Schlüssel mb25 ==> "u20&25", mb21==>"u21&26" usw.

Ansonsten muss ich für jede extension (20-29) eine separate Zeile machen:

Code:
exten => _20,1,Dial(SIP/20,15,tTr)
exten => _21,n,VoiceMail(u20&25)


Grüsse aus der Schweiz
Stephan
 
- klick gemacht -

Ich würde das Thema mit den Schlüsseln aber nicht furchtbar aufwändig in der Datenbank lösen, sondern ganz pragmatisch im Kontext [globals] deiner extensions.conf, zumal es sich ja um eine recht begrenzte Anzahl handelt.

Also in der extensions.conf einfügen:

Code:
[globals]
mb20 => u20&25
mb25 => u20&25
mb21 => u21&26
usw.

Dann kannst Du im Dialplan einfach
Code:
${MB${EXTEN}}
als Variable an beliebiger Stelle verwenden.

Ich definiere auf die gleiche simple Weise in meinen Dialplänen übrigens unterschiedliche Callgroups.
 
Hallo,

das Thema ist hier zwar schon etwas älter, ich stehe aber vor dem gleichen Problem.
(Nutze asterisk 1.4.13 auf debian 2.6.18 )

Der Vorschlag mit dem broadcast hätte ja die Eigenschaft, das die Nachricht x mal in jede Box zu jedem Anschluss verteilt wird.
D.h. bspw. Teilnehmer 10 und 11 erhalten über eine broadcast-Box beide die gleiche Nachricht in die jeweils eigene Box.
Höre ich die Nachricht dann bei 10 ab, wird diese aber in der Box an Anschluß 11 noch solange vorhanden sein, bis die dort auch abgehört/gelöscht wird. Irgendwie umständlich.
Denn automatisch gelöscht werden kann doch nur die ursprüngliche Nachricht in der Broadcast-Box.

Hat vielleicht zwischenzeitlich noch jemand einen anderen Ansatz hierzu im Einsatz?

Grüße
Tjareson
 

Zurzeit aktive Besucher

Statistik des Forums

Themen
245,071
Beiträge
2,223,858
Mitglieder
371,890
Neuestes Mitglied
vladista
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.