Datenbankanbindungsproblem :-(

thepontifex

Neuer User
Mitglied seit
2 Mrz 2005
Beiträge
141
Punkte für Reaktionen
0
Punkte
16
Hi,

ich versiche meinen Asterisk und eine MySQL DB zusammenzubringen. Habe dazu die RealTime Anleitung von voip-info.org durchgemacht. Hänge jetzt an der SIP Config. Ich habe eine Datenbank 'asterisk' auf dem MySQL Server 'localhost' mit einer Tabelle 'sip_users' und einer Tabelle 'sip_peers' (Die Tabellen haben die gleichen Felder und die gleichen Einträge)

Da habe ich meine Felder angelegt wie ich sie früher in der sip.conf drin
hatte.

In der res_mysql.conf steht folgendes:
Code:
[general]
dbhost = 127.0.0.1
dbname = asterisk
dbuser = asterisku
dbpass = xxx
dbport = 3306
dbsock = /var/lib/mysql/mysql.sock

Starte ich jetzt meinen Asterisk bekomme ich folgende Fehlermeldung:
Code:
*CLI> May 19 16:33:59 WARNING[4260]: res_config_mysql.c:129 realtime_mysql: MySQL RealTime: Failed to query database. Check debug for more info.
May 19 16:33:59 NOTICE[4260]: chan_sip.c:9133 handle_request_register: Registration from '<sip:[email protected];user=phone>' failed for '172.20.1.38'

Was hab ich falsch gemacht :?:
Und was ist den cdr_mysql? Ich lese das immer wieder und weiß nich was das is. Brauch ich das auch?

Gruss
Frank
 
Hy,

nachdem ich noch die 'sip_peers' Tabelle angelegt habe bekomm ich nicht mehr die Fehlermeldung dass sich die Geräte nicht registrieren können. Meldet sich aber ein Gerät ab bekomm ich folgenden Fehler:
Code:
*CLI>     -- SIP Seeding peer from astdb: '555' at [email protected]:5060 for 1800
    -- Unregistered SIP '555'
May 19 17:40:05 WARNING[4633]: res_config_mysql.c:323 update_mysql: MySQL RealTime: Failed to query database. Check debug for more info.

Was läuft denn da falsch? Was für ein debug soll ich denn checken? Wo schreibselt er denn das debug-file? Ich blick langsam nimmer durch :-(

Gruss
Frank
 
Datenbankstruktur nicht wie Felder aus der sip.conf machen, sondern so: http://www.voip-info.org/wiki-Asterisk+RealTime+Sip
Und dann am besten nur eine Tabelle, in der extconfig.conf dann sipuser und sippeer an die gleiche Tabelle binden. Wahrscheinlich kommt er bei Dir mit den gleichen Einträgen in beiden Tabellen nicht klar.
 
OK die Tabelle heisst bei mir 'sip_users' und ich hab sie jetzt mit dem SQL Statement aus dem voip-wiki erstellt. Die Reihenfolge der Spalten ist egal, oder? Habe sie nämlich jetzt in der Reihenfolge wie ich meine Daten eintrage umgestellt.

Gruss
Frank
 
Ja die Reihenfolge ist egal. Falls Du mit 2 Tabellen weiter arbeitest setz das Feld "type" richtig.
 
Hi,

ich arbeite jetzt nur noch mir 1 Tabelle für die SIP und inzwischen auch IAX User/Geräte. Danke für den Tip! Die Geräte werden jetzt auch korrekt angesprochen :) Ein Erfolgserlebnis am Freitag morgen, sehr schön!!!

Probiere gerade die Umstellung der extension.conf auf Realtime. Das funktioniert aber leider noch nicht :-( Habe die Tabelle 'extension_table' wie im voip-wiki erstellt und mal meine SIP Regeln für die 2 SIP-Telefone eingetragen:
Code:
id  context  	   exten   prio   app  	 appdata
1 	manual-test1 	666 	1 	Answer 	 
2 	manual-test1 	666 	2 	Dial 	SIP/666
3 	manual-test1 	555 	1 	Answer 	 
4 	manual-test1 	555 	2 	Dial 	SIP/555
5 	manual-test1 	444 	1 	Answer 	 
6 	manual-test1 	444 	2 	Dial 	IAX2/444

Nun hab ich meiner extension.conf folgendes eingetragen:
Code:
[manual-test1]
switch => Realtime/manual-test1@extension_table

Habe ich was vergessen? Muss noch was in die extconfig.conf?
Stimmt mein extension.conf Eintrag so?

Gruss
Frank
 
Muss noch was in die extconfig.conf?

Du mußt diese "family" darin auf jeden Fall zuweisen - sonst wird gar nicht in der Datenbank gesucht.
 
Du mußt diese "family" darin auf jeden Fall zuweisen - sonst wird gar nicht in der Datenbank gesucht.
Ist der Eintrag in der extconfig.conf so richtig:
Code:
extensions => mysql,asterisk,extension_table
 
muß ich mal heute abend zu Hause nachschauen, wie ich das gemacht habe. Aus dem Kopf kann ich Dir das jetzt nicht genau sagen.
 
realtime_ext => mysql,asteriskconfig,extensions_table

hierbei ist "asteriskconfig" der Name der Datenbank und "extensions_table" der Name der Tabelle.

Ein Beispieleintrag in der Tabelle sieht bei mir so aus:
Hier wird der Context "vmbox" erzeugt, den man über 80 erreichen kann.

Code:
id 	context 	exten 	priority 	app 	appdata
1 	vmbox 	      80 	1 	Answer 	
2 	vmbox 	      80 	2 	Wait 	1
3 	vmbox 	      80 	3 	VoiceMailMain 	s${CALLERIDNUM}
4 	vmbox 	      80 	4 	Hangup

In der extensions.conf steht dazu folgendes:

Code:
[vmailbox]
switch => Realtime/vmbox@realtime_ext

Hierbei sit "vmbox" der Name des Contextes in der MySQL Tabelle und "realtime_ext" die Zuordnung aus der extconfig.conf

Diesen Context "vmailbox" kann ich dann per "include => vmailbox" an beliebiger Stelle einbinden.

Ich hoffe, das hilft Dir erstmal weiter.
 
hi,

hast auch schon nen Statement aus nem Kontext drin wo Du jemanden anrufst? Also das Gespräch zu nem SIP-Endgerät oder so?

Könntest da einen Ausschnitt Deiner Konfig mal posten?

Gruss
**der immernoch im geschäft hockende**
Frank
 
Das würde ganz genauso aussehen:

id context exten priority app appdata
userrufen 55 1 Dial IAX2/55
userrufen 55 2 Hangup
 
Hi,

jepp habs inzwischen auch hinbekommen! Sehr sehr geil!

Vielen Dank für Deine Hilfe!

Dann kann ich mich am Montag gleich an die Verfeinerung machen :)

Schönes Wochenende!!!

Gruss
Frank
 
Hi,

habe jetzt schon wieder Probleme mit der Datenbank. Wi bring ich denn meine Voicemailboxen und die Datenbank zusammen?

Hab eigentlich gedacht ich hätts jetzt kapiert:
extconfig.conf:
Code:
sipusers => mysql,asterisk,sip_users          
sippeers => mysql,asterisk,sip_users          
iaxusers => mysql,asterisk,iax_users          
iaxpeers => mysql,asterisk,iax_users          
realtime_ext => mysql,asterisk,extension_table

voicemail => mysql,asterisk,voicemail_users

in der voicemail.conf muss ja laut voip-wiki nix rein, und die Tabelle für die Voicemailboxen sieht wie folgt aus:
Code:
 id  customer_id  context  mailbox  password  fullname  email  pager  stamp          attach  saycid  hidefromdir
 1   666          6666     6666     0815      Frank     [email][email protected][/email]        20050524182908 yes     yes     no

Ausgabe im Asterisk CLI:
Code:
-- Executing Answer("IAX2/[email protected]:4569-3", "")
    -- Executing Dial("IAX2/[email protected]:4569-3", "SIP/666|10")
    -- Called 666
    -- SIP/666-64a4 is ringing
    -- Nobody picked up in 10000 ms
    -- Executing VoiceMail("IAX2/[email protected]:4569-3", "u6666")
May 25 11:02:04 WARNING[15368]: app_voicemail.c:2250 leave_voicemail: No entry in voicemail config file for '6666'
  == Auto fallthrough, channel 'IAX2/[email protected]:4569-3' status is 'NOANSWER'
    -- Hungup 'IAX2/[email protected]:4569-3'

Was mach ich denn da nun wieder falsch?

Gruss
Frank
 

Zurzeit aktive Besucher

Neueste Beiträge

Statistik des Forums

Themen
244,879
Beiträge
2,220,028
Mitglieder
371,604
Neuestes Mitglied
broekar
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.

IPPF im Überblick

Neueste Beiträge