Skip to content

Instantly share code, notes, and snippets.

@Newan
Last active May 28, 2018 08:11
Show Gist options
  • Star 0 You must be signed in to star a gist
  • Fork 0 You must be signed in to fork a gist
  • Save Newan/3832f2f37c5bd841bdb42c6d398b62da to your computer and use it in GitHub Desktop.
Save Newan/3832f2f37c5bd841bdb42c6d398b62da to your computer and use it in GitHub Desktop.
Integrate SwyxIT! >= 10.4 in zammad
Um die SwyxIT! >= 10.4 in zammad zu integrieren werden ein Dummy-Benutzer (Da sich dieser Benutzer nie anmeldet wird keine Lizenz benötigt) und eine Wahlregel benötigt
folgende Szenarios ist implementiert
Servicenummer wird angerufen
o Event Klingelt in Zammad
Anruf wird durchgestellt
o Event in Zammad
Anruf wird beendet
o Event in Zammad
Anruf wird nicht angenommen und beendet
o Event in Zammad
Dummybenutzer erhält als Nummer die Servicenummer so, dass die Wahlregel zieht sobald jemand die Servicenummer anruft.
Die Gruppe / Agenten hinter der Servicenummer erhalten eine neue Gruppennummer die im Durchwahlblock in der Wahlregel hinterlegt wird.
Folgende Url muss zusätzlich im Script unterhalb des Startblocks angepasst werden : “https://zammad_url.de/api/v1/sipgate/in”,
Ablauf:
Servienummer -> Dummybenutzer->Wahlregel mit Zammad events -> Servicenummer/Gruppenrufnummer neu
ዿScript Editor File￿￿(
ǿW⻠⻠€໿Jens Nachtigal᯿ikt Gromnitza GmbH & Co. KGf᏿Ticketsystem Zammad䃿Skript um die Telefonevents in Zammad Ticketsystem zu übertragenÿÿ 
૿Start ruleÿ0׿Start೿szUserScript￿ԋ
Function URLescape ( sURL )
URLescape = sURL
URLescape = Replace(URLescape ,"-","%2D")
URLescape = Replace(URLescape ,"'","%27")
URLescape = Replace(URLescape ,"""","%22")
End Function
Function SendData ( DataToSend )
On Error Resume Next
Dim xml
Set xml = PBXScript.CreateObject("Microsoft.XMLHTTP")
PBXScript.OutputTrace "Call for Zammad: "
xml.Open "POST", "https://zammad_url.de/api/v1/sipgate/in", False
xml.setRequestHeader "Content-Type", "application/x-www-form-urlencoded"
xml.send DataToSend
xml.Send
Set xml = Nothing
End Function
Sub NewCall
Dim DataToSend
DataToSend = "event=newCall&from=+"& PBXCall.CallingPartyNumber &"&to="& PBXCall.DialedNumber &"&direction=in&callId=" & PBXCall.CallId & "&user[]="
SendData DataToSend
End Sub
Sub CloseCall
Dim DataToSend
DataToSend = "event=hangup&cause=normalClearing&from=+"& PBXCall.CallingPartyNumber &"&to="& PBXCall.DialedNumber &"&direction=in&callId=" & PBXCall.CallId & "&user[]=&answeringNumber=49"
SendData DataToSend
End Sub
Sub CallAnswer
Dim DataToSend
DataToSend = "event=answer&from=+"& PBXCall.CallingPartyNumber &"&to="& PBXCall.DialedNumber &"&direction=in&callId=" & PBXCall.CallId & "&user[]=&answeringNumber=49"
SendData DataToSend
End Sub
ÿÿ෿Rule executedÿˀàϿEnd෿szReturnValueǿ0ÿ೿Rule skippedÿ ӿSkip೿Disconnectedÿʠ૿DisconnectÿࣿKlingelt߿NewCallƐ0೿InsertScript೿szScriptCode槿UseExit = 0 ' Bitte verwenden Sie die Variable UseExit um die Block-Ausgänge 0..9 zu verwenden
NewCallÿ ÿ￿￿ÿ￿￿ÿ￿￿ÿ￿￿ÿ￿￿ÿ￿￿ÿ￿￿ÿ￿￿ÿ￿￿ÿÿ௿Service-Rufÿ À0ӿCallჿ 1__F_NEW_ENTRYჿCallsToTheBranchÿ໿ 1szCalledNum˿49ÿÿÿÿÿÿÀð৿ConnectTo ೿szDialNumberۿmyselfÿࣿnTimeoutϿ180ÿ೿bUseDTMFMask׿Falseÿ׿fMask೿0123456789*#ÿჿbStoreToVariable׿Falseÿ෿rVariableNameÿÿᗿbResetVariableContentӿTrueÿ࿿bPlayAlertSound׿Falseÿ೿szAlertSoundÿÿ᷿bProceedWithDestinationScript׿FalseÿᓿszCallingPartyNumberÿÿᗿbIncludeMobileDevicesӿTrueÿÿÿÿÿ￿￿ÿÿÿ௿Ruf beendetÿʰ€೿InsertScript೿szScriptCode駿' TODO: Geben Sie hier Ihren Skript-Code ein
UseExit = 0 ' Bitte verwenden Sie die Variable UseExit um die Block-Ausgänge 0..9 zu verwenden
CloseCallÿ ÿ￿￿ÿ￿￿ÿ￿￿ÿ￿￿ÿ￿￿ÿ￿￿ÿ￿￿ÿ￿￿ÿ￿￿ÿÿ૿AngenommenÿǠİ೿InsertScript೿szScriptCode髿' TODO: Geben Sie hier Ihren Skript-Code ein
UseExit = 0 ' Bitte verwenden Sie die Variable UseExit um die Block-Ausgänge 0..9 zu verwenden
CallAnswerÿ ÿ￿￿ÿ￿￿ÿ￿￿ÿ￿￿ÿ￿￿ÿ￿￿ÿ￿￿ÿ￿￿ÿ￿￿ÿÿÿÿ% ƠÀᓿgseWaitForDisconnectࣿnTimeoutǿ0ÿÿ￿￿ÿ
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment