IncomingPhoneNumbers

An IncomingPhoneNumber instance resource represents a Restcomm phone number

The IncomingPhoneNumbers list resource represents an account’s Restcomm phone numbers. You can POST to the list resource to provision a new Restcomm number. To find a new number to provision use the subresources of the AvailablePhoneNumbers resource.

You can move phone numbers between two Restcomm accounts if you’re using subaccounts. For details, see Exchanging Numbers Between Subaccounts.

Provisioning a phone number is a two-step process. First, you must find an available phone number to provision using the subresources of the AvailablePhoneNumbers resource. Second, you must POST to the IncomingPhoneNumbers list resource, documented below.

IncomingPhoneNumber Instance Resource

Resource URI

/2012-04-24/Accounts/{AccountSid}/IncomingPhoneNumbers/{IncomingPhoneNumberSid}

Resource Properties

Property

Description

Sid

A 34 character string that uniquely identifies this resource.

DateCreated

The date that this resource was created, given as GMThttp://www.ietf.org/rfc/rfc2822.txt[RFC 2822] format.

DateUpdated

The date that this resource was last updated, given as GMThttp://www.ietf.org/rfc/rfc2822.txt[RFC 2822] format.

FriendlyName

A human readable descriptive text for this resource, up to 64 characters long. By default, the FriendlyName is a nicely formatted version of the phone number.

AccountSid

The unique id of the Account responsible for this phone number.

PhoneNumber

The incoming phone number. e.g., +16175551212 (E.164 format)

ApiVersion

Calls to this phone number will start a new RCML session with this API version.

VoiceCallerIdLookup

Look up the caller’s caller-ID name from the CNAM database ($0.01 per look up). Either true or false.

VoiceUrl

The URL Restcomm will request when this phone number receives a call.

VoiceMethod

The HTTP method Restcomm will use when requesting the above Url. Either GET or POST.

VoiceFallbackUrl

The URL that Restcomm will request if an error occurs retrieving or executing the RCML requested by Url.

VoiceFallbackMethod

The HTTP method Restcomm will use when requesting the VoiceFallbackUrl. Either GET or POST.

StatusCallback

The URL that Restcomm will request to pass status parameters (such as call ended) to your application.

StatusCallbackMethod

The HTTP method Restcomm will use to make requests to the StatusCallback URL. Either GET or POST.

VoiceApplicationSid

The 34 character sid of the application Restcomm should use to handle phone calls to this number. If a VoiceApplicationSid is present, Restcomm will ignore all of the voice urls above and use those set on the application.

VoiceApplicationName

The application name.

SmsUrl

The URL Restcomm will request when receiving an incoming SMS message to this number.

SmsMethod

The HTTP method Restcomm will use when making requests to the SmsUrl. Either GET or POST.

SmsFallbackUrl

The URL that Restcomm will request if an error occurs retrieving or executing the RCML from SmsUrl.

SmsFallbackMethod

The HTTP method Restcomm will use when requesting the above URL. Either GET or POST.

SmsApplicationSid

The 34 character sid of the application Restcomm should use to handle SMSs sent to this number. If a SmsApplicationSid is present, Restcomm will ignore all of the SMS urls above and use those set on the application.

SmsApplicationName

The application name.

UssdUrl

The URL Restcomm will request when receiving an incoming USSD request to this number.

UssdMethod

The HTTP method Restcomm will use when making requests to the UssdUrl. Either GET or POST.

UssdFallbackUrl

The URL that Restcomm will request if an error occurs retrieving or executing the RCML from UssdUrl.

UssdFallbackMethod

The HTTP method Restcomm will use when requesting the above URL. Either GET or POST.

UssdApplicationSid

The 34 character sid of the application Restcomm should use to handle USSD requests to this number. If a UssdApplicationSid is present, Restcomm will ignore all of the Ussd urls above and use those set on the application.

UssdApplicationName

The application name.

ReferUrl

The URL Restcomm will request when receiving a SIP Refer request to this number.

ReferMethod

The HTTP method Restcomm will use when making requests to the ReferUrl. Either GET or POST.

ReferApplicationSid

The 34 character sid of the application Restcomm should use to handle SIP Refer requests to this number. If a ReferApplicationSid is present, Restcomm will ignore all of the Refer urls above and use those set on the application.

ReferApplicationName

The application name.

Capabilities

This is a set of boolean properties that indicate whether a phone number can receive calls or messages. Possible capabilities are Voice, SMS, and MMS with each having a value of either true or false.

Uri

The URI for this resource, relative to https://api.Restcomm.com.

HTTP Methods

HTTP GET
HTTP POST and PUT

Tries to update the incoming phone number’s properties, and returns the updated resource representation if successful. The returned response is identical to that returned above when making a GET request.

Optional Parameters

You may specify one or more of the following parameters to update this phone number’s respective properties:

Parameter

Description

FriendlyName

A human readable description of the new incoming phone number resource, with maximum length 64 characters.

ApiVersion

Calls to this phone number will start a new RCML session with this API version - 2012-04-24

VoiceUrl

The URL that Restcomm should request when somebody dials the phone number.

VoiceMethod

The HTTP method that should be used to request the VoiceUrl. Either GET or POST.

VoiceFallbackUrl

A URL that Restcomm will request if an error occurs requesting or executing the RCML defined by VoiceUrl.

VoiceFallbackMethod

The HTTP method that should be used to request the VoiceFallbackUrl. Either GET or POST.

StatusCallback

The URL that Restcomm will request to pass status parameters (such as call ended) to your application.

StatusCallbackMethod

The HTTP method Restcomm will use to make requests to the StatusCallback URL. Either GET or POST.

VoiceCallerIdLookup

Do a lookup of a caller’s name from the CNAM database and post it to your app. Either true or false.

VoiceApplicationSid

The 34 character sid of the application Restcomm should use to handle phone calls to this number. If a VoiceApplicationSid is present, Restcomm will ignore all of the voice urls above and use those set on the application instead.

SmsUrl

The URL that Restcomm should request when somebody sends an SMS to the new phone number.

SmsMethod

The HTTP method that should be used to request the SmsUrl. Either GET or POST.

SmsFallbackUrl

A URL that Restcomm will request if an error occurs requesting or executing the RCML defined by SmsUrl.

SmsFallbackMethod

The HTTP method that should be used to request the SmsFallbackUrl. Either GET or POST.

SmsApplicationSid

The 34 character sid of the application Restcomm should use to handle SMSs sent to this number. If a SmsApplicationSid is present, Restcomm will ignore all of the SMS urls above and use those set on the application instead.

AccountSid

The unique 34 character id of the account to which you wish to transfer this phone number.

HTTP DELETE

Release this phone number from your account. Restcomm will no longer answer calls to this number, and you will stop being billed the monthly phone number fee. The phone number will eventually be recycled and potentially given to another customer, so use with care. If you make a mistake, contact us. We may be able to give you the number back. If successful, returns an HTTP 204 response with no body.

IncomingPhoneNumbers List Resource

Resource URI

/2012-04-24/Accounts/{AccountSid}/IncomingPhoneNumbers

HTTP Methods

HTTP GET

Returns a list of IncomingPhoneNumber resource representations, each representing a phone number given to your account. The list includes paging information.

List Filters

The following query string parameters allow you to limit the list returned. Note, parameters are case-sensitive:

Parameter

Description

PhoneNumber

Only show the incoming phone number resources that match this pattern. You can specify partial numbers and use '*' as a wildcard for any digit.

FriendlyName

Only show the incoming phone number resources with friendly names that exactly match this name.

Beta

Include phone numbers new to the Restcomm platform. Possible values are either true or false. Default is true.

HTTP POST

Purchases a new phone number for your account. If a phone number is found for your request, Restcomm will add it to your account and bill you for the first month’s cost of the phone number. If Restcomm cannot find a phone number to match your request, you will receive an HTTP 400 with Restcomm error code. To find an available phone number to POST, use the subresources of the AvailablePhoneNumbers list resource.

Required Parameters

Your request must include exactly one of the following parameters:

Parameter

Description

PhoneNumber

The phone number you want to purchase. The number should be formatted starting with a '+' followed by the country code and the number inhttp://en.wikipedia.org/wiki/E.164[E.164] format e.g., '+15105555555'. You must include either this or an AreaCode parameter to have your POST succeed.

AreaCode

The desired area code for your new incoming phone number. Any three digit, US or Canada area code is valid. Restcomm will provision a random phone number within this area code for you. You must include either this or a PhoneNumber parameter to have your POST succeed. (US and Canada only)

If you include both parameters, we will use the AreaCode parameter and ignore the PhoneNumber provided.

Optional Parameters

Your request may include the following parameters:

Parameter

Description

FriendlyName

A human readable description of the new incoming phone number. Maximum 64 characters. Defaults to a formatted version of the number.

VoiceUrl

The URL that Restcomm should request when somebody dials the new phone number.

VoiceMethod

The HTTP method that should be used to request the VoiceUrl. Must be either GET or POST. Defaults to POST.

VoiceFallbackUrl

A URL that Restcomm will request if an error occurs requesting or executing the RCML at Url.

VoiceFallbackMethod

The HTTP method that should be used to request the VoiceFallbackUrl. Either GET or POST. Defaults to POST.

StatusCallback

The URL that Restcomm will request to pass status parameters (such as call ended) to your application.

StatusCallbackMethod

The HTTP method Restcomm will use to make requests to the StatusCallback URL. Either GET or POST. Defaults to POST.

VoiceCallerIdLookup

Do a lookup of a caller’s name from the CNAM database and post it to your app. Either true or false. Defaults to false.

VoiceApplicationSid

The 34 character sid of the application Restcomm should use to handle phone calls to the new number. If a VoiceApplicationSid is present, Restcomm will ignore all of the voice urls above and use those set on the application.

SmsUrl

The URL that Restcomm should request when somebody sends an SMS to the phone number.

SmsMethod

The HTTP method that should be used to request the SmsUrl. Must be either GET or POST. Defaults to POST.

SmsFallbackUrl

A URL that Restcomm will request if an error occurs requesting or executing the RCML defined by SmsUrl.

SmsFallbackMethod

The HTTP method that should be used to request the SmsFallbackUrl. Must be either GET or POST. Defaults to POST.

SmsApplicationSid

The 34 character sid of the application Restcomm should use to handle SMSs sent to the new number. If a SmsApplicationSid is present, Restcomm will ignore all of the SMS urls above and use those set on the application.

ApiVersion

The Restcomm REST API version to use for incoming calls made to this number. If omitted, uses 2012-04-24.

If successful, Restcomm responds with a representation of the new phone number that was assigned to your account.  

HTTP PUT

Not Supported.

HTTP DELETE

Not Supported.

Local IncomingPhoneNumber Factory Resource

POSTing to this resource allows you to request a new local phone number be added to your account. This subresource represents only Local phone numbers.

Resource URI

/2012-04-24/Accounts/{YourAccountSid}/IncomingPhoneNumbers/Local

HTTP Methods

HTTP GET

Returns a list of local <IncomingPhoneNumber> elements, each representing a local (not toll-free) phone number given to your account, under an <IncomingPhoneNumbers> list element that includes paging information. Works exactly the same as the IncomingPhoneNumber resource, but filters out toll-free numbers.

HTTP POST

Adds a new phone number to your account. If a phone number is found for your request, Restcomm will add it to your account and bill you for the first month’s cost of the phone number. If Restcomm can’t find a phone number to match your request, you will receive an HTTP 400 with Restcomm error code. To find an available phone number to POST, use the subresources of the AvailablePhoneNumbers list resource.

Required Parameters

Your request must include PhoneNumber. We do not support AreaCode for this subresource:

Parameter

Description

PhoneNumber

The phone number you want to purchase. The number should be formatted starting with a '+' followed by the country code and the number inhttp://en.wikipedia.org/wiki/E.164[E.164] format e.g., '+15105555555'. You must include this to have your POST succeed.

Optional Parameters

The optional parameters for this request are exactly the same as POSTing directly to the IncomingPhoneNumbers/ resource. If successful, Restcomm responds with a representation of the new phone number that was assigned to your account.  

HTTP PUT

Not Supported.

HTTP DELETE

Not Supported.

Toll-Free IncomingPhoneNumber Factory Resource

This subresource represents only toll-free phone numbers. POSTing to this resource allows you to request a new toll-free phone number be added to your account.

Resource URI

/2012-04-24/Accounts/{YourAccountSid}/IncomingPhoneNumbers/TollFree

HTTP Methods

HTTP GET

Returns a list of local <IncomingPhoneNumber> elements, each representing a toll-free phone number given to your account, under an <IncomingPhoneNumbers> list element that includes paging information. Works exactly the same as the IncomingPhoneNumber resource, but filters out all numbers that aren’t toll-free.

HTTP POST

Adds a new phone number to your account. If a phone number is found for your request, Restcomm will add it to your account and bill you for the first month’s cost of the phone number. If Restcomm can’t find a phone number to match your request, you will receive an HTTP 400 with Restcomm error code. To find an available phone number to POST, use the subresources of the AvailablePhoneNumbers list resource.

Required Parameters

Your request must include PhoneNumber. We do not support AreaCode for this subresource:

Parameter

Description

PhoneNumber

The phone number you want to purchase. The number should be formatted starting with a '+' followed by the country code and the number in E.164 format e.g., '+15105555555'. You must include this to have your POST succeed.

Optional Parameters

The optional parameters for this request are exactly the same as POSTing directly to the IncomingPhoneNumbers/ resource. If successful, Restcomm will respond with a representation of the new phone number that was assigned to your account.  

HTTP PUT

Not Supported.

HTTP DELETE

Not Supported.

Mobile IncomingPhoneNumber Factory Resource

POSTing to this resource allows you to request a new mobile phone number be added to your account. This subresource represents only mobile phone numbers, i.e. not toll free numbers or local numbers.

Resource URI

/2012-04-24/Accounts/{YourAccountSid}/IncomingPhoneNumbers/Mobile

HTTP Methods

HTTP GET

Returns a list of local <IncomingPhoneNumber> elements, each representing a mobile phone number given to your account, under an <IncomingPhoneNumbers> list element that includes paging information. Works exactly the same as the IncomingPhoneNumber resource, but filters out local and toll free numbers.

HTTP POST

Adds a new phone number to your account. If a phone number is found for your request, Restcomm will add it to your account and bill you for the first month’s cost of the phone number. If Restcomm can’t find a phone number to match your request, you will receive an HTTP 400 with Restcomm error code. To find an available phone number to POST, use the subresources of the AvailablePhoneNumbers list resource.

Required Parameters

Your request must include PhoneNumber. We do not support AreaCode for this subresource:

Parameter

Description

PhoneNumber

The phone number you want to purchase. The number should be formatted starting with a '+' followed by the country code and the number inhttp://en.wikipedia.org/wiki/E.164[E.164] format e.g., '+15105555555'. You must include this to have your POST succeed.

Optional Parameters

The optional parameters for this request are exactly the same as POSTing directly to the IncomingPhoneNumbers/ resource. If successful, Restcomm will respond with a representation of the new phone number that was assigned to your account.  

HTTP PUT

Not Supported.

HTTP DELETE

Not Supported.  

Attach a phone number to an application

Attach a DID phone number to an application

This one uses the default application

curl -X POST  https://administrator%40company.com:77f8c12cc7b8f8423e5c38b035249166@127.0.0.1/restcomm/2012-04-24/Accounts/ACae6e420f425248d6a26948c17a9e2acf/IncomingPhoneNumbers.json -d "PhoneNumber=+15105555555" -d "VoiceUrl=https://127.0.0.1/restcomm/demos/hello-play.xml"

Result of the above command

{
  "sid": "PNdd7a0a0248244615978bd5781598e5eb",
  "account_sid": "ACae6e420f425248d6a26948c17a9e2acf",
  "friendly_name": "15105555555",
  "phone_number": "+15105555555",
  "voice_url": "https://127.0.0.1/restcomm/demos/hello-play.xml",
  "voice_method": "POST",
  "voice_fallback_method": "POST",
  "status_callback_method": "POST",
  "voice_caller_id_lookup": false,
  "date_created": "2013-10-04T17:42:02.500-06:00",
  "date_updated": "2013-10-04T17:42:02.500-06:00",
  "sms_method": "POST",
  "sms_fallback_method": "POST",
  "api_version": "2012-04-24",
  "uri": "/restcomm/2012-04-24/Accounts/ACae6e420f425248d6a26948c17a9e2acf/IncomingPhoneNumbers/PNdd7a0a0248244615978bd5781598e5eb.json"
If you are trying to attach a number that you didn’t look up previously from Restcomm API – AvailablePhoneNumbers ie if you want to attach a number that is Virtual (SIP Number) and not attached to a particular DID provider, you need to add -D "isSIP=true" as show below

Attach a SIP Virtual number to an application

This one uses the default application

curl -X POST  https://administrator%40company.com:77f8c12cc7b8f8423e5c38b035249166@127.0.0.1/restcomm/2012-04-24/Accounts/ACae6e420f425248d6a26948c17a9e2acf/IncomingPhoneNumbers.json -d "PhoneNumber=1234" -d "VoiceUrl=https://127.0.0.1/restcomm/demos/hello-play.xml" -d "isSIP=true"

Result of the above command

{
  "sid": "PNdd7a0a0248244615978bd5781598e5eb",
  "account_sid": "ACae6e420f425248d6a26948c17a9e2acf",
  "friendly_name": "234",
  "phone_number": "+1234",
  "voice_url": "https://127.0.0.1/restcomm/demos/hello-play.xml",
  "voice_method": "POST",
  "voice_fallback_method": "POST",
  "status_callback_method": "POST",
  "voice_caller_id_lookup": false,
  "date_created": "2013-10-04T17:42:02.500-06:00",
  "date_updated": "2013-10-04T17:42:02.500-06:00",
  "sms_method": "POST",
  "sms_fallback_method": "POST",
  "api_version": "2012-04-24",
  "uri": "/restcomm/2012-04-24/Accounts/ACae6e420f425248d6a26948c17a9e2acf/IncomingPhoneNumbers/PNdd7a0a0248244615978bd5781598e5eb.json"

Delete a phone number

You have to get the SID of the phone and use curl to delete as follows

curl -X DELETE https://administrator%40company.com:77f8c12cc7b8f8423e5c38b035249166@127.0.0.1/restcomm/2012-04-24/Accounts/ACae6e420f425248d6a26948c17a9e2acf/IncomingPhoneNumbers/PNdd7a0a0248244615978bd5781598e5eb

List of phone numbers

Gets all numbers created using IncomingPhoneNumbers.json

curl -X GET  https://administrator%40company.com:77f8c12cc7b8f8423e5c38b035249166@127.0.0.1/restcomm/2012-04-24/Accounts/ACae6e420f425248d6a26948c17a9e2acf/IncomingPhoneNumbers.json