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

Switch- und Include-Anweisungen mit Realtime

Dieses Thema im Forum "Asterisk Rufnummernplan" wurde erstellt von Mascha, 7 Juli 2005.

  1. Mascha

    Mascha Neuer User

    Registriert seit:
    26 Mai 2005
    Beiträge:
    3
    Zustimmungen:
    0
    Punkte für Erfolge:
    0
    Der Anleitung auf voip-info.org folgend habe ich angefangen, Realtime mit MySQL für meinen Asterisk-Server zu implementieren. Den eindeutig statischen Teil der extensions.conf habe ich in die Tabelle ast_config eingelesen und die einzelnen Extensions in die Tabelle extensions. Einen Rest behalte ich allerdings immer noch übrig:
    Code:
    [default]
    switch => Realtime/default@rt_ext
    
    [from-sip]
    include => default
    [local]
    include => default
    Wo sollen diese Zeilen hin? Testweise hatte ich sie in die Tabelle ast_config eingefügt (auf das Relevante gekürzt):
    Code:
    +----+-----+-----+----------+--------------+-------------------------+
    | id | cat | var | category | var_name     | var_val                  |
    +----+-----+-----+----------+--------------+-------------------------+
    |  6 |   0 |   0 | general  | static       | yes                     |
    |  7 |   0 |   1 | general  | writeprotect | no                      |
    | 38 |   1 |   0 | default  | switch       | Realtime/default@rt_ext |
    | 39 |   2 |   0 | from-sip | include      | default                 |
    | 40 |   3 |   0 | local    | include      | default                 |
    +----+-----+-----+----------+--------------+-------------------------+
    Leider produziert Asterisk dann beim Starten folgende Fehlermeldung:
    "WARNING: pbx.c:3650 ast_merge_contexts_and_delete: Requested contexts didn't get merged."

    Und in die Tabelle extensions scheinen die Anweisungen ja auch nicht reinzupassen:
    Code:
    mysql> show columns from extensions;
    +----------+--------------+------+-----+---------+-------+
    | Field    | Type         | Null | Key | Default | Extra |
    +----------+--------------+------+-----+---------+-------+
    | context  | varchar(20)  |      | PRI | default |       |
    | exten    | varchar(64)  |      | PRI |         |       |
    | priority | int(2)       |      | PRI | 1       |       |
    | app      | varchar(20)  |      |     |         |       |
    | appdata  | varchar(255) | YES  |     | NULL    |       |
    | descr    | text         | YES  |     | NULL    |       |
    | flags    | int(1)       |      |     | 0       |       |
    +----------+--------------+------+-----+---------+-------+
    Für Hinweise jeder Art bin ich dankbar.


    System: Suse 9.3
    Asterisk CVS-NHEAD-07/04/05-12:13:28
     
  2. Mascha

    Mascha Neuer User

    Registriert seit:
    26 Mai 2005
    Beiträge:
    3
    Zustimmungen:
    0
    Punkte für Erfolge:
    0
    Leider habe ich in der vergangenen Woche keine neuen Erkenntnisse gewonnen. Wie löst ihr das denn, wenn ihr einen Context in einen anderen einbinden wollt bei der Verwendung von Realtime?
     
  3. Maik

    Maik Gesperrt

    Registriert seit:
    1 Apr. 2004
    Beiträge:
    1,778
    Zustimmungen:
    0
    Punkte für Erfolge:
    0
    Das muss leider immer noch im File bleiben. Ausserdem muessen alle Kontexte, die in der DB verwendet werden auch im file auftauchen mit der switch Anweisung.

    Das ganze liegt daran, dass die switch-Anweisung eigentlich zum Vernetzen von Anlagen gedacht war und daher auch nicht alle Funktionen abbilden kann. :(
     
  4. Mascha

    Mascha Neuer User

    Registriert seit:
    26 Mai 2005
    Beiträge:
    3
    Zustimmungen:
    0
    Punkte für Erfolge:
    0
    Gilt dasselbe analog dann auch für die include-Anweisungen?
     
  5. Maik

    Maik Gesperrt

    Registriert seit:
    1 Apr. 2004
    Beiträge:
    1,778
    Zustimmungen:
    0
    Punkte für Erfolge:
    0
    Ja. es gilt fuer alles was nicht ne Extension ist und ausserdem auch fuer Extensions mit Prioritaet -1 bzw 'hint'.
     
  6. Daverichter

    Daverichter Neuer User

    Registriert seit:
    25 Juli 2005
    Beiträge:
    106
    Zustimmungen:
    0
    Punkte für Erfolge:
    0
    Hi,

    ich befasse mich auch gerade mit dem thema Realtime, so wie ich den Artikel http://www.voip-info.org/wiki/view/Asterisk+RealTime+Static verstanden habe kann man nun komplett auf die conf dateien verzichten ! oder nicht ?

    wie habt ihr Realtime am laufen ?, ich würde gern komplett auf die dateien verzichten, so macht es auch einfacher ein webinterface dafür zu basteln :)

    MFG

    Dave
     
  7. Maik

    Maik Gesperrt

    Registriert seit:
    1 Apr. 2004
    Beiträge:
    1,778
    Zustimmungen:
    0
    Punkte für Erfolge:
    0
    Wenn man RealTime Static verwendet braucht man immer noch die extconfig.conf aber alles andere kann man dann wohl in der DB ablegen. Allerdings werden diese Tabellen dann AFAIK nur 1 Mal beim Starten bzw. bei einem Reload eingelesen. Beim normalen RealTime wird alles bei Bedarf geladen und deshalb muss man bei Änderungen auch keinen reload machen.
     
  8. Daverichter

    Daverichter Neuer User

    Registriert seit:
    25 Juli 2005
    Beiträge:
    106
    Zustimmungen:
    0
    Punkte für Erfolge:
    0
    Hi,

    so ich hab die config fertig :)
    wie du schon gesagt hast wenn ich was in der Static Tabelle ändere muss ich einen reload machen, was aber nicht weiter tragisch ist.

    auch switch und inclue anweisungen funktionieren aus der tabelle raus :)

    jetzt werde ich mich dran setzten und ein klicki bunti webinterface basteln :)

    MFG

    Dave