Intelligente User/MSN Verwaltung gesucht (Ausblick LCR)

allesOK

Mitglied
Mitglied seit
24 Mai 2004
Beiträge
732
Punkte für Reaktionen
0
Punkte
0
Hi!

Viele kennen oder nutzen meinen Dialplan aus diesem Thread. Dort werden mit Macros einige Variablen gesetzt, die abhaengig von der genutzen MSN sind:

Code:
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
;users ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;

[macro-user11111]

exten => s,1,SetVar(MYNAME=MSN11111)
exten => s,2,SetVar(MYMSN=11111)
exten => s,3,SetVar(MYSIPGROUP=SIP/11)
exten => s,4,SetVar(MYCALLMACRO=callwithpstn)
exten => s,5,SetVar(MYNUMSIP=1)
exten => s,6,SetVar(MYSIP1=sipgate11)
exten => s,6,SetVar(MYSIP1=unisaarland-intl)

[macro-user22222]

exten => s,1,SetVar(MYNAME=MSN22222)
exten => s,2,SetVar(MYMSN=22222)
exten => s,3,SetVar(MYSIPGROUP=SIP/22)
exten => s,4,SetVar(MYCALLMACRO=callwithpstn)
exten => s,5,SetVar(MYNUMSIP=3)
exten => s,6,SetVar(MYSIP1=sipgate22)
exten => s,7,SetVar(MYSIP2=unisaarland-intl)
exten => s,8,SetVar(MYSIP3=webde22) de]

Da ich gerade den Dialplan sehr vereinfacht habe (in Kuerze poste ich die Version, die ein CbC/VoIP LCR enthaelt), gefaellt mir selbst diese Art der Nutzerverwaltung nicht wirklich. Hat jemand eine Idee, wie man das netter gestalten kann.

Das Problem ist ja diverse Eintraege in *.conf Files miteinander zu verbinden. Dabei denke ich vor allem an die Sip-Accounts und evtl. Callerid fuer diese. Oder auch MYCALLMACRO.

Ideen? users.conf? mysql? asteriskdb? Am liebsten mit kurzen Codebespielen. So der Vermutung nach finde ich asteriskdb am einfachsten, kann man diese denn "nett" bearbeiten? Interface? CLI?

Vielen Dank!

Eric
 
Die Antworten sind ja sehr reichlich ... naja, ich habe mittlerweile ein File angelegt in der ich entsprechende Variablen in "MSN-Kontexten" ablege und ein AGI Skript stellt mir diese dann im Dialplan zur Verfuegung. Hier ein kurzer Auszug aus so einer Datei:

Code:
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
; msn specific values override default values:
; attention: ensure that providerN-1 exists if providerN does

;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
; supported fields (case sensitive!!!)

; info:
; name                Name of user

; incoming
; Zap:                Which Zap users should be called on incoming call
; SIP:                Which SIP users should be called on incoming call
; placing             Zap, SIP or all
; prefix              Prefix when external call signalled 


; outgoing
; callmacro           preferred callmacro: withlcr, withpstn, withsip
;                     note that you need a pstn line for withpstn or at least
;                     provider1 when using withsip
; providerX           Sip provider defined in sip.conf for calling with 2Z*
;                     Up to nine are allowed
; tsblcrfile          Filename of routing table downloaded from
;                     telefon-sparbuch.de

; Variables are accessible in dialplan after calling msn agi script:
; exten => s,1,AGI(msn.agi|/etc/asterisk/msn.conf|${MSN}[|own:variables:partioned:with:colons])
; Variables will be made uppercase and with USER_ prefix.
; so 'name' will become 'USER_NAME' in dialplan

;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
[default]
;incoming
prefix=0
placing=Zap
;outgoing
callmacro=withlcr
tsblcrfile=/etc/asterisk/lcr/Asterisk.lcr
provider1=unisaarland-intl
provider2=sipgate

;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
[78910] ; main
name=Voipfan
;incoming
Zap=Zap/g1/78910
SIP=SIP/48
placing=all
;outgoing
provider3=webde

Die Details und das Skript kommen dann in Kuerze, wenn ich meinen Dialplan in der aktuellen Version (mit CbC/VoIP-LCR) veroeffentliche.
 
@allesOK
Ich befürchte viele hier sind noch lange nicht so weit wie Du was das Verständnis des Dialplan, etc. angeht. Daher wohl verhaltene Aktivität. Deine Vorhaben finde ich klasse und ich kann aus Deinen Dialplänen und Macros viel lernen, aber der Dialplan ist doch schon sehr komplex geworden, daher ist es auch klasse hier zu vereinfachen. Nur ist mein KnowHow im Bereich strukturieren von Scripts oder Programmierung mit prozeduralen Sprachen sehr gering. Ich kann Code lesen und schnell verstehen und auch Änderungen einbauen, aber ich bin nicht geeignet um eigene Ideen in Code "from scratch" umzusetzen :)

Was ich anbieten kann, ist Deine Dialpläne auch mal in meiner Umgebung zu testen, da ich ein paar Besonderheiten hier habe, dann kann ich Feedback zur Optimierung geben.

Sorry! Aber bleib bitte am Ball :)

Gruß,

Jui
 
Klar ich entwickele immer weiter - wobei ich hoffe nicht am Interesse der Allgemeinheit vorbei zu entwickeln. Primaer verfolgende ich zwar die beste Umsetzung meiner Anforderungen, doch versuch ich sie so zu stricken, dass sie fuer andere anwendbar bleiben. So bastele ich auch gerade an Version 2.0 meiner Callback'n'through Loesung! Kommt bald!

Zur Userverwaltung: Ich denke, ich lasse es mal so wie im File oben. Details kommen noch. Vorteil ist, man hat klar definierte Variablen, man kann aber auch nach eigenem Bedarf welche hinzufuegen (zum Beispiel Callin-Callerids).

Klar bleib ich am Ball - lass euch doch nicht haengen. Hab doch auch schon viel von der Community bekommen....
 
@allesOK
An einem einfachen Dialplan inklusive Userverwaltung hätte ich auch interesse.
Leider bin ich auch noch nicht so weit das ich dir dabei helfen könnte.
Werde dein projekt aber mit Interesse verfolgen.
 
Bin schon dabei, den Plan zu vereinfachen und so zu schreiben, dass es von vielen sehr einfach eingebunden werden kann. Ist halt etwas Arbeit ...
 
Was ch noch für wichtig empfinde ist, dass der Dialplan sofort erlaubt, dass interne Teilnehmer (egal ob SIP oder zap an HFC mit MSN) problemlos miteinander telefonieren können. Die Frage hier ist wie man signalisiert, dass es ein interner Ruf wird. Entweder über die Anzahl der Stellen (2 oder 3 Stellen) oder aber durch Voranstellen eines *. Also *52 ist dann interner Teilnehmer 52 (kann ein SIP-Client oder aber eine MSN an einer HFC sein). Ich denke das ist besser als die Alternative mit Amtsholung (und ohne Amtsholung = intern), aber vielleicht kann man beide Optionen sogar bieten inkl. internem Freizeichen dann?
 
Also ich hab da was, wobei ich mich hauptsaechlich auf externe Rufe konzentriere. Interne Call koennen durch includes der entsprechende Kontexte auch einfach eingebunden werden. Ist eh nur interessant, wenn man erst abhebt und dann waehlt - wegen Wahlzeichen (internal/external). Hab ich aber auch schon fertig.

Ich werde wohl eine Webseite aufsetzen, auf der ich den Dialplan veroeffentliche.
 
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.