Gentoo Forums
Gentoo Forums
Gentoo Forums
Quick Search: in
Asterisk - extensions dynamisch ändern
View unanswered posts
View posts from last 24 hours
View posts from last 7 days

 
Reply to topic    Gentoo Forums Forum Index Deutsches Forum (German) Diskussionsforum
View previous topic :: View next topic  
Author Message
equinox0r
l33t
l33t


Joined: 18 Feb 2004
Posts: 614

PostPosted: Wed Nov 22, 2006 2:02 pm    Post subject: Asterisk - extensions dynamisch ändern Reply with quote

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
View user's profile Send private message
equinox0r
l33t
l33t


Joined: 18 Feb 2004
Posts: 614

PostPosted: Fri Nov 24, 2006 12:13 pm    Post subject: Reply with quote

*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
View user's profile Send private message
Ruad
Tux's lil' helper
Tux's lil' helper


Joined: 07 Nov 2004
Posts: 125

PostPosted: Mon Nov 27, 2006 1:50 pm    Post subject: Reply with quote

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
View user's profile Send private message
equinox0r
l33t
l33t


Joined: 18 Feb 2004
Posts: 614

PostPosted: Tue Nov 28, 2006 12:39 pm    Post subject: Reply with quote

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
View user's profile Send private message
Ruad
Tux's lil' helper
Tux's lil' helper


Joined: 07 Nov 2004
Posts: 125

PostPosted: Tue Nov 28, 2006 1:31 pm    Post subject: Reply with quote

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
View user's profile Send private message
equinox0r
l33t
l33t


Joined: 18 Feb 2004
Posts: 614

PostPosted: Tue Nov 28, 2006 2:07 pm    Post subject: Reply with quote

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
View user's profile Send private message
Ruad
Tux's lil' helper
Tux's lil' helper


Joined: 07 Nov 2004
Posts: 125

PostPosted: Tue Nov 28, 2006 2:38 pm    Post subject: Reply with quote

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
View user's profile Send private message
equinox0r
l33t
l33t


Joined: 18 Feb 2004
Posts: 614

PostPosted: Tue Nov 28, 2006 2:42 pm    Post subject: Reply with quote

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
View user's profile Send private message
Ruad
Tux's lil' helper
Tux's lil' helper


Joined: 07 Nov 2004
Posts: 125

PostPosted: Tue Nov 28, 2006 3:09 pm    Post subject: Reply with quote

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
View user's profile Send private message
equinox0r
l33t
l33t


Joined: 18 Feb 2004
Posts: 614

PostPosted: Wed Jan 03, 2007 3:49 pm    Post subject: Reply with quote

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
View user's profile Send private message
Ruad
Tux's lil' helper
Tux's lil' helper


Joined: 07 Nov 2004
Posts: 125

PostPosted: Wed Jan 03, 2007 7:47 pm    Post subject: Reply with quote

Mhhh.. Sehe ich das richtig, dass du versuchst, MySQL in die AstDB über PHP-Skripte zu propfen?
Warum benutzt du nicht einfach direkt die Möglichkeit, MySQL über Asterisk anzusprechen?
Startpunkte dafür wären z.B.:
http://voip-info.org/wiki/view/Asterisk+RealTime
http://voip-info.org/wiki/view/Asterisk+RealTime+Extensions
http://voip-info.org/wiki/view/Asterisk+RealTime+Static
http://voip-info.org/wiki/index.php?page=Asterisk+cmd+MYSQL

Aber wenn du Extensions- und Context-"Quark" nicht verstehst, dann hast du grundlegendes nicht verstanden. :)
Hast du mal das Tutorial unter http://www.ip-phone-forum.de/showthread.php?t=91217 durchgelesen? Dort sind einige grundlegende Sachen erklärt.. gut erklärt.
Back to top
View user's profile Send private message
Display posts from previous:   
Reply to topic    Gentoo Forums Forum Index Deutsches Forum (German) Diskussionsforum All times are GMT
Page 1 of 1

 
Jump to:  
You cannot post new topics in this forum
You cannot reply to topics in this forum
You cannot edit your posts in this forum
You cannot delete your posts in this forum
You cannot vote in polls in this forum