5 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.

5.1 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

5.2 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

5.3 Mögliche action-Parameter

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

5.3.1 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":"06bf088a0d9501cd53829fa086a9a32d",
"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"}

5.3.2 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":"a5c70c5f76e10daefb726991db2f61bf","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"}

5.3.3 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":"06bf088a0d9501cd53829fa086a9a32d",
"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"}

5.3.4 delincomingroute

Mit dieser Funktion können eingehende Route auf Basis der ID (pk_incomingrouteId) in der ansitel Telefonanlage gelöscht werden:

Aufruf:

curl -k -H "Content-Type: application/json" -X POST -d
'{"token":"06bf088a0d9501cd53829fa086a9a32d",
"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}

5.3.5 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":"a5c70c5f76e10daefb726991db2f61bf","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}

5.3.6 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":"06bf088a0d9501cd53829fa086a9a32d","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}

5.3.7 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":"06bf088a0d9501cd53829fa086a9a32d",
"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}

5.3.8 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":"a5c70c5f76e10daefb726991db2f61bf",
"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}

5.3.9 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":"06bf088a0d9501cd53829fa086a9a32d",
"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}

5.3.10 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":"06bf088a0d9501cd53829fa086a9a32d",
"action":"factoryreset",
"code":"12345"
}'
 https://192.168.1.20/awi/api/rest

Rückgabe:

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

5.3.11 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":"06bf088a0d9501cd53829fa086a9a32d",
"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.

5.3.12 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":"06bf088a0d9501cd53829fa086a9a32d",
"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":"06bf088a0d9501cd53829fa086a9a32d",
"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.

5.3.13 getcallfordwardingonpeer

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

Aufruf:

curl -k -H "Content-Type: application/json" -X POST -d
'{"token":"06bf088a0d9501cd53829fa086a9a32d",
"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":"06bf088a0d9501cd53829fa086a9a32d",
"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.

5.3.14 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":"a5c70c5f76e10daefb726991db2f61bf","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:

5.3.15 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":"a5c70c5f76e10daefb726991db2f61bf","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"
         }
      }
   }
}

Beschreibung der Felder:

5.3.16 getdialplannumber

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

Aufruf:

curl -k -H "Content-Type: application/json" -X POST
-d '{"token":"06bf088a0d9501cd53829fa086a9a32d",
"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":"06bf088a0d9501cd53829fa086a9a32d",
"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"}}

5.3.17 getdate

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

Aufruf:

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

Rückgabe:

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

5.3.18 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":"06bf088a0d9501cd53829fa086a9a32d",
"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.

5.3.19 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":"06bf088a0d9501cd53829fa086a9a32d",
"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":"06bf088a0d9501cd53829fa086a9a32d",
"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.

5.3.20 getdndonpeer

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

Aufruf:

curl -k -H "Content-Type: application/json" -X POST -d
'{"token":"06bf088a0d9501cd53829fa086a9a32d",
"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":"06bf088a0d9501cd53829fa086a9a32d",
"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.

5.3.21 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":"06bf088a0d9501cd53829fa086a9a32d","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":"06bf088a0d9501cd53829fa086a9a32d",
"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"}
}

5.3.22 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":"06bf088a0d9501cd53829fa086a9a32d","action":"getldaponcuserbytoken","linepos":"0","range":"1"}'
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
}

5.3.23 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":"06bf088a0d9501cd53829fa086a9a32d",
"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"}}

5.3.24 getoncuser

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

Aufruf:

curl -k -H "Content-Type: application/json" -X POST -d
'{"token":"06bf088a0d9501cd53829fa086a9a32d",
"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":"06bf088a0d9501cd53829fa086a9a32d",
 "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"}}

5.3.25 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":"a5c70c5f76e10daefb726991db2f61bf","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":"a5c70c5f76e10daefb726991db2f61bf","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"}}

5.3.26 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":"a5c70c5f76e10daefb726991db2f61bf","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
}

5.3.27 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":"a5c70c5f76e10daefb726991db2f61bf","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":"a5c70c5f76e10daefb726991db2f61bf","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"}
}}}

5.3.28 gettrunk

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

Aufruf:

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

Rückgabe:

{"status":200,"status_message":
"All trunks",
"data":
[{"pk_trunkId":"1",
"trunkName":"Trunk1"},
{"pk_trunkId":"2",
"trunkName":"Trunk2"}]}

Einzelne Leitungen lassen sich mit der Angabe der pk_trunkId aufrufen.

Aufruf:

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

Rückgabe:

{"status":200,"status_message":
"trunk pk_trunkId 1",
"data":
{"pk_trunkId":"1",
"trunkName":"Trunk1"}}

5.3.29 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":"a5c70c5f76e10daefb726991db2f61bf","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" : {
      "option_timerange_hour_from" : "1",
      "option_immediately_check" : "0",
      "option_ringtime_seconds" : "5",
      "user" : "Benutzer",
      "option_timerange_day_from" : "1",
      "active" : "0",
      "option_timerange_month_to" : "jan",
      "id" : "83",
      "option_timerange_weekday_to" : "mon",
      "option_timerange_month_from" : "jan",
      "option_timerange_day_to" : "1",
      "option_timerange_minutes_to" : "0",
      "option_ringtime_check" : "1",
      "option_timerange_weekday_from" : "mon",
      "option_timerange_hour_to" : "0",
      "option_timerange_check" : "0",
      "option_timerange_minutes_from" : "12"
   }

}

Beschreibung der Felder:

5.3.30 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":"a5c70c5f76e10daefb726991db2f61bf","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":"a5c70c5f76e10daefb726991db2f61bf","action":"reload","module":"SIP"}'
https://192.168.1.17/awi/api/rest

Rückgabe:

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

5.3.31 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":"a5c70c5f76e10daefb726991db2f61bf","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}

5.3.32 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":"a5c70c5f76e10daefb726991db2f61bf","action":"resetdialhistory","peernumber":"42"}'
https://192.168.1.20/awi/api/rest

Rückgabe:

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

5.3.33 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":"a5c70c5f76e10daefb726991db2f61bf","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}

5.3.34 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":"06bf088a0d9501cd53829fa086a9a32d",
"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":"06bf088a0d9501cd53829fa086a9a32d",
"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}}

5.3.35 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":"06bf088a0d9501cd53829fa086a9a32d",
"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":"06bf088a0d9501cd53829fa086a9a32d",
"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}}

5.3.36 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":"06bf088a0d9501cd53829fa086a9a32d",
"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":"06bf088a0d9501cd53829fa086a9a32d",
"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}}

5.3.37 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":"06bf088a0d9501cd53829fa086a9a32d",
"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":"06bf088a0d9501cd53829fa086a9a32d",
"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}}

5.3.38 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":"06bf088a0d9501cd53829fa086a9a32d",
"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":"06bf088a0d9501cd53829fa086a9a32d",
"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}}

5.3.39 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":"06bf088a0d9501cd53829fa086a9a32d",
"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":"06bf088a0d9501cd53829fa086a9a32d",
"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}}

5.3.40 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":"06bf088a0d9501cd53829fa086a9a32d",
"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"}

5.3.41 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":"a5c70c5f76e10daefb726991db2f61bf",
"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_weekday_to" : "mon",
"option_timerange_month_from" : "jan",
"option_timerange_day_to" : "1",
"option_timerange_minutes_to" : "0",
"option_ringtime_check" : "1",
"option_timerange_weekday_from" : "mon",
"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
}


5.3.42 writeconfig

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

Aufruf:

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

Rückgabe:

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