REST-Schnittstelle ansitel Telefonanlage

Die ansitel-Telefonanlage bietet ab Version 4.2 eine REST-Schnittstelle (API) zur Anbindung von externen Programmen.

Die Bedienung der Schnittstelle orientiert sich weitestgehend an der Menüführung im ansitel webinterface.

Authentifizierung

Die REST-Schnittstelle lässt sich NUR über einen Token authentifizieren. Hierzu muss in der ansitel Telefonanlage unter System > Benutzer und Rechte ein Benutzer (z.B. ansiteladmin) bearbeitet und der Haken bei „Click to Dial aktivieren“ gesetzt werden. Wird der Benutzer nochmals bearbeitet, ist auf der rechten Seite der „Click to Dial Token“ zu sehen. Dieser Token wird für die Authentifizierung verwendet.

Abbildung Authentifizierung

Abbildung: Token-Authentifizierung der ansitel Telefonanlage

Aufruf der REST-Schnittstelle

Die REST-Schnittstelle wird, wie nachfolgend aufgerufen. Die Daten werden im JSON-Format übergeben:

curl -k -H "Content-Type: application/json" -X POST -d  
'{
"token":"<token>",
"action":"<action>",
"<parameter1>":"<parameterwert1>",
"<parameter2>":"<parameterwert2>",
"<parameter3>":"<parameterwert3>"
}'
https://<IP-Adresse der ansitel-Telefonanlage>/awi/api/rest

Mögliche action-Parameter

Wichtig: Zum Übernehmen der Änderungen die "writeconfig"-Funktion ausführen.

adddialplannumber

Mit dieser Funktion können Wählplanrufnummern in der ansitel Telefonanlage hinzugefügt werden.

Aufruf:

curl -k -H "Content-Type: application/json" -X POST -d '{"token":"<token>","action":"adddialplannumber","dialplanNumber":"155"}' https://192.168.1.20/awi/api/rest

Rückgabe:

{"status":200,"status_message":"dialplannumber 155 added","data":null}

addincomingroute

Mit dieser Funktion können eingehende Routen in der ansitel Telefonanlage hinzugefügt werden.

Aufruf:

curl -k -H "Content-Type: application/json" -X POST -d
'{"token":"<token>",
"action":"addincomingroute",
"incomingrouteNumber":"00493012345678",
"dialplannumber":"100",
"incomingrouteCustom":null,
"incomingrouteMixmonitor":"0",
"pk_outgoingRouteId":null}' https://192.168.1.17/awi/api/rest

Rückgabe:

Das data-Feld enthält die pk_incomingrouteId der angelegten eingehenden Route.

{"status":200,"status_message":"incoming route 00493012345678 added","data":"1"}

addoutgoingroute

Mit dieser Funktion können ausgehende Routen mit Leitungen in der Telefonanlage hinzugefügt werden.

Es können folgende Parameter gesetzt werden:

Die Zuordnung der Leitungen erfolgt mit der Übergabe eines Arrays bestehend aus den Leitungsmodulen:

Aufruf:

curl -k -H "Content-Type: application/json" -X POST -d
'{
"token":"<token>",
"action":"addoutgoingroute",
"outgoingRouteName":"out",
"outgoingRoutePrefix":null,
"outgoingRouteMixmonitor":"0",
"trunk":  
    {"1":  
      {"pk_trunkId":1,
       "priority":1,
       "timeout":60 },
     "2":
      {"pk_trunkId":227,  
      "priority":2,  
      "timeout":60
      }
    }  
}' https://192.168.1.17/awi/api/rest

Rückgabe:

Das data-Feld enthält die pk_outgoingRouteId der angelegten ausgehenden Route.

{
   "data" : {
      "pk_outgoingRouteId" : "22"
   },
   "status" : 200,
   "status_message" : "Outgoing Route out added"
}

addpeer

Mit dieser Funktion können SIP-Nebenstellen in der ansitel Telefonanlage hinzugefügt werden.

Folgende Parameter werden von der ansitel Telefonanlage erwartet.

Aufruf:

curl -k -H "Content-Type: application/json" -X POST -d '{"token":"<token>","action":"addpeer","peerName":"Telefon2","peerInternalCallerId":"9", "peerSecret":"123aAaZ", "peerDisplayName":"Mitarbeiter 10", "create_dialplan_entry":"1"}' https://192.168.1.20/awi/api/rest

Rückgabe:

Das data-Feld enthält die pk_peerId der angelegten Nebenstelle.

{"status":200,"status_message":"SIPPeer Telefon2 added","data":"286"}

addringgroup

Mit dieser Funktion können Rufgruppen mit Rufgruppenobjekten in der ansitel Telefonanlage hinzugefügt werden.

Es können folgende die Parameter einzeln oder in Kombination gesetzt werden:

Die Zuordnung der Rufgruppenobjekte erfolgt mit der Übergabe eines Arrays bestehend aus den Objektmodulen:

Aufruf:

curl -k -H "Content-Type: application/json" -X POST -d
'{
"token":"<token>",
"action":"addringgroup",
"ringgroupName":"Alle Telefone",
"ringgroupStrategy":"ringall",
"ringgroupTimeout":"20",
"dialplannumber":"26",
"ringgroupObject":
  {"1":
      {"ringgroupObjectModuleId":"125",
        "ringgroupObjectModule":"sippeer",
        "ringgroupObjectsOrder":"0"
      },
    "2":
      {"ringgroupObjectModuleId":"126",
       "ringgroupObjectModule":"sippeer",
       "ringgroupObjectsOrder":"0"
       }
    }
}' https://192.168.1.17/awi/api/rest

Rückgabe:

Das data-Feld enthält die pk_ringgroupId der angelegten Rufgruppe.

{"status":200,"status_message":"Ringgroup Alle Telefone 1234568 added","data":"20"}

addtrunk

Mit dieser Funktion können SIP-Leitungen in der ansitel Telefonanlage hinzugefügt werden.

Folgende Parameter werden von der ansitel Telefonanlage erwartet.

Folgende Leitungstypen sind möglich:

Aufruf:

curl -k -H "Content-Type: application/json" -X POST -d '{"token":"<token>","action":"addtrunk","name":"leitung3","areacode":"030","providerLogin":"0001400013","secret":"password","sipnumber":"00493011111111","type" : "ansitline flexSIP Comfort"}' https://192.168.1.20/awi/api/rest

Rückgabe:

Das data-Feld enthält die pk_trunkId der angelegten Leitung.

{
   "data" : {
      "pk_trunkId" : "242"
   },
   "status" : 200,
   "status_message" : "SIPTrunk leitung3 added"
}

delincomingroute

Mit dieser Funktion können eingehende Routen auf Basis der ID (pk_incomingrouteId) oder der Rufnummer (incomingrouteNumber) in der Telefonanlage gelöscht werden:

ID:

Aufruf:

curl -k -H "Content-Type: application/json" -X POST -d
'{"token":"<token>",
"action":"delincomingroute",
"pk_incomingrouteId":80}'
https://192.168.1.17/awi/api/rest

Rückgabe:

{"status":200,"status_message":"pk_incomingrouteId 80 deleted","data":null}

Rufnummer:

Aufruf:

curl -k -H "Content-Type: application/json" -X POST -d
'{"token":"<token>",
"action":"delincomingroute",
"incomingrouteNumber":"00491234567"}'
https://192.168.1.17/awi/api/rest

Rückgabe:

{"status":200,"status_message":"incomingrouteNumber 00491234567 deleted","data":null}

deloutgoingroute

Mit dieser Funktion können ausgehende Routen auf Basis der ID (pk_outgoingRouteId) in der Telefonanlage gelöscht werden:

Aufruf:

curl -k -H "Content-Type: application/json" -X POST -d
'{"token":"<token>",
"action":"deloutgoingroute",
"pk_outgoingRouteId":22}'
https://192.168.1.17/awi/api/rest

Rückgabe:

{
   "data" : null,
   "status" : 200,
   "status_message" : "pk_outgoingRouteId 22 deleted"
}

delpeer

Mit dieser Funktion können Nebenstellen auf Basis der Nebenstellen-ID (pk_peerId) in der ansitel Telefonanlage gelöscht werden:

Aufruf:

curl -k -H "Content-Type: application/json" -X POST -d
'{"token":"<token>","action":"delpeer","pk_peerId":125}'
https://192.168.1.20/awi/api/rest

Rückgabe:

{"status":200,"status_message":"pk_peerId 125 deleted","data":null}

delringgroup

Mit dieser Funktion können Rufgruppen auf Basis der Rufgruppen-Id (pk_ringgroupId) in der ansitel Telefonanlage gelöscht werden:

Aufruf:

curl -k -H "Content-Type: application/json" -X POST -d '{"token":"<token>","action":"delringgroup","pk_ringgroupId":20}' https://192.168.1.20/awi/api/rest

Rückgabe:

{"status":200,"status_message":"pk_ringgroupId 15 deleted","data":null}

deltrunk

Mit dieser Funktion können Leitungen auf Basis der Leitungs-Id (pk_trunkId) oder des Namens (trunkName) in der ansitel Telefonanlage gelöscht werden:

Leitungs-Id

Aufruf:

curl -k -H "Content-Type: application/json" -X POST -d '{"token":"<token>","action":"deltrunk","pk_trunkId":75}' https://192.168.1.20/awi/api/rest

Rückgabe:

{
   "data" : null,
   "status" : 200,
   "status_message" : "trunk with pk_trunkId 75 deleted"
}

Trunkname

Aufruf:

curl -k -H "Content-Type: application/json" -X POST -d '{"token":"<token>","action":"deltrunk","trunkName":"ansitel"}' https://192.168.1.20/awi/api/rest

Rückgabe:

{
   "data" : null,
   "status" : 200,
   "status_message" : "trunk with pk_trunkId 75 and name ansitel deleted"
}

editincomingroute

Mit dieser Funktion können eingehende Routen in der ansitel Telefonanlage geändert werden.

Die eingehende Route wird anhand der pk_incomingrouteId identifiziert.

Es können folgende die Parameter einzeln oder in Kombination gesetzt werden:

Aufruf:

curl -k -H "Content-Type: application/json" -X POST -d
'{"token":"<token>",
"action":"editincomingroute",
"pk_incomingrouteId":80,
"incomingrouteNumber":"0001234567XXX",
"dialplannumber":"123",
"incomingrouteCustom":null,
"incomingrouteMixmonitor":"1",
"pk_outgoingRouteId":null}' https://192.168.1.20/awi/api/rest

Rückgabe:

{"status":200,"status_message":"incoming route id 80 edited","data":null}

editoutgoingroute

Mit dieser Funktion können ausgehende Routen mit Leitungen in der Telefonanlage anhand der pk_outgoingRouteId geändert werden.

Es können folgende Parameter gesetzt werden:

Die Zuordnung der Leitungen erfolgt mit der Übergabe eines Arrays bestehend aus den Leitungsmodulen:

Aufruf:

curl -k -H "Content-Type: application/json" -X POST -d
'{
"token":"<token>",
"action":"addoutgoingroute",
"pk_outgoingRouteId":22
"outgoingRouteName":"out",
"outgoingRoutePrefix":null,
"outgoingRouteMixmonitor":"0",
"trunk":  
    {"1":  
      {"pk_trunkId":1,
       "priority":1,
       "timeout":60 },
     "2":
      {"pk_trunkId":227,  
      "priority":2,  
      "timeout":60
      }
    }  
}' https://192.168.1.17/awi/api/rest

Rückgabe:

Das data-Feld enthält die pk_outgoingRouteId der geänderten ausgehenden Route.

{"status":200,"status_message":"Outgoing Route with pk_outgoingRouteId 23 edited","data":{"pk_outgoingRouteId":23}}

editpeer

Mit dieser Funktion können folgende die Parameter einzeln oder in Kombination auf Basis der Nebenstellen-ID (pk_peerId) in der ansitel Telefonanlage gesetzt werden:

Aufruf:

curl -k -H "Content-Type: application/json" -X POST -d
'{
"token":"<token>",
"action":"editpeer",
"pk_peerId":1,
"peerName":"Telefon22",
"peerInternalCallerId":"22",
"peerSecret":"123aAaZ",
"peerExternalCallerId":"0049123456",
"peerDisplayName":"Mörle Hause28"}'
https://192.168.1.20/awi/api/rest

Rückgabe:

{"status":200,"status_message":"pk_peerId 1 changed","data":null}

editringgroup

Mit dieser Funktion können Rufgruppen bearbeitet werden.

Die Rufgruppe wird anhand der pk_ringgroupId identifiziert.

Es können folgende die Parameter einzeln oder in Kombination gesetzt werden:

Die Zuordnung der Rufgruppenobjekte erfolgt mit der Übergabe eines Arrays bestehend aus den Objektmodulen:

Aufruf:

curl -k -H "Content-Type: application/json" -X POST -d
'{"token":"<token>",
"action":"editringgroup",
"pk_ringgroupId":20,
"ringgroupName":"Alle Telefone 1234568u",
"ringgroupStrategy":"rotate",
"ringgroupTimeout":"30",
"ringgroupObject":
{"1":
{"ringgroupObjectModuleId":"130",
"ringgroupObjectModule":"sippeer",
"ringgroupObjectsOrder":"2"},
"2":
{"ringgroupObjectModuleId":"132",
"ringgroupObjectModule":"sippeer",
"ringgroupObjectsOrder":"1"}}}'
https://192.168.1.20/awi/api/rest

Rückgabe:

{"status":200,"status_message":"Ringgroup Id 20 edited","data":null}

edittrunk

Mit dieser Funktion können folgende Parameter einzeln oder in Kombination auf Basis der Leitungs-ID (pk_trunkId) in der ansitel Telefonanlage gesetzt werden:

Aufruf:

curl -k -H "Content-Type: application/json" -X POST -d
'{
"token":"<token>",
,"action":"edittrunk","pk_trunkId":246,"name":"leit2","areacode":"040","providerLogin":"0001545454545","secret":"password","active":"1"}'
https://192.168.1.20/awi/api/rest

Rückgabe:

{"status":200,"status_message":"pk_trunkId 246 changed","data":{"name":"leit2","providerLogin":"0001545454545","secret":"<not_displayed>","areacode":"040","active":"1"}

factoryreset

Diese Funktion ermöglicht das Zurücksetzen des gesamten Systems.

Wichtig: Es ist zwingend erforderlich, dass ein richtiger Sicherheitscode angegeben wird. Es handelt sich hier um den selben Sicherheitscode, den Sie im Webinterface der Telefonanlage unter System > Einstellungen > Backup > Werkseinstellungen finden.

Aufruf:

curl -k -H "Content-Type: application/json" -X POST -d
'{"token":"<token>",
"action":"factoryreset",
"code":"12345"
}'
 https://192.168.1.20/awi/api/rest

Rückgabe:

{"status":200,"status_message":"factory reset successful",null}

getcallfordwardingoncuserbytoken

Diese Funktion gibt die Weiterleitungen an der persönlichen Nebenstelle (auch One Number Concept User genannt) zurück. Die persönliche Nebenstelle wird durch den Benutzertoken authentifiziert.

Aufruf:

curl -k -H "Content-Type: application/json" -X POST -d
'{"token":"<token>",
"action":"getcallfordwardingoncuserbytoken",
}'
 https://192.168.1.20/awi/api/rest

Rückgabe:

{"status":200,"status_message":"callforwarding of user Benutzer1 with id 2",
"data":
{"pk_userId":2,
userName":"Benutzer1",
"destination":"03012345678"}
}

Ist das Feld "destination" null existiert keine Weiterleitung für diesen Benutzer.

getcallfordwardingononcuser

Diese Funktion gibt sämtliche Weiterleitungen an persönlichen Nebenstellen (auch One Number Concept User genannt) zurück.

Aufruf:

curl -k -H "Content-Type: application/json" -X POST -d
'{"token":"<token>",
"action":"getcallfordwardingononcuser"}'
 https://192.168.1.20/awi/api/rest

Rückgabe:

{"status":200,
"status_message":"callforwarding of all onc users",
"data":
{"2":
{"pk_userId":2,
"userName":"Benutzer1",
"destination":"03012345678"},
"3":
{"pk_userId":3,
"userName":"Benutzer2",
"destination":"0305555555"}
}
}

Weiterleitungen an einzelnen Benutzern lassen sich mit der Angabe der pk_userId aufrufen.

Aufruf:

curl -k -H "Content-Type: application/json" -X POST -d
'{"token":"<token>",
"action":"getcallfordwardingononcuser",
"pk_userId":2}'
 https://192.168.1.20/awi/api/rest

Rückgabe:

{"status":200,"status_message":"callforwarding of user Benutzer1 with id 2",
"data":
{"pk_userId":2,
userName":"Benutzer1",
"destination":"03012345678"}
}

Ist das Feld "destination" null existiert keine Weiterleitung an diesem Benutzer.

getcallfordwardingonpeer

Diese Funktion gibt sämtliche Weiterleitungen an Nebenstellen zurück.

Aufruf:

curl -k -H "Content-Type: application/json" -X POST -d
'{"token":"<token>",
"action":"getcallfordwardingonpeer"}'
 https://192.168.1.20/awi/api/rest

Rückgabe:

{"status":200,
"status_message":"callforwarding of all peers",
"data":
{"132":
{"pk_peerId":1,
"peerName":"Telefon1",
"destination":"03012345678"},
"145":
{"pk_peerId":14,
"peerName":"Telefon14",
"destination":"01731234567"}
}
}

Weiterleitungen an einzelnen Nebenstellen lassen sich mit der Angabe der pk_peerId aufrufen.

Aufruf:

curl -k -H "Content-Type: application/json" -X POST -d
'{"token":"<token>",
"action":"getcallfordwardingonpeer",
"pk_peerId":10}'
 https://192.168.1.20/awi/api/rest

Rückgabe:

{"status":200,"status_message":"callforwarding of peer Telefon10 with id 10",
"data":
{"pk_peerId":10,
"peerName":"Telefon10",
"destination":"1235"}
}

Ist das Feld "destination" null existiert keine Weiterleitung an dieser Nebenstelle.

getcdr

Mit dieser Funktion können die Gesprächsdaten der ansitel Telefonanlage (mit Start- und Endzeitpunkt) aufgerufen werden. Jeder Aufruf gibt maximal 1000 Zeilen zurück. Die Variable „resultcount“ enthält die Anzahl aller Zeilen der Auswahl. Gegebenenfalls können über einen 2. Aufruf mit dem Parameter „linepos=1000“ weitere 1000 Zeilen abgerufen werden.

Aufruf:

curl -k -H "Content-Type: application/json" -X POST -d  
'{"token":"<token>","action":"getcdr","datetimefrom":"2018-03-01 10:28:20",
"datetimeto":"2018-03-02 11:21:20","linepos":"0"}'
https://192.168.1.20/awi/api/rest

Rückgabe:

{"status":200,
        "status_message":"OK",
        "resultcount":"10",
            "data":                     
                [{"uniqueid":"1519900777.158",
                "calldate":"2018-03-01 11:39:37",
                "clid":"\"Phone1\"<16>",
                "src":"16",
                "custom_src":"16",
                "dst":"981",
                "direction":"internal",
                "duration":"1",
                "billsec":"0",
                "disposition":"NO ANSWER",
                "accountcode":"234",
                "userfield":"",
                "outqueue":"",
                "onc":"Phone1;981",
                "linkedid":"1519900777.158",
                "sequence":"115",
                "peeraccount":"234",
                "trunkid":"12"}]}

Beschreibung der Felder:

getcdroncuserbytoken

Mit dieser Funktion können die Gesprächsdaten eines Benutzers von der ansitel Telefonanlage aufgerufen werden. Die Authentifizierung erfolgt über den Token des Benutzers.

Parameter:

Aufruf:

curl -k -H "Content-Type: application/json" -X POST -d  
'{"token":"<token>","action":"getcdroncuserbytoken", "linepos":"0", "range":"10"}'
https://192.168.1.20/awi/api/rest

Rückgabe:

{
   "status_message" : "cdrs user A1 with id 119",
   "status" : 200,
   "resultcount" : 16,
   "data" : {
      "6345" : {
         "cdr" : {
            "lastapp" : "Dial",
            "disposition" : "ANSWERED",
            "linkedid" : "1585579223.9",
            "accountcode" : "1",
            "clid" : "\"A1\" <106>",
            "lastdata" : "SIP/105,60,tTkK",
            "uniqueid" : "1585579223.9",
            "calldate" : "2020-03-30 16:40:23",
            "peeraccount" : "1",
            "outqueue" : "",
            "userfield" : "",
            "dst" : "105",
            "dcontext" : "default",
            "dstchannel" : "SIP/105-00000007",
            "channel" : "SIP/123-00000006",
            "src" : "106",
            "amaflags" : "3",
            "onc" : "A1;105",
            "duration" : "4",
            "direction" : "internal",
            "sequence" : "6",
            "fk_trunks_trunkId" : null,
            "billsec" : "2",
            "pk_cdrId" : "6345",
            "custom_src" : "106",
            "cname" : "Max Mustermann"
         }
      }
   }
}

Beschreibung der Felder:

getdialplannumber

Diese Funktion gibt sämtliche Wählplanrufnummern mit Id zurück.

Aufruf:

curl -k -H "Content-Type: application/json" -X POST
-d '{"token":"<token>",
"action":"getdialplannumber"}'
https://192.168.1.20/awi/api/rest

Rückgabe:

{"status":200,
"status_message":"All dialplannumbers",
"data":
{"201":
{"pk_dialplannumberId":"201",
"dialplanNumber":"0001"},
"202":
{"pk_dialplannumberId":"202",
"dialplanNumber":"0002"}
}}

Einzelne Wählplanrufnummern lassen sich mit der Angabe der pk_dialplannumberId aufrufen.

Aufruf:

curl -k -H "Content-Type: application/json" -X POST -d
'{"token":"<token>",
"action":"getdialplannumber",
"pk_dialplannumberId":59}'
https://192.168.1.20/awi/api/rest

Rückgabe:

{"status":200,"status_message":"dialplannumber pk_dialplannumberId 59",
"data":{"pk_dialplannumberId":"59","dialplanNumber":"997"}}

getdate

Diese Funktion gibt das aktuelle Datum der ansitel Telefonanlage zurück.

Aufruf:

curl -k -H "Content-Type: application/json" -X POST -d  
'{"token":"<token>","action":"getdate"}'
https://192.168.1.20/awi/api/rest

Rückgabe:

{"status":200,"status_message":"DateTime of pbx","data":"2018-03-05 15:02:17"}

getdndoncuserbytoken

Diese Funktion gibt zurück, ob der Anrufschutz an der persönliche Nebenstelle aktiviert ist. Die persönliche Nebenstelle wird anhand des Benutzertokens authentifiziert.

Aufruf:

curl -k -H "Content-Type: application/json" -X POST -d
'{"token":"<token>",
"action":"getdndoncuserbytoken"}'
https://192.168.1.17/awi/api/rest

Rückgabe:

{"status":200,
"status_message":"dnd of onc user user1 with id 1",
"data":
{
"pk_userId":"1",
"userName":"user1",
"dnd":"1"
}
}

Ist das Array "data" null oder der Paramater "dnd" = "0" existiert kein Anrufschutz an dieser persönlichen Nebenstelle.

getdndononcuser

Diese Funktion gibt die persönlichen Nebenstellen von Benutzern zurück, an denen Anrufschutz aktiviert ist.

Aufruf:

curl -k -H "Content-Type: application/json" -X POST -d
'{"token":"<token>",
"action":"getdndononcuser"}'
https://192.168.1.17/awi/api/rest

Rückgabe:

{"status":200,
"status_message":"dnd of all onc users",
"data":
{"1":
  {"pk_userId":2,
  "userName": "Benutzer1",
  "dnd":"1"}},
{"2":
  {"pk_userId":3,
  "userName": "Benutzer2",
  "dnd":"1"}}

}

Anrufschutz an einzelnen persönlichen Nebenstellen lassen sich mit der Angabe der pk_userId anzeigen.

Aufruf:

curl -k -H "Content-Type: application/json" -X POST -d
'{"token":"<token>",
"action":"getdndononcuser",
"pk_userId":1
}'  https://192.168.1.17/awi/api/rest

Rückgabe:

{"status":200,
"status_message":"dnd of onc user ansiteladmin with id 2",
"data":{
  "pk_userId":2,
  "userName":"Benutzer1",
  "dnd":"1"}
}

Ist das Array "data" null existiert kein Anrufschutz an dieser persönlichen Nebenstelle.

getdndonpeer

Diese Funktion gibt Nebenstellen zurück, an denen Anrufschutz aktiviert ist.

Aufruf:

curl -k -H "Content-Type: application/json" -X POST -d
'{"token":"<token>",
"action":"getdndonpeer"}'
 https://192.168.1.20/awi/api/rest

Rückgabe:

{"status":200,
"status_message":"dnd of all peers",
"data":
{"1":
{"pk_peerId":1,
"peerName":"Telefon1",
"dnd":"1"}
},
{"2":
{"pk_peerId":2,
"peerName":"Telefon2",
"dnd":"1"}
}
}

Anrufschutz an einzelnen Nebenstellen lassen sich mit der Angabe der pk_peerId anzeigen.

Aufruf:

curl -k -H "Content-Type: application/json" -X POST -d
'{"token":"<token>",
"action":"getdndonpeer",
"pk_peerId":1}'  https://192.168.1.17/awi/api/rest

Rückgabe:

{"status":200,
"status_message":"dnd of peer Telefon1 with id 1",
"data":
{"pk_peerId":1,
"peerName":"Telefon1",
"dnd":"1"}}

Ist das Array "data" null existiert keine Weiterleitung an dieser Nebenstelle.

getincomingroute

Diese Funktion gibt sämtliche eingehenden Routen mit folgenden Parametern zurück:

Aufruf:

curl -k -H "Content-Type: application/json" -X POST -d
'{"token":"<token>","action":"getincomingroute"}'
https://192.168.1.20/awi/api/rest

Rückgabe:

{"status":200,"status_message":"All incoming routes",
"data":
{"1":
{"pk_incomingrouteId":1,
"dialplannumber":"100",
"incomingrouteNumber":"00491234567",
"incomingrouteCustom":null,
"incomingrouteMixmonitor":"0"},
"4":
{"pk_incomingrouteId":4,
"dialplannumber":null,
"incomingrouteNumber":"00491234568",
"incomingrouteCustom":${EXTEN:11},
"incomingrouteMixmonitor":"1"}
}
}

Einzelne eingehenden Routen lassen sich mit der Angabe der pk_incomingrouteId aufrufen.

Aufruf:

curl -k -H "Content-Type: application/json" -X POST -d
'{"token":"<token>",
"action":"getincomingroute",
"pk_incomingrouteId":45}'
 https://192.168.1.17/awi/api/rest

Rückgabe:

{"status":200,
"status_message":"incomingroute pk_incomingrouteId 45",
"data":
{"pk_incomingrouteId":45,
"dialplannumber":155,
"incomingrouteNumber":"0049301234565",
"incomingrouteCustom":null,
"incomingrouteMixmonitor":"0"}
}

getinfooncuserbytoken

Diese Funktion gibt sämtliche aktiven und inaktiven Nebenstellen sowie Weiterleitungen der persönlichen Nebenstelle eines Benutzers zurück. Zusätzlich wird der Benutzername, die Benutzerrolle, der Host und der Status des Anrufbeantworters zurückgegeben.

Aufruf:

curl -k -H "Content-Type: application/json" -X POST -d
'{"token":"<token>","action":"getpeersoncuserbytoken"}'
 https://192.168.1.20/awi/api/rest

Rückgabe:

{
   "status_message" : "onc peers of user Benutzer1 with id 119",
   "data" : {
      "peer" : {
         "126" : {
            "peerId" : "126",
            "used_by_other_user" : null,
            "active" : "1",
            "peerName" : "Telefon1"
         },
         "139" : {
            "peerId" : "139",
            "peerName" : "Telefon2",
            "active" : "1",
            "used_by_other_user" : null
         },
         "131" : {
            "peerId" : "131",
            "peerName" : "Telefon3",
            "active" : "0",
            "used_by_other_user" : null
         }
      },
      "fwd" : {
         "91" : {
            "fwdId" : "91",
            "active" : "0",
            "fwd_number" : "01731234567"
         },
         "92" : {
            "fwdId" : "92",
            "active" : "1",
            "fwd_number" : "030123456"
         }
      },
      "userName" : "Benutzer1",
      "pk_userId" : "119",
      "userHost" : "192.168.1.17",
      "userRole" : "agent",
      "voicemail_active" : "0"

   },
   "status" : 200
}

getldaponcuserbytoken

Diese Funktion gibt sämtliche Einträge des LDAP-Verzeichnisses für diesen Benutzer anhand seines Tokens zurück.

Parameter:

Aufruf:

curl -k -H "Content-Type: application/json" -X POST -d
'{"token":"<token>","action":"getldaponcuserbytoken","linepos":"0","range":"1","search":"Mu"}'
https://192.168.1.20/awi/api/rest

Rückgabe:

{
  "data" : {
      "Benutzer" : {
         "Max Mustermann 5555" : {
            "cn" : "Max Mustermann 5555",
            "givenname" : "Max",
            "postalcode" : "10222",
            "street" : "Musterstrasse 10",
            "l" : "Musterstadt",
            "telephonenumber" : "5555",
            "o" : "Mustermann",
            "mail" : "info@mustermann.de",
            "sn" : "Mustermann"
         }
      }
   },
   "resultcount" : 3018,
   "status_message" : "ldap for onc user Benutzer with id 96",
   "status" : 200
}

getldappinoncuserbytoken

Diese Funktion gibt den PIN zum Ldap-Download auf Mobiltelefone zurück.

Aufruf:

curl -k -H "Content-Type: application/json" -X POST -d
'{"token":"a5c70c5f76e10daefb726991fdadb2f61bf",
"action":"getldappinoncuserbytoken"}'
https://192.168.1.17/awi/api/rest

Rückgabe der PIN, wenn Download erlaubt:

{
   "data" : "456",
   "status" : 200,
   "status_message" : "ldap pin of user ansiteladmin"
}

Rückgabe, wenn Download nicht erlaubt:

{
   "data" : "deny",
   "status" : 200,
   "status_message" : "ldap pin of user ansiteladmin"
}

getmaxusageoftrunk

Diese Funktion gibt die maximale Auslastung und den Zeitpunk einer Leitung zurück.

Die Leitung wird anhand der pk_trunkId identifiziert.

Aufruf:

curl -k -H "Content-Type: application/json" -X POST -d
'{"token":"<token>",
"action":"getmaxusageoftrunk",
"pk_trunkId":1}'
https://192.168.1.17/awi/api/rest

Rückgabe:

{"status":200,
"status_message":"maxchannels of pk_trunkId 11",
"data":
{"maxchannels":"10",
"timestamp":"1537524981"}}

getoncuser

Diese Funktion gibt alle Benutzer von persönlichen Nebenstellen zurück.

Aufruf:

curl -k -H "Content-Type: application/json" -X POST -d
'{"token":"<token>",
"action":"getoncuser"}'
https://192.168.1.17/awi/api/rest

Rückgabe:

{"status":200,"status_message":"All users",
"data":
{"1":
{"pk_userId":"1",
"userName":"ansiteladmin"},
"2":
{"pk_userId":"2",
"userName":"Benutzer2"}
}
}

Einzelne Benutzer lassen sich mit der Angabe der pk_userId aufrufen.

Aufruf:

curl -k -H "Content-Type: application/json" -X POST -d
 '{"token":"<token>",
 "action":"getoncuser",
 "pk_userId":2}'
 https://192.168.1.17/awi/api/rest

Rückgabe:

{"status":200,
"status_message":"user pk_userId 2",
"data":
{"pk_userId":"2",
"userName":"Benutzer2"}}

getoutgoingroute

Diese Funktion gibt sämtliche ausgehende Routen mit zugeweisenen Leitungen (Trunks) zurück.

Die Parameter stimmen mit denen des Webinterfaces überein.

Aufruf:

curl -k -H "Content-Type: application/json" -X POST -d
'{"token":"<token>","action":"getoutgoingroute"}'
 https://192.168.1.20/awi/api/rest

Rückgabe:

{
   "data" : {
      "18" : {
         "outgoingRouteDefault" : null,
         "outgoingRouteMixmonitor" : "0",
         "outgoingRouteName" : "Ausgehend",
         "outgoingRoutePrefix" : null,
         "pk_outgoingRouteId" : 18,
         "trunk" : {
            "134" : {
               "pk_trunkId" : "134",
               "priority" : "2",
               "timeout" : "60",
               "trunkName" : "ansit1",
               "trunkType" : "ansitlineSingle"
            },
            "88" : {
               "pk_trunkId" : "88",
               "priority" : "1",
               "timeout" : "60",
               "trunkName" : "aflat1",
               "trunkType" : "ansitlineFlat"
            }
         }
      }
   },
   "status" : 200,
   "status_message" : "All outgoing routes"
}

Einzelne ausgehende Routen lassen sich mit der Angabe der pk_outgoingRouteId aufrufen.

Aufruf:

curl -k -H "Content-Type: application/json" -X POST -d
'{"token":"<token>","action":"getoutgoingroute","pk_outgoingRouteId":18}'
https://192.168.1.20/awi/api/rest

Rückgabe:

{
   "data" : {
      "18" : {
         "outgoingRouteDefault" : null,
         "outgoingRouteMixmonitor" : "0",
         "outgoingRouteName" : "out",
         "outgoingRoutePrefix" : null,
         "pk_outgoingRouteId" : 18,
         "trunk" : {
            "134" : {
               "pk_trunkId" : "134",
               "priority" : "2",
               "timeout" : "60",
               "trunkName" : "ansit1",
               "trunkType" : "ansitlineSingle"
            },
            "88" : {
               "pk_trunkId" : "88",
               "priority" : "1",
               "timeout" : "60",
               "trunkName" : "aflat1",
               "trunkType" : "ansitlineFlat"
            }
         }
      }
   },
   "status" : 200,
   "status_message" : "outgoingroute with id 18"
}

getoutgoingrouteprefixes

Diese Funktion gibt alle Präfixe von ausgehenden Routen zurück, sofern Präfixe definiert wurden.

Aufruf:

curl -k -H "Content-Type: application/json" -X POST -d
'{"token":"a5c70c5f76e10daefdsfdsfdf61bf",
"action":"getoutgoingrouteprefixes"}'
https://192.168.1.17/awi/api/rest

Rückgabe bei keinem Präfix:

{
   "data" : [
      null
   ],
   "status" : 200,
   "status_message" : "Outgoingroute prefixes"
}

Rückgabe bei definierten Präfixen:

{
   "data" : [
      "2",
      "5"
   ],
   "status" : 200,
   "status_message" : "Outgoingroute prefixes"
}

getpeer

Diese Funktion gibt sämtliche Nebenstellen-Accounts mit folgenden Feldern zurück:

Aufruf:

curl -k -H "Content-Type: application/json" -X POST -d
'{"token":"<token>","action":"getpeer"}'
 https://192.168.1.20/awi/api/rest

Rückgabe:

{"status":200,"status_message":
"All peers",
"data":
[{"pk_peerId":"1",
"peerModule":"sippeer",
"peerName":"Telefon1",
"peerInternalCallerId":"10",
"peerDisplayName":"Telefon Eins",
"peerExternalCallerId":"03012345678"},
{"pk_peerId":"2",
"peerModule":"iaxpeer",
"peerName":"Telefon2",
"peerInternalCallerId":"20",
"peerDisplayName":"Telefon Zwei",
"peerExternalCallerId":"0302222354"}]}

Einzelne Accounts lassen sich mit der Angabe der pk_peerId aufrufen.

Aufruf:

curl -k -H "Content-Type: application/json" -X POST -d
'{"token":"<token>","action":"getpeer","pk_peerId":1}'
https://192.168.1.20/awi/api/rest

Rückgabe:

{"status_message":"peer pk_peerId 1",
"data":
{"pk_peerId":"1",
"peerModule":"sippeer",
"peerName":"Telefon1",
"peerInternalCallerId":"10",
"peerDisplayName":"Telefon Eins",
"peerExternalCallerId":"03012345678"}}

getpeersoncuserbytoken

Diese Funktion gibt sämtliche aktiven und inaktiven Nebenstellen sowie Weiterleitungen der persönlichen Nebenstelle eines Benutzers zurück. Anhand der jeweiligen ID können mit der Funktion "setpeersoncuserbytoken" die Nebenstellen aktiviert oder deaktiviert werden.

Aufruf:

curl -k -H "Content-Type: application/json" -X POST -d
'{"token":"<token>","action":"getpeersoncuserbytoken"}'
 https://192.168.1.20/awi/api/rest

Rückgabe:

{
   "status_message" : "onc peers of user Benutzer1 with id 119",
   "data" : {
      "peer" : {
         "126" : {
            "peerId" : "126",
            "used_by_other_user" : null,
            "active" : "1",
            "peerName" : "Telefon1"
         },
         "139" : {
            "peerId" : "139",
            "peerName" : "Telefon2",
            "active" : "1",
            "used_by_other_user" : null
         },
         "131" : {
            "peerId" : "131",
            "peerName" : "Telefon3",
            "active" : "0",
            "used_by_other_user" : null
         }
      },
      "fwd" : {
         "91" : {
            "fwdId" : "91",
            "active" : "0",
            "fwd_number" : "01731234567"
         },
         "92" : {
            "fwdId" : "92",
            "active" : "1",
            "fwd_number" : "030123456"
         }
      },
      "userName" : "Benutzer1",
      "pk_userId" : "119"
   },
   "status" : 200
}

getringgroup

Diese Funktion gibt sämtliche Rufgruppen mit Rufgruppenobjekten zurück.

Der Anwahlmodus (ringgroupStrategy) besitzt folgende Parameter:

Die Anwahlzeit (ringgroupTimeout) definiert die Zeit (in Sek.), wann der Anruf auf das nächste Rufgruppen Objekt springen soll (nur bei aufbauend oder rotierend).

Die Rufgruppenobjekte besitzen folgende Parameter:

Aufruf:

curl -k -H "Content-Type: application/json" -X POST -d
'{"token":"<token>","action":"getringgroup"}'
 https://192.168.1.20/awi/api/rest

Rückgabe:

{"status":200,"status_message":"All ringgroups",
"data":
{"1":
{"pk_ringgroupId":"1",
"ringgroupName":"Alle Telefone Buchhaltung",
"ringgroupStrategy":"ringall",
"ringgroupTimeout":"20",
"ringgroupObject":{
"48":
{"pk_ringgroupObjectId":"48",
"ringgroupObjectModuleId":"68",
"ringgroupObjectModule":"sippeer",
"ringgroupObjectsOrder":"0},
"49":
{"pk_ringgroupObjectId":"49",
"ringgroupObjectModuleId":"4",
"ringgroupObjectModule":"sippeer",
"ringgroupObjectsOrder":"0"},
"51":
{"pk_ringgroupObjectId":"51",
"ringgroupObjectModuleId":"143",
"ringgroupObjectModule":"sippeer",
"ringgroupObjectsOrder":"0"}
}}}
{"2":
{"pk_ringgroupId":"2",
"ringgroupName":"Alle Telefone Verkauf",
"ringgroupStrategy":"ringall",
"ringgroupTimeout":"20",
"ringgroupObject":{
"20":
{"pk_ringgroupObjectId":"20",
"ringgroupObjectModuleId":"68",
"ringgroupObjectModule":"sippeer",
"ringgroupObjectsOrder":"0},
"21":
{"pk_ringgroupObjectId":"21",
"ringgroupObjectModuleId":"4",
"ringgroupObjectModule":"sippeer",
"ringgroupObjectsOrder":"0"},
"22":
{"pk_ringgroupObjectId":"22",
"ringgroupObjectModuleId":"143",
"ringgroupObjectModule":"sippeer",
"ringgroupObjectsOrder":"0"}
}}}}

Einzelne Rufgruppen lassen sich mit der Angabe der pk_ringgroupId aufrufen.

Aufruf:

curl -k -H "Content-Type: application/json" -X POST -d
'{"token":"<token>","action":"getringgroup","pk_ringgroupId":8}'
https://192.168.1.20/awi/api/rest

Rückgabe:

{"status":200,"status_message":"peer pk_ringgroupId 8",
"data":
{
  "pk_ringgroupId":"8",
  "ringgroupName":"test3",
  "ringgroupStrategy":"ringall",
  "ringgroupTimeout":"20",
  "ringgroupObject":
  {
  "58":
  {"pk_ringgroupObjectId":"58",
  "ringgroupObjectModuleId":"131",
  "ringgroupObjectModule":"sippeer",
  "ringgroupObjectsOrder":"0"},
  "59":
  {"pk_ringgroupObjectId":"59",
  "ringgroupObjectModuleId":"132",
  "ringgroupObjectModule":"sippeer",
  "ringgroupObjectsOrder":"0"}
}}}

getsippeerssum

Diese Funktion gibt die Summen aller angelegten und angemeldeten SIP-Nebenstellen zurück.

Diese Funktion ist nur für Benutzer mit Administratorrechten verfügbar.

Aufruf:

curl -k -H "Content-Type: application/json" -X POST -d
'{"token":"<token>","action":"getsippeerssum"}'
 https://192.168.1.20/awi/api/rest

Rückgabe:

{
   "status": 200,
   "status_message": "sip peers summary",
   "data":
   {
      "all": 13,
      "registered": 4
   }
}

getsipregistrysum

Diese Funktion gibt die Summen aller angelegten und registrierten SIP-Leitungen zurück.

Diese Funktion ist nur für Benutzer mit Administratorrechten verfügbar.

Aufruf:

curl -k -H "Content-Type: application/json" -X POST -d
'{"token":"<token>","action":"getsipregistrysum"}'
 https://192.168.1.20/awi/api/rest

Rückgabe:

{
   "status": 200,
   "status_message": "sip registry summary",
   "data":
   {
      "all": 2,
      "registered": 0
   }
}

getsysteminfo

Diese Funktion liefert folgende Systeminformationen zurück:

Diese Funktion ist nur für Benutzer mit Administratorrechten verfügbar.

Aufruf:

curl -k -H "Content-Type: application/json" -X POST -d
'{"token":"<token>","action":"getsysteminfo"}'
 https://192.168.1.20/awi/api/rest

Rückgabe:

{
   "status": 200,
   "status_message": "system information",
   "data":
   {
      "cpu": "13.4%",
      "memory":
         {
            "all": "2004MB",
            "inUse": "369MB"
         },
      "diskSpace":
         {
            "all": "51GB",
            "inUse": "5.6GB"
         },
      "serialNumber": "654321",
      "awiVersion": "5.1",
      "updateAvailable": false
   }
}

gettrunk

Diese Funktion gibt sämtliche Leitungsnamen mit Id zurück.

Aufruf:

curl -k -H "Content-Type: application/json" -X POST -d
'{"token":"<token>","action":"gettrunk"}'
https://192.168.1.20/awi/api/rest

Rückgabe:

{"status":200,"status_message":
"All trunks",
"data":
[{"pk_trunkId":"1",
"name":"Trunk1",
"type":"ansitline flexSIP Comfort"},
{"pk_trunkId":"2",
"name":"Trunk2",
"type":"FritzBox"}]}

Einzelne Leitungen lassen sich mit der Angabe der pk_trunkId aufrufen. Sie finden hier die sleben Parameter, wie im Webinterface.

Aufruf:

curl -k -H "Content-Type: application/json" -X POST -d
'{"token":"<token>","action":"gettrunk","pk_trunkId":1}'
https://192.168.1.20/awi/api/rest

Rückgabe:

{
   "data" : {
      "active" : "0",
      "areacode" : "030",
      "calldeflection" : "1",
      "channeldriver" : "sip",
      "channels" : "10",
      "clipnoscreening" : "0",
      "codec" : [
         "alaw",
         "ulaw",
         "gsm"
      ],
      "directmedia" : "no",
      "dtmfmode" : "rfc4733",
      "enableexpensivezones" : "1",
      "host" : "auth.ansitline.de",
      "name" : "FlexSipComfort",
      "nat" : "yes",
      "pk_trunkId" : "150",
      "providerLogin" : "0001499XXXXXXX",
      "sipnumber" : "00493012345678",
      "tlssrtp" : "0",
      "transportprotocol" : "udp",
      "type" : "ansitline flexSIP Comfort"
   },
   "status" : 200,
   "status_message" : "trunk pk_trunkId 1"
}

getvoicemailoncuserbytoken

Mit dieser Funktion können die Anrufbeantwortereinstellungen für die persönliche Nebenstelle eines Benutzers aufgerufen werden. Es handelt sich um die selben Einstellungen, die über das Webinterface der Telefonanlage nach Login als eingeschränkter Benutzer im Menü Benutzer > Anrufbeantworter möglich sind. Die Authentifizierung erfolgt über den Token des Benutzers.

Abbildung vip/bearbeiten.jpg

Aufruf:

curl -k -H "Content-Type: application/json" -X POST -d  
'{"token":"<token>","action":"getvoicemailoncuserbytoken"}'
https://192.168.1.20/awi/api/rest

Rückgabe:

{
   "status" : 200,
   "status_message" : "voicemails settings for user Benutzer with id 83",
   "data" : {
     "active" : "0",
     "id" : "1",
     "option_immediately_check" : "0",
     "option_ringtime_check" : "0",
     "option_ringtime_seconds" : "10",
     "option_timerange_check" : "1",
     "option_timerange_day_from" : "16",
     "option_timerange_day_to" : "17",
     "option_timerange_hour_from" : "17",
     "option_timerange_hour_to" : "17",
     "option_timerange_minutes_from" : "00",
     "option_timerange_minutes_to" : "16",
     "option_timerange_month_from" : "jul",
     "option_timerange_month_to" : "jul",
     "user" : "Benutzer"
   }

}

Beschreibung der Felder:

reload

Mit dieser Funktion kann die Konfiguration der gesamten Telefonanlage oder einzelner Bereiche neu eingelesen werden.

Aufruf (gesamt):

curl -k -H "Content-Type: application/json" -X POST -d
'{"token":"<token>","action":"reload"}'
https://192.168.1.17/awi/api/rest

Rückgabe:

{"status":200,"status_message":"all reloaded","data":null}

Aufruf (nur das SIP-Modul neuladen):

curl -k -H "Content-Type: application/json" -X POST -d
'{"token":"<token>","action":"reload","module":"SIP"}'
https://192.168.1.17/awi/api/rest

Rückgabe:

{"status":200,"status_message":"SIP module reloaded","data":null}

reloadprovisioning

Mit dieser Funktion kann die Konfiguration der Nebenstellen, die an der ansitel Telefonanlage angemeldet und per Autokonfiguration verknüpft sind, anhand der pk_peerId neugeladen werden.

Aufruf:

curl -k -H "Content-Type: application/json" -X POST -d
'{"token":"<token>","action":"reloadprovisioning","pk_peerId":1}'
https://192.168.1.17/awi/api/rest

Rückgabe:

{"status":200,"status_message":"configuration of peer Telefon1 with id 1 reloaded","data":null}

resetdialhistory

Mit dieser Funktion wird die Historie der Nebenstellen, die an der ansitel Telefonanlage angemeldet und per Autokonfiguration angebunden sind, anhand der Nebenstellennummer zurückgesetzt. Endgeräte, die diese Funktion nicht unterstützen, werden auf Werkseinstellungen zurückgesetzt.

Aufruf:

curl -k -H "Content-Type: application/json" -X POST -d
'{"token":"<token>","action":"resetdialhistory","peernumber":"42"}'
https://192.168.1.20/awi/api/rest

Rückgabe:

{"status":200,"status_message":"reset peernumber 42","data":null}

restartpeer

Mit dieser Funktion können Nebenstellen, die an der ansitel Telefonanlage angemeldet sind, anhand der pk_peerId neugestartet werden.

Aufruf:

curl -k -H "Content-Type: application/json" -X POST -d
'{"token":"<token>","action":"restartpeer","pk_peerId":1}'
https://192.168.1.20/awi/api/rest

Rückgabe:

{"status":200,"status_message":"peer Telefon1 with id 1 restarted","data":null}

runupdate

Mit dieser Funktion kann ein Systemupdate gestartet werden. Falls das Update erfolgreich installiert wurde, wird ein Rückgabewert mit dem Statuscode 200 zurückgegeben, andernfalls werden der Statuscode 400 und eine entsprechende Fehlermeldung angezeigt.

Diese Funktion ist nur für Benutzer mit Administratorrechten verfügbar.

Aufruf:

curl -k -H "Content-Type: application/json" -X POST -d
'{"token":"<token>","action":"runupdate"}'
 https://192.168.1.20/awi/api/rest

Rückgabe:

{
   "status": 200,
   "status_message": "System updated to awi version 5.1",
   "data": null
}

setcallfordwardingoncuserbytoken

Mit dieser Funktion können Weiterleitungen an persönlichen Nebenstellen von Benutzern gesetzt werden. Die persönliche Nebenstelle wird anhand des Benutzertokens identifiziert. Die Variable "destination" enthält die Zielrufnummer.

Ist die Variable "destination" leer oder "0" wird die Weiterleitung an dieser persönlichen Nebenstelle entfernt.

Aufruf Weiterleitung aktivieren/updaten:

curl -k -H "Content-Type: application/json" -X POST -d
'{"token":"<token>",
"action":"setcallfordwardingoncuserbytoken",
"destination":"03012345678"}' https://192.168.1.17/awi/api/rest

Rückgabe Weiterleitung aktivieren/updaten:

{"status":200,
"status_message":"callforwarding for onc user Benutzer2 with id 2 enabled\/updated",
"data":
{"pk_userId":2,
"userName":"Benutzer2",
"destination":"03012345678"}}

Aufruf Weiterleitung deaktivieren:

curl -k -H "Content-Type: application/json" -X POST -d
'{"token":"<token>",
"action":"setcallfordwardingoncuserbytoken",
"destination":"0"}'
https://192.168.1.17/awi/api/rest

Rückgabe Weiterleitung deaktivieren:

{"status":200,
"status_message":"callforwarding for onc user ansiteladmin with id 2 removed",
"data":
{"pk_userId":2,
"userName":"Benutzer2",
"destination":null}}

setcallfordwardingononcuser

Mit dieser Funktion können Weiterleitungen an persönlichen Nebenstellen von Benutzern gesetzt werden. Die persönliche Nebenstelle wird anhand der pk_userId des Benutzers identifiziert. Die Variable "destination" enthält die Zielrufnummer.

Ist die Variable "destination" leer oder "0" wird die Weiterleitung an dieser persönlichen Nebenstelle entfernt.

Aufruf Weiterleitung aktivieren/updaten:

curl -k -H "Content-Type: application/json" -X POST -d
'{"token":"<token>",
"action":"setcallfordwardingononcuser",
"pk_userId":2,
"destination":"03012345678"}' https://192.168.1.17/awi/api/rest

Rückgabe Weiterleitung aktivieren/updaten:

{"status":200,
"status_message":"callforwarding for onc user Benutzer2 with id 2 enabled\/updated",
"data":
{"pk_userId":2,
"userName":"Benutzer2",
"destination":"03012345678"}}

Aufruf Weiterleitung deaktivieren:

curl -k -H "Content-Type: application/json" -X POST -d
'{"token":"<token>",
"action":"setcallfordwardingononcuser",
"pk_userId":2,
"destination":"0"}'
https://192.168.1.17/awi/api/rest

Rückgabe Weiterleitung deaktivieren:

{"status":200,
"status_message":"callforwarding for onc user ansiteladmin with id 2 removed",
"data":
{"pk_userId":2,
"userName":"Benutzer2",
"destination":null}}

setcallfordwardingonpeer

Mit dieser Funktion können Weiterleitungen an Nebenstellen gesetzt werden. Die Nebenstelle wird anhand der pk_peerId identifiziert. Die Variable "destination" enthält die Zielrufnummer.

Ist die Variable "destination" leer oder "0" wird die Weiterleitung an dieser Nebenstelle entfernt.

Aufruf Weiterleitung aktivieren/updaten:

curl -k -H "Content-Type: application/json" -X POST -d
'{"token":"<token>",
"action":"setcallfordwardingonpeer",
"pk_peerId":3,
"destination":"017312345678"}'
 https://192.168.1.20/awi/api/rest

Rückgabe Weiterleitung aktivieren/updaten:

{"status":200,
"status_message":"callforwarding for peer Telefon1 with id 3 enabled/updated",
"data":
{"pk_peerId":3,
"peerName":"Telefon1",
"destination":"017312345678"}
}

Aufruf Weiterleitung deaktivieren:

curl -k -H "Content-Type: application/json" -X POST -d
'{"token":"<token>",
"action":"setcallfordwardingonpeer",
"pk_peerId":3,
"destination":"0"}'
 https://192.168.1.20/awi/api/rest

Rückgabe Weiterleitung aktivieren/updaten:

{"status":200,
"status_message":"callforwarding for peer Telefon1 with id 3 removed",
"data":
{"pk_peerId":3,
"peerName":"Telefon1",
"destination":null}}

setdndoncuserbytoken

Mit dieser Funktion kann der Anrufschutz an persönlichen Nebenstellen von Benutzern gesetzt werden. Die Nebenstelle wird anhand des Benutzertokens identifiziert. Enthält die Variable "dnd" den Wert "1", wird der Anrufschutz für diese persönliche Nebenstelle gesetzt. Wert "0" entfernt den Anrufschutz für diese persönliche Nebenstelle.

Aufruf Anrufschutz setzen:

curl -k -H "Content-Type: application/json" -X POST -d
'{"token":"<token>",
"action":"setdndoncuserbytoken",
"dnd":"1"}'
https://192.168.1.17/awi/api/rest

Rückgabe Anrufschutz setzen:

{"status":200,
"status_message":"dnd for onc user Benutzer2 with id 2 enabled",
"data":
{"pk_userId":2,
"userName":"Benutzer2",
"dnd":"1"}

Aufruf Anrufschutz entfernen:

curl -k -H "Content-Type: application/json" -X POST -d
'{"token":"<token>",
"action":"setdndoncuserbytoken",
"dnd":"0"}' https://192.168.1.17/awi/api/rest

Rückgabe Anrufschutz entfernen:

{"status":200,
"status_message":"dnd for onc user Benutzer2 with id 2 removed",
"data":
{"pk_userId":2,
"userName":"Benutzer2",
"dnd":null}}

setdndononcuser

Mit dieser Funktion kann der Anrufschutz an persönlichen Nebenstellen von Benutzern gesetzt werden. Die Nebenstelle wird anhand der pk_userId identifiziert. Enthält die Variable "dnd" den Wert "1", wird der Anrufschutz für diese persönliche Nebenstelle gesetzt. Wert "0" entfernt den Anrufschutz für diese persönliche Nebenstelle.

Aufruf Anrufschutz setzen:

curl -k -H "Content-Type: application/json" -X POST -d
'{"token":"<token>",
"action":"setdndononcuser",
"pk_userId":2,
"dnd":"1"}'
https://192.168.1.17/awi/api/rest

Rückgabe Anrufschutz setzen:

{"status":200,
"status_message":"dnd for onc user Benutzer2 with id 2 enabled",
"data":
{"pk_userId":2,
"userName":"Benutzer2",
"dnd":"1"}

Aufruf Anrufschutz entfernen:

curl -k -H "Content-Type: application/json" -X POST -d
'{"token":"<token>",
"action":"setdndononcuser",
"pk_userId":2,
"dnd":"0"}' https://192.168.1.17/awi/api/rest

Rückgabe Anrufschutz entfernen:

{"status":200,
"status_message":"dnd for onc user Benutzer2 with id 2 removed",
"data":
{"pk_userId":2,
"userName":"Benutzer2",
"dnd":null}}

setdndonpeer

Mit dieser Funktion kann der Anrufschutz an Nebenstellen gesetzt werden. Die Nebenstelle wird anhand der pk_peerId identifiziert. Enthält die Variable "dnd" den Wert "1", wird der Anrufschutz für diese Nebenstelle gesetzt. Wert "0" entfernt den Anrufschutz für diese Nebenstelle.

Aufruf Anrufschutz setzen:

curl -k -H "Content-Type: application/json" -X POST -d
'{"token":"<token>",
"action":"setdndonpeer",
"pk_peerId":3,
"dnd":"1"}' https://192.168.1.20/awi/api/rest

Rückgabe Anrufschutz setzen:

{"status":200,
"status_message":"dnd for peer Telefon3 with id 3 enabled",
"data":
{"pk_peerId":3,
"peerName":"Telefon3",
"dnd":"1"}}

Aufruf Anrufschutz entfernen:

curl -k -H "Content-Type: application/json" -X POST -d
'{"token":"<token>",
"action":"setdndonpeer",
"pk_peerId":3,
"dnd":"0"}'
https://192.168.1.17/awi/api/rest

Rückgabe Anrufschutz entfernen:

{"status":200,
"status_message":"dnd for peer Telefon3 with id 3 removed",
"data":
{"pk_peerId":3,
"peerName":"Telefon3",
"dnd":null}}

setpeersoncuserbytoken

Mit dieser Funktion können aktive Nebenstellen (peer) und Weiterleitungen (fwd) einer persönlichen Nebenstelle aktiviert/deaktiviert werden. Zum Aktivieren der Nebenstellen oder Weiterleitungen werden die jeweiligen Id benötigt. Diese können mit der Funktion "getpeersoncuserbytoken" abgefragt werden.

Alle zuvor aktivierten Nebenstellen und Weiterleitungen werden deaktiviert.

Die Identifizierung erfolgt per Benutzertoken.

Der "preset"-Parameter dient der Speicherung der Ursprungszuordnung für das Hotseating-System. Dieser kann in dem meisten Fällen mit dem Wert "1" belegt werden.

Aufruf:

curl -k -H "Content-Type: application/json" -X POST -d
'{"token":"<token>",
"action":"setpeersoncuserbytoken",
"preset":"0/1",
"peer":
{"1":
{"peerId":"126",
"active":"1"},
"2":
{"peerId":"139",
"active":"1"}
},
"fwd":
{"1":
{"fwdId":"91",
"active":"1"},
"2":
{"fwdId":"92",
"active":"1"}
}
}' https://192.168.1.20/awi/api/rest

Rückgabe:

{"status":200,
"status_message":"onc peers of user Benutzer1 with id 119 set",
"data":"1"}

setvoicemailoncuserbytoken

Mit dieser Funktion können die Anrufbeantwortereinstellungen für die persönliche Nebenstelle eines Benutzers in der Telefonanlage gesetzt werden. Es handelt sich um die selben Einstellungen, die über das Webinterface der Telefonanlage nach Login als eingeschränkter Benutzer im Menü Benutzer > Anrufbeantworter möglich sind. Die Authentifizierung erfolgt über den Token des Benutzers.

Abbildung vip/bearbeiten.jpg

Aufruf:

curl -k -H "Content-Type: application/json" -X POST -d  
'{"token":"<token>",
"action":"setvoicemailoncuserbytoken",
"active" : "0",
"option_timerange_hour_from" : "1",
"option_immediately_check" : "0",
"option_ringtime_seconds" : "5",
"option_timerange_day_from" : "1",
"option_timerange_month_to" : "jan",
"option_timerange_month_from" : "jan",
"option_timerange_day_to" : "1",
"option_timerange_minutes_to" : "00",
"option_ringtime_check" : "1",
"option_timerange_hour_to" : "0",
"option_timerange_check" : "0",
"option_timerange_minutes_from" : "12"
}'
https://192.168.1.20/awi/api/rest

Beschreibung der Felder:

Rückgabe:

{
   "data" : "Benutzer",
   "status_message" : "voicemails settings for user Benutzer with id 83 saved",
   "status" : 200
}


writeconfig

Mit dieser Funktion sämtliche Änderungen in das System geschrieben werden.

Aufruf:

curl -k -H "Content-Type: application/json" -X POST -d
'{"token":"<token>","action":"writeconfig"}'
https://192.168.1.20/awi/api/rest

Rückgabe:

{"status":400,"status_message":"config is written","data":null}