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

Extensions in Mysql-DB

Dieses Thema im Forum "Asterisk Allgemein" wurde erstellt von vbbaby, 24 Feb. 2006.

  1. vbbaby

    vbbaby Mitglied

    Registriert seit:
    8 Sep. 2004
    Beiträge:
    350
    Zustimmungen:
    0
    Punkte für Erfolge:
    0
    Ort:
    Hamburg
    Moin....
    ich habe nun versucht meine extensions.conf in eine mysql-DB einzupflegen....

    Meine sip.conf habe ich erstmal so gelassen wie Sie war.....lief auch alles...:)

    In der extconfig.conf habe ich folgendes eingetragen:
    Code:
    extensions => mysql,asterisk,extensions_table
    In Mysql habe ich die Tabelle extensions_table in einer DB asterisk wie folgt angelegt...
    Code:
    CREATE TABLE `extensions_table` ( 
    [FONT=monospace]`id` int(11) NOT NULL auto_increment, [/FONT]
    [FONT=monospace]`context` varchar(20) NOT NULL default '', [/FONT]
    [FONT=monospace]`exten` varchar(20) NOT NULL default '', [/FONT]
    [FONT=monospace]`priority` tinyint(4) NOT NULL default '0', [/FONT]
    [FONT=monospace]`app` varchar(20) NOT NULL default '', [/FONT]
    [FONT=monospace]`appdata` varchar(128) NOT NULL default '', [/FONT]
    [FONT=monospace]PRIMARY KEY  (`context`,`exten`,`priority`), [/FONT]
    [FONT=monospace]KEY `id` (`id`) [/FONT]
    ) TYPE=MyISAM; 
    
    In der extentensions.conf habe ich folgendes eingetragen:

    Code:
    [general]
    static=yes
    writeprotect=no
     
    ; --------------------------------------------------------------------
    ; Es hat sich als gute Praxis erwiesen, die Inhalte der Datei
    ; extensions.conf modular aufzubauen. Diese Praxis wollen
    ; wir auch hier anwenden
    ;
     
    [lokal]
    ; Erreichbarkeit der Nebenstellen 30-39
    ; untereinander herstellen
     
    exten => _3X,1,NoCDR()
    exten => _3X,n,Dial,SIP/${EXTEN}|55|Ttr
     
    [test]
    switch => Realtime/@
     
    [default]
    include => lokal
    
    Mysql_addons hatte ich wie im Kurs von Beta installiert....

    Code:
    INSERT INTO `extensions_table` VALUES (9, 'nikotel_ankommend', '0221*****', 1, 'Dial', 'SIP/30|30|r');
    
    Wenn ich dieses ganz normal in die extension.conf schreibe funktionierts....nur in der Tabelle irgendwie nicht....
    Wenn ich auf der 0221..... anrufe kommt auch noch nicht mal eine Ausgabe in der CLI.......:confused:
    Wo steckt hier der Wurm drinne ?
     
  2. betateilchen

    betateilchen Grandstream-Guru

    Registriert seit:
    30 Juni 2004
    Beiträge:
    12,882
    Zustimmungen:
    0
    Punkte für Erfolge:
    0
    Ort:
    am Letzenberg
    Wenn Dein Gerät im Context [default] läuft, mußt Du [test] da natürlich auch bereitstellen.

    Code:
    [default]
    include => lokal
    include => test
    
    Und dann sieht Dein switch=> irgendwie komisch aus - aber das muß ich mir heute abend in Ruhe anschauen.
     
  3. vbbaby

    vbbaby Mitglied

    Registriert seit:
    8 Sep. 2004
    Beiträge:
    350
    Zustimmungen:
    0
    Punkte für Erfolge:
    0
    Ort:
    Hamburg
    So test hab ich included und den switch geändert:

    switch => Realtime/nikotel_ankommend@

    funktioniert soweit.....

    nun bekomme ich mein Callback aber nicht sauber rein.....

    Code:
    INSERT INTO `extensions_table` VALUES (9, 'nikotel_ankommend', '022127.../491765.....', 1, 'Wait', '1');
    INSERT INTO `extensions_table` VALUES (37, 'nikotel_ankommend', '022127..../491765....', 2, 'System', 'cp /etc/asterisk/call/callfile /var/spool/asterisk/outgoing/');
    INSERT INTO `extensions_table` VALUES (38, 'nikotel_ankommend', '022127..../49176....', 3, 'Wait', '1');
    INSERT INTO `extensions_table` VALUES (39, 'nikotel_ankommend', '022127..../49176...', 4, 'Ringing', '');
    INSERT INTO `extensions_table` VALUES (40, 'nikotel_ankommend', '022127..../49176....', 5, 'Busy', '');
    
    Hierbei müßte ja zumindest der Lockruf schonmal eine Ausgabe mit Busy/Hangup auf der Cli erfolgen ....aber es kommt nichts .....:(
     
  4. speedy1980

    speedy1980 Mitglied

    Registriert seit:
    13 Okt. 2004
    Beiträge:
    592
    Zustimmungen:
    0
    Punkte für Erfolge:
    0
    022127..../49176....
    Sowas geht in Realtime (noch) nicht. Du mußt die Anrufernummer entweder in der extensions.conf auswerten oder in Realtime anders lösen. Ich hab letztere Methode bei meinen Sachen gewählt.
     
  5. vbbaby

    vbbaby Mitglied

    Registriert seit:
    8 Sep. 2004
    Beiträge:
    350
    Zustimmungen:
    0
    Punkte für Erfolge:
    0
    Ort:
    Hamburg
    Ja und wie hast Du das gemacht ?
     
  6. speedy1980

    speedy1980 Mitglied

    Registriert seit:
    13 Okt. 2004
    Beiträge:
    592
    Zustimmungen:
    0
    Punkte für Erfolge:
    0
    Code:
    exten => 12345,1,Goto(othercontext,${CALLERIDNUM},1)
    
    [othercontext]
    exten => 6789,1,Wait(1)
    exten => 6789,2,System....
    
    Und so weiter. 12345 ist die angerufene Nummer, 6789 ist ein Anrufer, bei Dir also eine Handynummer. Prinzipiell also die Anrufernummer als extension verwenden. Man könnte aus "othercontext" auch in einen dritten Context springen. Je nach Geschmack und je nachdem, ob die CDR stimmen muß (hier ist ja dann die Anrufernummer als "dst" drin).
    Bei mir ist es eleganter gelöst, aber als Anregung sollte das reichen :)