![](http://content.invisioncic.com/r255538/set_resources_14/84c1e40ea0e759e3f1505eb1788ddf3c_pattern.png)
JoergG
Most Valued User-
Posts
32 -
Joined
-
Last visited
-
Days Won
1
JoergG last won the day on July 24 2015
JoergG had the most liked content!
Reputation
1 NeutralProfile Information
-
Gender
Not Telling
-
Hi Frank, Das verhalten das bei Gruppenrufen keine weiteren Callroutings beim gerufenen Gruppenmitglied ausgeführt werden ist logisch korrekt und eine der Grundregeln die man wissen und beachten muss wenn man Callroutings entwirft. Ich hab es einem Azubi mal so erklärt: Stell dir vor du hast eine Gruppe mit 4 Usern (Hotline o.ä.), Zustellung nach Reihenfolge und der erste User ist im Urlaub und hat auf seine Voicemail umgeleitet. Wenn jetzt Callroutings bei jedem Gruppenmitglied ausgeführt werden würden, gehen alle Rufe der Gruppe auf die Mailbox des ersten Users. Grüße Jörg
-
Hi, Wenn du dich gut mit VB-Script auskennst, kannst du dir die Funktion "gseQueue_ProcessCallByQueue" aus der "Template_V4.3.vbs" herausholen. (System Scope der Datenbank). Ich habe das mal vor längerer Zeit gemacht und eine DTMF Abfrage nach einem gewissen Timeout eingebaut ob der Anrufer weiter Warten oder einen Rückruf (Benachrichtigung via E-Mail an Agenten) tätigen möchte. Ich hab die Funktion aus der Template-V4.3.vbs herausgeholt, modifiziert, umbenannt (um Kollision mit Original Funktion zu vermeiden) und als Aktion wieder im Callrouting eingebunden. Leider finde ich den Quellcode nicht mehr, aber es funktionierte recht gut und der Anrufer verlor nicht seine "Warteposition" in der Queue wenn er weiter "warten" wollte. Grüße Jörg
-
Hi @ All, Hat schon einer die neue CDS-Api via NuGet eingebunden ? Ich wollte mir eine REST-Api mit Aspnet Core 2.2 schreiben und habe mal die neuen Pakete eingebunden. Übersetzen des Paketes klappt ohne Probleme, bei der Ausführung z.B. im Debug bricht mir die Anwendung immer mit einer "System.IO.FileLoadException" ab. Die Datei oder Assembly "Newtonsoft.Json, Version=9.0.0.0 wurde nicht gefunden !? Habe ihr da schon ähnliche Erfahrungen gemacht, ist in den NuGet Abhängigkeiten vielleicht ein Fehler drin ? Grüße Jörg
-
Hi @ All, After a lot of googling and testing on a laboratory server, maybe I found the cause. After I disabled TLS1.0 (server) in the registry, the problem occurred. RegKey: HKLM\SYSTEM\CurrentControlset\Control\SecurityProviders\SCHANNEL\Protokols\TLS 1.0\Server DisabledByDefault: DWORD=1 Enabled: DWORD=0 Original problem: Registration on a Netphone Client / SwyxIt with user / password works. The same user / password combination in the application (CDS-API) writes the above error. After activating TLS 1.0 (server) the registration works. best regarts Jörg
-
Hi @ All, I have a problem to Connect a Netphone Server via CDS Api. CDS Api 11.32 Server Netphone 11.52 Windows 2016R2 Connect from CDS API to Server via IpPbx Username/Password Libmanager init: libManager = new LibManager(); libManager.BaseProtocol = SProxyObject.BaseProtocol.TCP; libManager.Username = "AdminUser"; libManager.Password = "AdminPw"; libManager.WSBaseUrl = "127.0.0.1"; libManager.AuthenticationMode = SProxyObject.AuthenticationMode.UsernamePassword; Trace Output: 29 13:13:54.209 0004 Verb CDSMgr CDSManager.NewRessourcen New Libmanager 29 13:13:54.298 0004 Info CDSClient LibManager.Initialize() () 29 13:13:54.298 0004 Alws CDSClient LibManager.Initialize() IpPbxCDSClientLib: PV:11.32.0.32 FV:11.32.0.105 29 13:13:54.299 0004 Alws CDSClient LibManager.Initialize() IpPbxCDSSharedLib: PV:11.32.0.14 FV:11.32.0.69 29 13:13:54.299 0004 Alws CDSClient LibManager.Initialize() Platform: x86 29 13:13:54.299 0004 Alws CDSClient LibManager.Initialize() FileCache: C:\Windows\system32\config\systemprofile\AppData\Local\T-Com\ActiveCallsDataService.exe\FileCache 29 13:13:54.300 0004 Info CDSClient LibManager.Initialize() DefaultTcpPort: 9094 29 13:13:54.300 0004 Info CDSClient LibManager.Initialize() DefaultHttpPort: 8094 29 13:13:54.300 0004 Info CDSClient LibManager.Initialize() RequestTimeout: 7500 29 13:13:54.305 0004 Info CDSClient LibManager.Initialize() done 29 13:13:54.316 0004 Alws CDSClient LibManager.WSBaseUrl 127.0.0.1 29 13:13:54.404 0004 Warn CDSClient AdminFacade. SecurityNegotiationException: SOAP security negotiation failed. See inner exception for more details. ~ ~Server stack trace: ~ at System.ServiceModel.Security.IssuanceTokenProviderBase`1.DoNegotiation(TimeSpan timeout) ~ at System.ServiceModel.Security.SspiNegotiationTokenProvider.OnOpen(TimeSpan timeout) ~ at System.ServiceModel.Security.TlsnegoTokenProvider.OnOpen(TimeSpan timeout) ~ at System.ServiceModel.Security.WrapperSecurityCommunicationObject.OnOpen(TimeSpan timeout) ~ at System.ServiceModel.Channels.CommunicationObject.Open(TimeSpan timeout) ~ at System.ServiceModel.Security.CommunicationObjectSecurityTokenProvider.Open(TimeSpan timeout) ~ at System.ServiceModel.Security.SymmetricSecurityProtocol.OnOpen(TimeSpan timeout) ~ at System.ServiceModel.Security.WrapperSecurityCommunicationObject.OnOpen(TimeSpan timeout) ~ at System.ServiceModel.Channels.CommunicationObject.Open(TimeSpan timeout) ~ at System.ServiceModel.Channels.SecurityChannelFactory`1.ClientSecurityChannel`1.OnOpen(TimeSpan timeout) ~ at System.ServiceModel.Channels.CommunicationObject.Open(TimeSpan timeout) ~ at System.ServiceModel.Security.SecuritySessionSecurityTokenProvider.DoOperation(SecuritySessionOperation operation, EndpointAddress target, Uri via, SecurityToken currentToken, TimeSpan timeout) ~ at System.ServiceModel.Security.SecuritySessionSecurityTokenProvider.GetTokenCore(TimeSpan timeout) ~ at System.IdentityModel.Selectors.SecurityTokenProvider.GetToken(TimeSpan timeout) ~ at System.ServiceModel.Security.SecuritySessionClientSettings`1.ClientSecuritySessionChannel.OnOpen(TimeSpan timeout) ~ at System.ServiceModel.Channels.CommunicationObject.Open(TimeSpan timeout) ~ at System.ServiceModel.Channels.ServiceChannel.OnOpen(TimeSpan timeout) ~ at System.ServiceModel.Channels.CommunicationObject.Open(TimeSpan timeout) ~ ~Exception rethrown at [0]: ~ at System.Runtime.Remoting.Proxies.RealProxy.HandleReturnMessage(IMessage reqMsg, IMessage retMsg) ~ at System.Runtime.Remoting.Proxies.RealProxy.PrivateInvoke(MessageData& msgData, Int32 type) ~ at System.ServiceModel.ICommunicationObject.Open(TimeSpan timeout) ~ at System.ServiceModel.ClientBase`1.System.ServiceModel.ICommunicationObject.Open(TimeSpan timeout) ~ at System.ServiceModel.ClientBase`1.Open() ~ at SWConfigDataClientLib.WCF.SWCFProxy`2.BeforeCall() ~ at SWConfigDataClientLib.WCF.SWCFProxy`2.CallContext..ctor(SWCFProxy`2 cCDSProxy) ~ at SWConfigDataClientLib.WCF.SWCFProxy`2.GetCallContext() ~ at SWConfigDataClientLib.Proxies.Admin.AdminFacade.GetUserAdminView1(Int32 GroupID, Boolean ShowUserFileSize, UserDeviceSmallMap& deviceMap) ~InnerException: Win32Exception Message The client and server cannot communicate, because they do not possess a common algorithm ~ at System.IdentityModel.SspiWrapper.AcquireCredentialsHandle(String package, CredentialUse intent, SecureCredential scc) ~ at System.ServiceModel.Security.TlsSspiNegotiation.AcquireDummyCredentials() ~ at System.ServiceModel.Security.TlsSspiNegotiation..ctor(String destination, Boolean isServer, SchProtocols protocolFlags, X509Certificate2 serverCertificate, X509Certificate2 clientCertificate, Boolean clientCertRequired) ~ at System.ServiceModel.Security.TlsnegoTokenProvider.CreateTlsSspiState(X509SecurityToken token) ~ at System.ServiceModel.Security.TlsnegoTokenProvider.CreateNegotiationState(EndpointAddress target, Uri via, TimeSpan timeout) ~ at System.ServiceModel.Security.IssuanceTokenProviderBase`1.DoNegotiation(TimeSpan timeout) 29 13:13:54.415 0004 Warn CDSClient AdminFacade.getException Exception will be interpreted as unspecified SSecurityAccessException 29 13:13:54.415 0004 Alws CDSClient LibManager.ResetPassword () Called after user name password authentification failed 29 13:13:54.418 0004 Warn CDSClient AdminFacade.getException SSecurityAccessException: Authentication failed: Username or password is incorrect. Can anyone help me ? Greetings Jörg
-
Public Holidays (in Germany, incl. Federal States)
JoergG replied to Tom Wellige's topic in Extended Call Routing
Hi @ All, I add a new pseudo federal state for Bayern. Mariä Himmelfahrt is not a holiday anywhere in Bayern. I had modified vs_FS_BY without Mariä Himmelfahrt as Standard and a new "pseudo" federal state vs_FS_BYMH with Mariä Himmelfahrt. The new Script: ' Federal States of Germany const vb_FS_BW = 1 ' Baden-Württemberg const vb_FS_BY = 2 ' Bayern ohne MarieaHimmelfahrt const vb_FS_BE = 4 ' Berlin const vb_FS_BB = 8 ' Brandenburg const vb_FS_HB = 16 ' Bremen const vb_FS_HH = 32 ' Hamburg const vb_FS_HE = 64 ' Hessen const vb_FS_MV = 128 ' Mecklenburg-Vorpommern const vb_FS_NI = 256 ' Niedersachsen const vb_FS_NW = 512 ' Nordrhein-Westfalen const vb_FS_RP = 1024 ' Rheinland-Pfalz const vb_FS_SL = 2048 ' Saarland const vb_FS_SN = 4096 ' Sachsen const vb_FS_ST = 8192 ' Sachen-Anhalt const vb_FS_SH = 16384 ' Schleswig-Holstein const vb_FS_TH = 32768 ' Thüringen const vb_FS_KD = 65536 ' Köln/Düsseldorf (Rosenmontag) const vb_FS_BYMH = 131072 ' Bayern mit Maria Himmelfahrt '------------------------------------------------------------------- ' Name: IsPublicHoliday ' =============== ' ' Returns true if the given date is a public holiday in the given German ' federal state. Multiple federal states can be combined with "OR" ' ' Parameter: ' nFederalState single or combination of federal states ' vCheckDate vbscript date to check (e.g. as returned by now) or ' "" (for current date) ' ' Returns: ' Boolean True = is public holiday ' '-------------------------------------------------------------------- Function IsPublicHoliday ( nFederalState, vCheckDate ) On Error Resume Next PBXScript.OutputTrace "-------> IsPublicHoliday" PBXScript.OutputTrace "nFederalState = " & nFederalState PBXScript.OutputTrace "vCheckDate = " & vCheckDate Dim bReturn bReturn = False Dim a, b, c, d, e, f Dim nTempYear, vTempDate Dim Neujahr, Erscheinungsfest, Karfreitag, Ostersonntag, Ostermontag Dim Maifeiertag, Rosenmontag, ChrHimmelfahrt, Pfingstmontag, Fronleichnam Dim MarieaHimmelfahrt, Tagdereinheit, Reformationstag, Allerheiligen Dim BussUndBettag, Weihnachten1, Weihnachten2 if not IsDate(vCheckDate) then vCheckDate = Now vTempDate = DateSerial(Year(vCheckDate), Month(vCheckDate), Day(vCheckDate)) nTempYear = Year(vTempDate) PBXScript.OutputTrace "Using nTempYear = " & nTempYear PBXScript.OutputTrace "Using vTempDate = " & vTempDate ' Gauss Formular a = nTempYear Mod 19 b = nTempYear \ 100 c = (8 * b + 13) \ 25 - 2 d = b - (nTempYear \ 400) - 2 e = (19 * (nTempYear Mod 19) + ((15 - c + d) Mod 30)) Mod 30 if e = 28 then if a > 10 then e = 27 end if elseif e = 29 then e = 28 end if f = (d + 6 * e + 2 * (nTempYear Mod 4) + 4 * (nTempYear Mod 7) + 6) Mod 7 ' Calculate public holidays Neujahr = DateSerial(nTempYear, 1, 1) Erscheinungsfest = DateSerial(nTempYear, 1, 6) Ostersonntag = DateSerial(nTempYear, 3, e + f + 22) Rosenmontag = DateSerial(nTempYear, 3, e + f + 22 - 48) Karfreitag = DateSerial(nTempYear, 3, e + f + 22 - 2) Ostermontag = DateSerial(nTempYear, 3, e + f + 22 + 1) Maifeiertag = DateSerial(nTempYear, 5, 1) ChrHimmelfahrt = DateSerial(nTempYear, 3, e + f + 22 + 39) Pfingstmontag = DateSerial(nTempYear, 3, e + f + 22 + 50) Fronleichnam = DateSerial(nTempYear, 3, e + f + 22 + 60) MarieaHimmelfahrt = DateSerial(nTempYear, 8, 15) Tagdereinheit = DateSerial(nTempYear, 10, 3) Reformationstag = DateSerial(nTempYear, 10, 31) Allerheiligen = DateSerial(nTempYear, 11, 1) BussUndBettag = DateSerial(nTempYear, 12, 25) - Weekday(DateSerial(nTempYear, 12, 25), vbMonday) - 4 * 7 - vbWednesday Weihnachten1 = DateSerial(nTempYear, 12, 25) Weihnachten2 = DateSerial(nTempYear, 12, 26) ' Is public holiday? select case vTempDate case Neujahr bReturn = True case Erscheinungsfest if (nFederalState and (vb_FS_BW or vb_FS_BY or vb_FS_ST or vb_FS_BYMH)) then bReturn = True case Ostersonntag bReturn = True case Rosenmontag If(nFederalState and (vb_FS_KD)) then bReturn = True case Karfreitag bReturn = True case Ostermontag bReturn = True case Maifeiertag bReturn = True case ChrHimmelfahrt bReturn = True case Pfingstmontag bReturn = True case Fronleichnam if (nFederalState and (vb_FS_BYMH or vb_FS_BW or vb_FS_BY or vb_FS_HE or vb_FS_NW or vb_FS_RP or vb_FS_SL or vb_FS_SN or vb_FS_TH)) then bReturn = True case MarieaHimmelfahrt if (nFederalState and (vb_FS_BYMH or vb_FS_SL)) then bReturn = True case Tagdereinheit bReturn = True case Reformationstag if (nFederalState and (vb_FS_BB or vb_FS_MV or vb_FS_SN or vb_FS_ST or vb_FS_TH)) then bReturn = True case Allerheiligen if (nFederalState and (vb_FS_BYMH or vb_FS_BW or vb_FS_BY or vb_FS_NW or vb_FS_RP or vb_FS_SL)) then bReturn = True case BussUndBettag if (nFederalState and (vb_FS_SN)) then bReturn = True case Weihnachten1 bReturn = True case Weihnachten2 bReturn = True end select IsPublicHoliday = bReturn PBXScript.OutputTrace "bReturn = " & bReturn PBXScript.OutputTrace "<------- IsPublicHoliday" End Function Best Regards, Jörg