thielmichael Posted January 25, 2018 #1 Share Posted January 25, 2018 Hallo, gibt es eine möglichkeit herauszufinden welche landesvorwahl der anrufer hat und dem entsprechend die Ansagetexte zu steuern? Ich versuche per VB-Script die Länderkennung abzufragen und diese dann in eine Variable zu schreiben. diese Variable möchte ich dann in den folgenden Call Routings abfragen und den Anrufer dann in verschieden sprachige ansagen zu leiten. Folgendes habe ich versucht, bekomme jedoch keine Resultate. CanonicalCallingNumber = PBXScript.ConvertToCanonical(IpPbx.CallingNumber) IpPbx.CallingNumber = CanonicalCallingNumber If IpPbx.CallingNumber = "+49*" then LanguageCallingCountry = "ger" elseif IpPbx.CallingNumber = "+41*" then LanguageCallingCountry = "ger" elseif IpPbx.CallingNumber = "+43*" then LanguageCallingCountry = "ger" else LanguageCallingCountry = "eng" End If auch wenn ich das ganze über eine Funktion versuche passiert nichts, bzw die anrufe werden einfach beendet. Function IsInternationalCaller ( ) CanonicalCallingNumber = PBXScript.ConvertToCanonical(IpPbx.CallingNumber) IpPbx.CallingNumber = CanonicalCallingNumber If IpPbx.CallingNumber = "+49*" then LanguageCallingCountry = "ger" elseif IpPbx.CallingNumber = "+41*" then LanguageCallingCountry = "ger" elseif IpPbx.CallingNumber = "+43*" then LanguageCallingCountry = "ger" else LanguageCallingCountry = "eng" End If End Functiion Ich bin mir nicht sicher ob das am Script im Startblock liegt oder am "Variable auswerten" Block, wo ich versuche die Variable "LanguageCallingCountry" auf den Wert "ger" zu prüfen. LanguageCallingCountry = "ger" Leider finde ich keine Topics in diesem Forum die mir bei meinem Problem helfen. Ich fange gerade erst an mich mit diesem Thema auseinander zu setzen, und bei ein absoluter Neuling in VB-Scripting. Allerdings ist es PHP sehr ähnlich, wo ich mich auch besser auskenne. ICh hoffe Ihr könnt mir helfen. LG Michael Link to comment Share on other sites More sharing options...
Most Valued User jodost Posted January 26, 2018 Most Valued User #2 Share Posted January 26, 2018 Auch in PHP kannst du nicht mit ="+49*" arbeiten, aber mit Hilfe von Left(IpPbx.CallingNumber,3)=="+49" solltest du weiterkommen Link to comment Share on other sites More sharing options...
thielmichael Posted January 26, 2018 Author #3 Share Posted January 26, 2018 @jodost ich danke dir, das war der entscheidende Hinweis. Manchmal sieht man den Wald vor lauter Bäumen nicht . Für alle anderen die vor dem Selben Problem stehen, hier meine Lösung. Im Startblock des ersten Call Routings folgenden Code einfügen. ' Feststellen ob der Anrufer deutschsprachig ist function CallerCountry() CallerCountry = Left(IpPbx.CallingNumber,3) end function dim ShortedCallingNumber,GermanCaller ShortedCallingNumber = CallerCountry() GermanCaller = 1 if ShortedCallingNumber = "+49" then GermanCaller = 1 elseif ShortedCallingNumber = "+43" then GermanCaller = 1 elseif ShortedCallingNumber = "+41" then GermanCaller = 1 else GermanCaller = 0 end if Durch diesen Code wird geprüft ob der Anrufer mit einer Deutschen, Schweizer oder Österreicher Landesvorwahl anruft. Dem entsprechend wird die Variable "GermanCaller" geändert. Für Anrufe aus Deutschland, Österreich oder der Schweiz bekommt die Variable den Wert "1" für alle anderen den Wert "0". Mit dem Variable Auswerten Block kann diese nun mit dem Parameter GermanCaller = 1 ausgewertet werden. Wahr = deutsche Ansage, False = engliche Ansage. Da die Funktion im Startblock des Call Routings steht, ist Diese Variable für alle nachfolgenden Call Routings des Benutzers verfügbar. Link to comment Share on other sites More sharing options...
Recommended Posts
Archived
This topic is now archived and is closed to further replies.