DUNDI - Asterisk Realtime MySQL

masterd01

Neuer User
Mitglied seit
13 Feb 2008
Beiträge
15
Punkte für Reaktionen
0
Punkte
1
Hallo zusammen,

ich versuche zwei Asterisk 1.6.2.6 mit DUNDI und MySQL ans spielen zu bringen. Nach dem Whitepaper von JR Richardson habe ich die Peers zusammengeschaltet. Das klappt auch soweit.
Die SIP-User melden sich am MySQL-Server auch korrekt an. Die Tables habe ich dem Beispiel entnommen:

Code:
#
# Table structure for table `sip_buddies`
#

CREATE TABLE `sip_buddies` (
 `id` int(11) NOT NULL auto_increment,
 `name` varchar(80) NOT NULL default '',
 `host` varchar(31) NOT NULL default '',
 `nat` varchar(5) NOT NULL default 'no',
 `type` enum('user','peer','friend') NOT NULL default 'friend',
 `accountcode` varchar(20) default NULL,
 `amaflags` varchar(13) default NULL,
 `call-limit` smallint(5) unsigned default NULL,
 `callgroup` varchar(10) default NULL,
 `callerid` varchar(80) default NULL,
 `cancallforward` char(3) default 'yes',
 `canreinvite` char(3) default 'yes',
 `context` varchar(80) default NULL,
 `defaultip` varchar(15) default NULL,
 `dtmfmode` varchar(7) default NULL,
 `fromuser` varchar(80) default NULL,
 `fromdomain` varchar(80) default NULL,
 `insecure` varchar(4) default NULL,
 `language` char(2) default NULL,
 `mailbox` varchar(50) default NULL,
 `md5secret` varchar(80) default NULL,
 `deny` varchar(95) default NULL,
 `permit` varchar(95) default NULL,
 `mask` varchar(95) default NULL,
 `musiconhold` varchar(100) default NULL,
 `pickupgroup` varchar(10) default NULL,
 `qualify` char(3) default NULL,
 `regexten` varchar(80) default NULL,
 `restrictcid` char(3) default NULL,
 `rtptimeout` char(3) default NULL,
 `rtpholdtimeout` char(3) default NULL,
 `secret` varchar(80) default NULL,
 `setvar` varchar(100) default NULL,
 `disallow` varchar(100) default 'all',
 `allow` varchar(100) default 'g729;ilbc;gsm;ulaw;alaw',
 `fullcontact` varchar(80) NOT NULL default '',
 `ipaddr` varchar(15) NOT NULL default '',
 `port` smallint(5) unsigned NOT NULL default '0',
 `regserver` varchar(100) default NULL,
 `regseconds` int(11) NOT NULL default '0',
 `lastms` int(11) NOT NULL default '0',
 `username` varchar(80) NOT NULL default '',
 `defaultuser` varchar(80) NOT NULL default '',
 `subscribecontext` varchar(80) default NULL,
 PRIMARY KEY  (`id`),
 UNIQUE KEY `name` (`name`),
 KEY `name_2` (`name`)
) ENGINE=MyISAM ROW_FORMAT=DYNAMIC;

Das klappt auch und ich kann mich auf beiden Asterisk-Server anmelden. Bevor jedoch ein Gespräch vermittelt wird, soll geschaut werden, ob das Gespräch nicht über SIP auf einen anderen Server vermittelt werden kann bzw. auf einem anderen Server angemeldet hat. Das habe ich auch mit dem Whitepaper gemacht und das klappt auch mit festen Einträgen.
Allerdings ist mir die Integration im Rahmen des Realtimes nicht klar.
Wie würde so eine Beispiel-Extention aussehen, damit er ein eingehendes Gespräch auf den DUNDI schickt und sozusagen die Antwort des Servers bzw. der Server abwartet.
Ich glaube mein Verständnisproblem liegt dadran, dass ich ja nicht wirklich sehen kann, auf welchem Server der User angemeldet hat, weil die Authentifizierung nur am SQL-Server stattfindet, ich aber über die "sip show users" keine Anmeldungen sehe, oder?
Woher weiß der Server dann welche er Bedienen muss? Legt er dafür in der extentions.conf einen dynamischen Context pro User an?

Wie sähe der Context für den Incoming Dundi aus, der direkt auf MySQL zugreift?

sip.conf
switch => Realtime

extconfig.conf
sipusers => mysql,general,sip_buddies
sippeers => mysql,general,sip_buddies
extensions => mysql,general,extensions_table

Würd mich über ne Beispiel-Exten freuen, was und wo wie eingespielt werden muss.

Danke für den Support,

MasterD
 
Hallo MasterD,

wenn dir hier niemand helfen kann, frag mal auf lists.digium.com unter dundi
 
Hi Kombjuder,

japs, ist schon eine sehr spezielle Frage. Aber meist weißt du oder nen anderer Experte ja darüber Bescheid, wie man selbst so etwas nicht ganz alltägliches Einrichten kann.

Vielleicht findet sich ja noch jemand.

Schöne Grüße,

MasterD
 
Hi MasterD,

hast du das hinbekommen? Und wenn ja, wie?
Würde mich auch brennend interessieren :)

Gruss
 
Holen Sie sich 3CX - völlig kostenlos!
Verbinden Sie Ihr Team und Ihre Kunden Telefonie Livechat Videokonferenzen

Gehostet oder selbst-verwaltet. Für bis zu 10 Nutzer dauerhaft kostenlos. Keine Kreditkartendetails erforderlich. Ohne Risiko testen.

3CX
Für diese E-Mail-Adresse besteht bereits ein 3CX-Konto. Sie werden zum Kundenportal weitergeleitet, wo Sie sich anmelden oder Ihr Passwort zurücksetzen können, falls Sie dieses vergessen haben.