View previous topic :: View next topic |
Author |
Message |
equinox0r l33t


Joined: 18 Feb 2004 Posts: 614
|
Posted: Wed Nov 22, 2006 2:02 pm Post subject: Asterisk - extensions dynamisch ändern |
|
|
Hi,
Ich hab folgendes:
- eine Alcatel-Telefonanlage
- viele Alcatel-DECTs an der Anlage
- einen Asterisk-Server mit FritzCard
- SIP/IAX-Clients am Asterisk-Server
Folgendes Szenario:
Ich sitze am Schreibtisch und bin via SIP am Asterisk angemeldet. Nun möchte ich pinkeln gehen, dabei aber über mein DECT an der Alcatel über den Asterisk mit der SIP-Nummer erreichbar sein. D.h. ich müsste per SIP irgendwie die betreffende Extension umschreiben, sodass die SIP-Nummer über CAPI an die Alcatel-Durchwahl von meinem DECT weitergeleitet wird.
Was ich nicht will ist ein (ich nenns mal) erweiterter Dialplan der bei nicht-erreichen des SIP-Clients auf CAPI weiterleitet, sondern eigentlich eine Konfiguration der Extensions über ein SIP-Endgerät ..
Geht das irgendwie?
Grüße _________________ AMD 2400+ XP | 1024 MB RAM | ATI Radeon 9600Pro
Gentoo Base System version 1.4.16 | Portage 2.0.51.19 | 2.6.11-gentoo-r9 Kernel |
|
Back to top |
|
 |
equinox0r l33t


Joined: 18 Feb 2004 Posts: 614
|
Posted: Fri Nov 24, 2006 12:13 pm Post subject: |
|
|
*dezentes push* _________________ AMD 2400+ XP | 1024 MB RAM | ATI Radeon 9600Pro
Gentoo Base System version 1.4.16 | Portage 2.0.51.19 | 2.6.11-gentoo-r9 Kernel |
|
Back to top |
|
 |
Ruad Tux's lil' helper


Joined: 07 Nov 2004 Posts: 125
|
Posted: Mon Nov 27, 2006 1:50 pm Post subject: |
|
|
in kurzform:
ja, das geht, indem du die interne asteriskdatenbank benutzt und entsprechende Stellen in die extensions dynamisch aus der datenbank holst.
Anschließend kannst dann über telefonbefehle oder sonstigen "tricks" entsprechende einstellungen in der datenbank vornehmen.
Falls dir die Stichwörter reichen, dann schön, ansonsten wird dir für asterisk immer wieder gerne www.ip-phone-forum.de (deutsch) oder www.voip-info.org (englisch, sehr gut für asterisk) ans herz gelegt. |
|
Back to top |
|
 |
equinox0r l33t


Joined: 18 Feb 2004 Posts: 614
|
Posted: Tue Nov 28, 2006 12:39 pm Post subject: |
|
|
was für eine interne datenbank ist das? du meinst ja nicht die extensions.conf (datei) oder?
voip-info.org kenn ich natürlich, nur fehlen mir die entsprechenden suchbegriffe... _________________ AMD 2400+ XP | 1024 MB RAM | ATI Radeon 9600Pro
Gentoo Base System version 1.4.16 | Portage 2.0.51.19 | 2.6.11-gentoo-r9 Kernel |
|
Back to top |
|
 |
Ruad Tux's lil' helper


Joined: 07 Nov 2004 Posts: 125
|
Posted: Tue Nov 28, 2006 1:31 pm Post subject: |
|
|
In diesem Falle ist AstDB dein Stichwort. Bei voip-info.org ist http://voip-info.org/wiki/view/Asterisk+database vielleicht ein guter Anfang.
P.S.: ich meine den dialplan. heißt die nicht extensions.conf? hab seit zwei monaten nicht mehr reingeschaut wegen meiner arbeit. |
|
Back to top |
|
 |
equinox0r l33t


Joined: 18 Feb 2004 Posts: 614
|
Posted: Tue Nov 28, 2006 2:07 pm Post subject: |
|
|
doch, der dialplan kommt in die extensions.conf .. allerdings ist diese datei ne reine ascii-datei und kein dbm-file ..
und wo genau finde ich diese datenbank? ich les aber trotzdem analog zu euren/deiner antwort(en) (bitte *g*) weiter... _________________ AMD 2400+ XP | 1024 MB RAM | ATI Radeon 9600Pro
Gentoo Base System version 1.4.16 | Portage 2.0.51.19 | 2.6.11-gentoo-r9 Kernel |
|
Back to top |
|
 |
Ruad Tux's lil' helper


Joined: 07 Nov 2004 Posts: 125
|
Posted: Tue Nov 28, 2006 2:38 pm Post subject: |
|
|
also:
anstelle hardcoded
ext => 3944, 1, dial(SIP/20, bla foo);
schreibst du dann
ext => 3944, 1, dial (SIP/$(dbget(tablename/entryxy)), bla foo);
Und schon wird bei einem Anruf auf 3944 nicht mehr fix 20 angerufen sondern dynamisch aus der DB gelesen.
Und wie du jetzt die datenbank dynamisch veränderst, passiert analog, nur dass du diesmal die tastatureingaben deines telefons abgreifst und in die datenbank einpflegst.
Du kannst auch direkt MySQL nutzen, aber dann hast du noch mehr konfigurationsspaß. die AstDB ist durchaus "mächtig" genug für die meisten zwecke und ist, glaub ich auch archivierbar, alternativ legst du dir ein initialskript für die db an, das du bei einem abrauchen ausführst.
die datenbankeinträge kannst du auch direkt über die cli von * verändern und ansehen.
also mit einem ssh-zugriff auf den server, kannst du deine telefonanlage auch dynamisch "umschalten" |
|
Back to top |
|
 |
equinox0r l33t


Joined: 18 Feb 2004 Posts: 614
|
Posted: Tue Nov 28, 2006 2:42 pm Post subject: |
|
|
ok prima ..
dann muss ich nur noch wissen wie ich initial diese datenbank erstelle, dann ist mir schonmal sehr viel weitergeholfen  _________________ AMD 2400+ XP | 1024 MB RAM | ATI Radeon 9600Pro
Gentoo Base System version 1.4.16 | Portage 2.0.51.19 | 2.6.11-gentoo-r9 Kernel |
|
Back to top |
|
 |
Ruad Tux's lil' helper


Joined: 07 Nov 2004 Posts: 125
|
Posted: Tue Nov 28, 2006 3:09 pm Post subject: |
|
|
die Datenbank ist schon "da". halt nur per anfang "leer". du kannst einfach per dbput tablename/entry (= wert)? einen wert setzen, ist die tabelle und der entry noch nicht existent wird er halt angelegt. Deshalb musst du auch auf rechtschreibfehler aufpassen musst, sonst benutzen verschiedene teile plötzlich verschiedene einträge.  |
|
Back to top |
|
 |
equinox0r l33t


Joined: 18 Feb 2004 Posts: 614
|
Posted: Wed Jan 03, 2007 3:49 pm Post subject: |
|
|
nochmal ich:
Ich bin jetzt ein ganzes Stück weiter und hab mir ein paar PHP-Scripte zur Kommunikation zwischen der AstDB (über das Asterisk Call Manager Interface [Telnet/Sockets]) und MySQL geschrieben, sodass ich theoretisch den kompletten Rufnummernplan in der MySQL-Datenbank abbilden kann. Wie würde es in dem Fall mit der Datei extensions.conf aussehen, braucht man die noch, oder nur Teile daraus -> [general] und [globals]?
Um das ganze dynamisch zu halten, muss ich aber in der MySQL-Datenbank resp. im Rufnummernplan in der MySQL-Datenbank auf die AstDB zugreifen und am besten den kompletten Rufnummernplan nochmals in der AstDB abbilden. Soweit ist das auch kein Problem, was ich vielmehr nicht verstehe ist der ganze Context/Extensions-Quark:
Wenn ich Asterisk starte wird der Initialrufnummernplan aus der MySQL-Datenbank geladen und in die AstDB importiert.
Dann ruft ein SIP/IAX-Teilnehmer eine andere Rufnummer an, und dann hörts schon auf mit dem Verständnis, weil woher weiss Asterisk welchem Context dieser Anruf zuzuordnen ist (bzw. wo soll überhaupt geschaut werden, in der MySQL-Datenbank oder in der AstDB?). Eigentlich müsste ich wohl in der MySQL-Datenbank alle Anweisungen für den Rufnummernplan für die AstDB schreiben, sodass der Weg zur richtigen Extension (im Rufnummernplan) über MySQL und dann zur AstDB laufen würde. Soweit korrekt?
Eine weitere wichtige Frage wäre dann wie ich den Rufnummernplan in der AstDB abbilde, da ich dort ja die Felder context, rufnummer, priority, application und application data unterbringen und dann analog dazu die Extensions in der MySQL-Datenbank richtig schreiben muss...
Vielleicht könnt Ihr mir da ein paar Denkanstöße in die richtige Richtung geben, oben geschriebenes bestätigen, korrigieren oder komplett über den Haufen werfen; ich bin jedenfalls für alles dankbar. _________________ AMD 2400+ XP | 1024 MB RAM | ATI Radeon 9600Pro
Gentoo Base System version 1.4.16 | Portage 2.0.51.19 | 2.6.11-gentoo-r9 Kernel |
|
Back to top |
|
 |
Ruad Tux's lil' helper


Joined: 07 Nov 2004 Posts: 125
|
|
Back to top |
|
 |
|