Asterisk 1.8: Irgendwie funktioniert mein GotoIf im Dialplan nicht. Folgendes steht im Dialplan:
Wenn keine Verbindung zustande kommt sollte er also in NoOP(kein Connect zum SQL-Server mgl) reinrennen. Macht er auch, dummerweise aber auch wenn die Verbindung besteht.
Hier mal der Fall, dass MySQL erreichbar ist:
und der Fall wenn ich MySQL deaktiviert habe
Man sieht also ganz deutlich, dass er in beiden Fällen den NoOP(kein Connect zum SQL-Server mgl) ausführt, obwohl bei einen Mal die Condition "0?DB_Connect_Error" und bei anderen mal "1?DB_Connect_Error" ist. Das selbe ist auch bei anderen Applikationen wie z.B. Playback. Er führt es immer aus, obwohl er es eigentlich lt. GotoIf ignorieren müsste.
Code:
exten => _XX.,n,MYSQL(Connect connid 192.168.1.100 asterisk asterisk asterisk)
exten => _XX.,n,NoOP(Connid ist: ${connid})
exten => _XX.,n,GotoIf($["${connid}" = ""]?DB_Connect_Error)
exten => _XX.,n(DB_Connect_Error),NoOP(kein Connect zum SQL-Server mgl)
Wenn keine Verbindung zustande kommt sollte er also in NoOP(kein Connect zum SQL-Server mgl) reinrennen. Macht er auch, dummerweise aber auch wenn die Verbindung besteht.
Hier mal der Fall, dass MySQL erreichbar ist:
Code:
-- Executing [0712345@Ansage:2] MYSQL("SIP/qsc-00000021", "Connect connid 192.168.1.100 asterisk asterisk as terisk") in new stack
-- Executing [0712345@Ansage:3] NoOp("SIP/qsc-00000021", "Connid ist: 1") in new stack
-- Executing [0712345@Ansage:4] GotoIf("SIP/qsc-00000021", "0?DB_Connect_Error") in new stack
-- Executing [0712345@Ansage:5] NoOp("SIP/qsc-00000021", "kein Connect zum SQL-Server mgl") in new stack
und der Fall wenn ich MySQL deaktiviert habe
Code:
-- Executing [0712345@Ansage:2] MYSQL("SIP/qsc-00000022", "Connect connid 192.168.1.100 asterisk asterisk asterisk") in new stack
[Apr 9 08:49:47] WARNING[6742]: app_mysql.c:358 aMYSQL_connect: mysql_real_connect(mysql,192.168.1.100,asterisk,dbpass,asterisk,...) failed(2003): Can't connect to MySQL server on '192.168.1.100' (111)
-- Executing [0712345@Ansage:3] NoOp("SIP/qsc-00000022", "Connid ist: ") in new stack
-- Executing [0712345@Ansage:4] GotoIf("SIP/qsc-00000022", "1?DB_Connect_Error") in new stack
-- Goto (Ansage,0712345,5)
-- Executing [0712345@Ansage:5] NoOp("SIP/qsc-00000022", "kein Connect zum SQL-Server mgl") in new stack
Man sieht also ganz deutlich, dass er in beiden Fällen den NoOP(kein Connect zum SQL-Server mgl) ausführt, obwohl bei einen Mal die Condition "0?DB_Connect_Error" und bei anderen mal "1?DB_Connect_Error" ist. Das selbe ist auch bei anderen Applikationen wie z.B. Playback. Er führt es immer aus, obwohl er es eigentlich lt. GotoIf ignorieren müsste.