Firefox Dialer für Snom und Softphone@3CX – PoC
Ohne Telify wird man erfinderisch!
Ein Dialer / Wrapper muss her, um aus dem Adressbuch von Open-Xchange unter Firefox direkt wählen zu können. Ein Proof of Concept mit einem vorläufigen Client unter Linux Mint 19.2.
Unter Firefox 68 ändern und ergänzen wir über about:config folgende Settings:
network.http.phishy-userpass-length 5 network.protocol-handler.expose.callto true network.protocol-handler.expose.tel false network.protocol-handler.external.callto true network.protocol-handler.warn-external.callto false network.protocol-handler.app.callto /usr/local/bin/action-handler-callto.sh
Das Ur PoC-Script, was später wahrscheinlich in Java und einem zusätzlichen Webservice auf dem 3CX Server enden wird:
#!/bin/bash # precondition: # user.prefs of Firefox including: # # network.http.phishy-userpass-length 5 # network.protocol-handler.expose.callto true # network.protocol-handler.expose.tel false # network.protocol-handler.external.callto true # network.protocol-handler.warn-external.callto false # network.protocol-handler.app.callto /usr/local/bin/action-handler-callto.sh action=$@ gateway=XXX.XXX.XXX.XXX snom_webadmin_user=WebDialerUser snom_webadmin_pw=DasSupergeheimeSnomWebGUIPasswortAusDem3CXProvisioningFürDasSnom hostname_snom=snom765-21223a.getcom.de echo "_______________________________________________">> /tmp/action-handler-last-calls.log date +%Y-%m-%d" "%H:%m:%S >> /tmp/action-handler-last-calls.log number="$(echo $action | sed -e 's/callto://' | sed -e 's/tel://' | sed -e 's/sip://' | sed -e "s/+49/0/" | sed -e "s/-//g" | sed -e "s/%20//g")" current_gateway="$(route -n | grep ^0.0.0.0 | awk '{print $2}' | sort -u)" if [ -z $number ] then echo "Usage: `basename $0` [PHONE NUMBER]" exit 0 fi if [ "$gateway" = "$current_gateway" ] then echo "@home: using Snom phone to dial number: $number (action=$action)" | tee -a /tmp/action-handler-last-calls.log lynx --source -auth=$snom_webadmin_user:$snom_webadmin_pw "http://$hostname_snom/command.htm?number=$number&outgoing_uri=URI" >/tmp/action-handler-last-uri.html else echo "@outside: using linphone to dial number: $number (action=$action)" | tee -a /tmp/action-handler-last-calls.log /usr/bin/linphone -c "$number" \&\& fi exit 0
OX erstellt im Adressbuch automatisch einen callto Link für Mobil- und Festnetznummern:
Ein Klick und das Snom wählt für Dich.