.titleBar { margin-bottom: 5px!important; }

Intelligente User/MSN Verwaltung gesucht (Ausblick LCR)

Dieses Thema im Forum "Asterisk Rufnummernplan" wurde erstellt von allesOK, 26 Jan. 2005.

  1. allesOK

    allesOK Mitglied

    Registriert seit:
    24 Mai 2004
    Beiträge:
    732
    Zustimmungen:
    0
    Punkte für Erfolge:
    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
     
  2. allesOK

    allesOK Mitglied

    Registriert seit:
    24 Mai 2004
    Beiträge:
    732
    Zustimmungen:
    0
    Punkte für Erfolge:
    0
    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.
     
  3. jui

    jui Mitglied

    Registriert seit:
    18 Dez. 2004
    Beiträge:
    229
    Zustimmungen:
    0
    Punkte für Erfolge:
    0
    @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
     
  4. allesOK

    allesOK Mitglied

    Registriert seit:
    24 Mai 2004
    Beiträge:
    732
    Zustimmungen:
    0
    Punkte für Erfolge:
    0
    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....
     
  5. lo4dro

    lo4dro Mitglied

    Registriert seit:
    14 Okt. 2004
    Beiträge:
    656
    Zustimmungen:
    0
    Punkte für Erfolge:
    0
    @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.
     
  6. allesOK

    allesOK Mitglied

    Registriert seit:
    24 Mai 2004
    Beiträge:
    732
    Zustimmungen:
    0
    Punkte für Erfolge:
    0
    Bin schon dabei, den Plan zu vereinfachen und so zu schreiben, dass es von vielen sehr einfach eingebunden werden kann. Ist halt etwas Arbeit ...
     
  7. jui

    jui Mitglied

    Registriert seit:
    18 Dez. 2004
    Beiträge:
    229
    Zustimmungen:
    0
    Punkte für Erfolge:
    0
    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?
     
  8. allesOK

    allesOK Mitglied

    Registriert seit:
    24 Mai 2004
    Beiträge:
    732
    Zustimmungen:
    0
    Punkte für Erfolge:
    0
    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.