.wpb_animate_when_almost_visible { opacity: 1; }

Device Status - CAMARA Sandbox - Orange lab 0.1 Beta

Easily integrate functionality to confirm the roaming status of devices, enhancing app features related to connectivity

API deprecated Contact us

enter image description here

Please use new CAMARA API:

  • For roaming status: Device Roaming Status - CAMARA Sandbox - Orang Lab
  • For reachability status: Device Reachability Status - CAMARA Sandbox - Orang Lab

Getting started



Disclaimer (sandboxed version)

This CAMARA Sandbox - Device Status - Orange lab API is a sandboxed version of the production-grade CAMARA - Device Status API.

It is running in our lab, against a small list of lab-specific mobile devices (see list of phone number available for test below).

This API could be suspended or upgraded any time without any notice.

Introduction

The CAMARA Device Status API provides a standardized mechanism for getting mobile equipment connectivity status.

Subscribe to the API

You get the Authorization header credentials when you register your application on the Orange Developer Console.

API Authentication

Note: In production environment the Device Status API will require a 3-Legged OAuth 2.0 flow but as this implementation is provided on Orange Lab, the API works with a 2-Legged OAuth.

HTTPS requests to the REST API are protected with 2-Legged OAuth. To learn more about how Orange Developer handles authentication, please refer to our documentation.

In short, you will use your Orange Developer Authorization header as authorization_header for the Basic authentication with Orange Developer.

curl -X POST \
-H "Authorization: {{ authorization_header }}" \
-d "grant_type=client_credentials" \
https://api.orange.com/oauth/v3/token

In response, you will get an access_token.

{
       "token_type": "Bearer",
       "access_token": "66AeYJF8eJQ...2SjkFg9LB1LePC",
       "expires_in": "3600"
}

Go up

API Description

Summary of resources

This API has one resource status. status provide in the response information about mobile equipment connectivity.

Summary of methods and URL

Use case of operationURL method
I want to retrieve connectivity information of a device from a MSISDN number, an external identifier or an IP (+port)POST "https://api.orange.com/camara/device-status/orange-lab/v0/status"

Go up

Summary of request body parameters

NameDescriptionTypeMandatory
ueIdAn object with four fields, each of them make possible to pass ueId in different format: externalId , msisdn, ipv4Addr and ipv6AddrSee below information on ueIdYes
uePortIf a public ipv4Addr is provided for the ueId object, the port allocated to the UE must also be specifiedstringNo
eventTypeDetermines the connectivity event to check its status, for now only "UE_ROAMING_STATUS" is supportedstringYes

Following table provide details about ueId:

NameTypeFormat
externalIdstringExternal Identifier format of the GPSI
msisdnstringSubscriber number in E.164 format (starting with country code). Optionally prefixed with '+'
Ipv4AddrstringIPv4 address may be specified in form <address/mask>. If address we expect an IPv4 number in dotted-quad form 1.2.3.4. Only this exact IP number will match the flow control rule. If address/mask - an IP number as above with a mask width of the form 1.2.3.4/24.
Ipv6AddrstringIPv6 address, following IETF 5952 format, may be specified in form <address/mask>. If address, the /128 subnet is optional for single address (2001:db8:85a3:8d3:1319:8a2e:370:7344 or 2001:db8:85a3:8d3:1319:8a2e:370:7344/128). If address/mask, an IP v6 number with a mask (2001:db8:85a3:8d3::0/64 or 2001:db8:85a3:8d3::/64 )

Lab implementation specific:

Only requests using msisdn are operational. Following phone number must be used (other will not work):

msisdn
33699901031
33699901032
33699901033
33699901034
33699901035
33699901036
33699901037
33699901038
33699901039
33699901040

Go up

Request mobile equipment status (from msisdn)

Request
curl -X POST "https://api.orange.com/camara/device-status/orange-lab/v0/status"
-H "Authorization: Bearer {your access token}"
-H "Cache-Control: no-cache"  
-H 'accept: application/json'
-H 'Content-Type: application/json'
-d  '{
"ueId": {
    "msisdn": "33699901031"
},
"eventType": "UE_ROAMING_STATUS"
}
Response
200 Contains information about current connectivity status
Content-Type: application/json
{
"ueId": {
    "msisdn": "33699901031"
},
"eventType": "UE_ROAMING_STATUS",
"eventStatus": "ROAMING_OFF"
}

Go up

Fields description

The response features the attributes provided in the request.

Additionally an attribute evenStatus valued either to ROAMING_ON or ROAMING_OFF provides device roaming status.

Go up

Most frequent errors

If invalid input are provided in particular for the ueId a 400 error is triggered.

HTTP/1.1 400 Invalid input
Content-Type: application/json
{
  "code": "INVALID_ARGUMENT",
  "status": 400,
  "message": "Invalid input"
}

if a non-managed msisdn is provided a 500 error is triggered.

HTTP/1.1 500 Internal Server Error
Content-Type: application/json
{
  "status": 500,
  "code": "INTERNAL_SERVER_ERROR",
  "message": "Internal Server Error, status code 500"
}

There are some cases where your client application will no longer gain access to API resources, and get an error back.

Please check the following points:

  • Here, you attempt to use an expired or revoked access_token and you get an invalid token error. You will have to request a new access_token. As an example:
HTTP/1.1 401 Unauthorized
Content-Type: application/json
{
  "code": "UNAUTHENTICATED",
  "status": 401,
  "message": "Authorization failed: ..."
}
  • Here, you removed your subscription to the API so that the capability to generate an access_token is not allowed anymore. As an example:
HTTP/1.1 403 Forbidden
Content-Type: application/json
{
  "code": "PERMISSION_DENIED",
  "status": 403,
  "message": "Operation not allowed: ..."
}

Looking for support ?

Facing technical issue when using this API ? please contact us

Go up

History of document

Version of the documentmodification datedescription of modifications
1.028/11/2023initialization by Orange CAMARA APIs team
20/08/2024API deprecated as split in several API in CAMARA

Go up