Pascom Zammad Helpdesk Integration

Hallo zusammen,

habe gerade dazu ein Support-Ticket erstellt. Leider haben wir eine Kundenvorgabe, dass wir ein Ticketsystem einbinden MÜSSEN. Also brauchen wir unbedingt eine Lösung.
Wie schauts denn mittlerweile aus?

Hallo zusammen,

ich habe eine Integration mit Scripts per REST gelöst.

Pascom Calls -> Zammad

Skript vorher -> Erstellt eingehenden Anruf

exten => s,1,Set(CURLOPT(httptimeout)=3)
exten => s,2,Set(CURLOPT(conntimeout)=3)
exten => s,3,Set(NAME=${CURL(https://subdomain.zammad.com/api/v1/cti/token/,event=newCall&from=${CALLERID(num)}&to=${CALLERID(dnid)}&direction=in&callId=${CHANNEL(LINKEDID)})})
exten => s,4,Return()

def_outbound -> Erstellt ausgehenden Anruf

same => n,Set(CURLOPT(httptimeout)=3)
same => n,Set(CURLOPT(conntimeout)=3)
same => n,Set(OUT=${CURL(https://subdomain.zammad.com/api/v1/cti/token/,event=newCall&direction=out&from=${CALLERID(num)}&to=${CALLERID(dnid)}&callId=${CHANNEL(LINKEDID)}&user[]=${MDC_DIALCALLERNAME})})

def_hangup -> Status Anruf beendet

Ab Zeile 2:
same => n,GoToIf($[ "${MDC_DIALDESCENT}" = "int" ]?10,1:11,1)

; extension 10 in -> ext
exten => 10,1,Set(OUT=${CURL(https://subdomain.zammad.com/api/v1/cti/token/,event=hangup&direction=out&cause=normalClearing&from=${CALLERID(num)}&to=${CALLERID(dnid)}&callId=${CHANNEL(LINKEDID)}&user[]=${MDC_DIALCALLERNAME})})
same => n,Return()

; extension 11: ext -> in
exten => 11,1,Set(OUT=${CURL(https://subdomain.zammad.com/api/v1/cti/token/,event=hangup&direction=in&cause=normalClearing&from=${CALLERID(num)}&to=${CALLERID(dnid)}&callId=${CHANNEL(LINKEDID)}&user[]=${MDC_DIALCALLERNAME})})
same => n,Return()

Was mir noch fehlt ist ein Auslöser für Answer
Da habe ich keine Ahnung wie ich das per Skript machen kann.
Vielleicht hat jemand eine Idee.
Wir haben ein Team mit Ansage und IVR, wenn nun ein Agent den Anruf annimmt sollte ein Skript ausgeführt werden.

exten => s,1,Set(CURLOPT(httptimeout)=3)
exten => s,2,Set(CURLOPT(conntimeout)=3)
exten => s,3,Set(NAME=${CURL(https://subdomain.zammad.com/api/v1/cti/token/,event=answer&from=${CALLERID(num)}&to=${CALLERID(dnid)}&direction=in&callId=${CHANNEL(LINKEDID)})})
exten => s,4,Return()

@moderators habt ihr hier einen Tipp wie ich ein Skript bei rufannahme ausführen kann?

1 Like

Hi, gibts zu dem Thema inzwischen News ?

Hy,
hast du zum answer Event schon eine Lösung?

Moin @colesnicov,

Nein leider nicht

hallo @rouven.matthies.hds,

wie habt ihr dann das Answer-Event gelöst? oder gar nicht mehr?

moin @colesnicov,

ich habe leider keine Lösung dazu gefunden :frowning:

Das Problem ist, dass Pascom nach wie vor keine Webhoocks kennt. Per API geht das nicht. Ich hatte mal versucht einen Python-XMPP-Client zu schreien bin aber bei der Authentisierung gescheitert, da Pascom hier etwas verwendet was sich nicht einfach so mit bestehenden XMPP-Modulen abbilden lässt bzw. ich habe das nicht hin bekommen. Wenn jemand herausfindet wie das geht lässt sich der Rest relative leicht machen.

+1 dafür. Das ist das wahre Manko, so toll der Rest ja funktioniert. 2022 wäre es ja echt mal an der Zeit :wink: GIbt so viele Dinge, die sich damit super einfach umsetzen lassen würden, weit über Zammad hinaus.

Da aber auch Pascom vermutlich keine ungenutzten Entwickler-Kapaziäten irgenwo rumfliegen hat, wird das wohl noch warten müssen, bis der Druck groß genug geworden ist.

Hat sich hier mitlerweile nochmal was getan?

Schön wäre es, aber leider nicht. Wird für mich persönlich zunehmend zu einem echten Problem. Je mehr Kunden, umso mehr sinnfreien, weil manuellen Aufwand.

+1 für eine Zammad Integration bzw. noch besser die Webhooks, da flexibler

1 Like

Da warte ich auch schon soooooo lange drauf, gibt aber anscheinend wichtigere Themen.