> For the complete documentation index, see [llms.txt](https://prosbcdocs.telcobridges.com/llms.txt). Markdown versions of documentation pages are available by appending `.md` to page URLs; this page is available as [Markdown](https://prosbcdocs.telcobridges.com/telecom-references/telecom-concepts/restcomm-cpaas-platform-configuration.md).

# Restcomm CPaaS Platform Configuration

> **Applies to:** SBC 3.0, 3.1

## Introduction

This document provides instructions on how to configure a ProSBC to interoperate with the [Restcomm](https://www.restcomm.com/) Communications Platform as a Service (CPaaS) system.

Restcomm CPaaS platform provides programmable voice-like IVR service, programmable SMS service, mail, chat services and more, for service providers and enterprise customers.

[ProSBC](https://telcobridges.com/sbc/products/prosbc/) acts as a Session Border Controller to protect the Restcomm CPaaS platform and provides many essential protection features for voice communications over SIP and RTP traffic.

With the following example below, a softphone - PhonerLite, and a real mobile phone are used to provide an originating endpoint that will call through [ProSBC](https://telcobridges.com/sbc/products/prosbc/) to the Restcomm platform.

Furthermore, in this example, [ProSBC](https://telcobridges.com/sbc/products/prosbc/) AWS is used, but in fact, any [ProSBC](https://telcobridges.com/sbc/products/prosbc/) platform will be able to achieve the same setup.

## Network Diagram and Call Scenarios

This section provides the simplified network diagram containing Softphone, Mobile phone, service provider, ProSBC, Restcomm system, and the call flow scenarios.

1. **Restcomm welcome announcement** - PhonerLite sends 'direct call' to ProSBC with called information 1234\@52.60.132.155 where 52.60.132.155 is the public Elastic IP used for voip interface in this ProSBC AWS. ProSBC makes a mapping of the called number to <1234@netg2.restcomm.com> before making an outgoing call to the Restcomm platform. PhonerLite hears a welcome greeting from Restcomm platform. Configuration steps (available in different sections of PhonerLite Configuration, ProSBC Configuration below):![Restcomm welcome announcement](https://docs.telcobridges.com/w/images/d/d9/Restcomm_welcome_announcement.PNG)
2. [PhonerLite direct call setting](https://github.com/telcobridges-main/tmedia-wiki/tree/main/reference/concepts/restcomm-cpaas-platform-configuration/README.md#phonerlite-direct-call-setting)
3. [ProSBC Local NAT Traversal setting](https://github.com/telcobridges-main/tmedia-wiki/tree/main/reference/concepts/restcomm-cpaas-platform-configuration/README.md#prosbc-local-nat-traversal-setting)
4. [ProSBC NAPs setting](https://github.com/telcobridges-main/tmedia-wiki/tree/main/reference/concepts/restcomm-cpaas-platform-configuration/README.md#prosbc-naps-setting)
5. [ProSBC routes setting](https://github.com/telcobridges-main/tmedia-wiki/tree/main/reference/concepts/restcomm-cpaas-platform-configuration/README.md#prosbc-routes-setting)
6. [ProSBC route called remapping](https://github.com/telcobridges-main/tmedia-wiki/tree/main/reference/concepts/restcomm-cpaas-platform-configuration/README.md#prosbc-route-called-remapping)
7. **IVR DTMF acknowledgement** - PhonerLite sends 'direct call' to ProSBC with called information 1234\@52.60.132.155. ProSBC makes a mapping of called number to <1234@netg2.restcomm.com> before making outgoing call to Restcomm platform. PhonerLite hears welcome greeting from Restcomm platform with IVR to acknowledge the DTMF tones pressed. Same configuration steps as in call flow 1 with addition of [PhonerLite DTMF setting](https://github.com/telcobridges-main/tmedia-wiki/tree/main/reference/concepts/restcomm-cpaas-platform-configuration/README.md#phonerlite-direct-call-setting) :![IVR DTMF acknowledgement](https://docs.telcobridges.com/w/images/0/0d/IVR_DTMF_acknowledgement.PNG)
8. **IVR DID full number** - PhonerLite sends 'direct call' to ProSBC with called information 1234\@52.60.132.155. ProSBC makes a mapping of called number to <13105894010@netg2.restcomm.com> before making outgoing call to Restcomm platform. PhonerLite hears welcome greeting from Restcomm platform with IVR to acknowledge the DTMF tones pressed. Same configuration steps as in call flow 1 with addition of [PhonerLite DTMF setting](https://github.com/telcobridges-main/tmedia-wiki/tree/main/reference/concepts/restcomm-cpaas-platform-configuration/README.md#phonerlite-direct-call-setting) :![IVR DID full number](https://docs.telcobridges.com/w/images/b/b9/IVR_DID_full_number.PNG)
9. **Calling DID registered called number with IVR** - Mobile phone is calling an international number 902129550330 through Mobile operator and SIP provider. 902129550330 is a registered number in SIP provider. ProSBC registering to this SIP provider (NAP) as a user for this 90212955033 and act as a termination point for this number. Once Mobile phone calling 902129550330, ProSBC detecting this called the number and forward it out, with remapping called number of <13105894010@netg2.restcomm.com> to Restcomm platform. This call will also get IVR DTMF acknowledgment for DTMF tones pressed. Same configuration steps as in call flow 3 with addition of [ProSBC register to NAP with username and password](https://github.com/telcobridges-main/tmedia-wiki/tree/main/reference/concepts/restcomm-cpaas-platform-configuration/README.md#prosbc-register-to-nap-with-username-and-password) :![Calling DID registered called number with IVR](https://docs.telcobridges.com/w/images/d/dd/Calling_DID_registered_called_number_with_IVR.PNG)
10. **IVR DID full number outside call** - PhonerLite sends 'direct call' to ProSBC with called information 1234\@52.60.132.155. ProSBC makes a mapping of called number to <13105894010@netg2.restcomm.com> before making an outgoing call to Restcomm platform. PhonerLite hears a welcome greeting from Restcomm platform with IVR to ask the caller to press '1', which will enable a separate call back from Restcomm platform. This separate call back is then routed through ProSBC to the SIP provider and Telecom operator and onto an outside number of a Telecobridges office phone number set. Same configuration steps as in call flow 4. ![IVR DID full number outside call](https://docs.telcobridges.com/w/images/f/f7/IVR_DID_full_number_outside_call.PNG)

## PhonerLite Configuration

This section provides PhonerLite configurations for the solution.

### PhonerLite direct call setting

The following section are required to set up the outbound direct call on PhonerLite,

**Server** setting: All Proxy/Registrar and Domain/Realm are empty

![PhonerLite direct call Server](https://docs.telcobridges.com/w/images/5/51/PhonerLite_direct_call_Server.png)

**User** setting

![PhonerLite direct call User](https://docs.telcobridges.com/w/images/c/c5/PhonerLite_direct_call_User.png)

**Network** setting

![PhonerLite direct call Network](https://docs.telcobridges.com/w/images/3/3d/PhonerLite_direct_call_Network.png)

**Codecs and DTMF** setting

![PhonerLite direct call Codecs and DTMF](https://docs.telcobridges.com/w/images/4/47/PhonerLite_direct_call_Codecs_and_DTMF.png)

For dial out, we can specify the called number as 1234\@52.60.132.155 where 52.60.132.155 is the public Elastic IP used for voip interface in this ProSBC AWS.

## ProSBC Configuration

This section provides ProSBC configurations for the solution.

### ProSBC Local NAT Traversal setting

* See NAT section in [Toolpack:Tsbc IP Network Settings 3.0](https://github.com/telcobridges-main/tmedia-wiki/tree/main/tmedia/configuration/freesbc-prosbc-web-portal-3-0-ip-network-settings/README.md)

### ProSBC NAPs setting

* See [Create SIP NAP](https://github.com/telcobridges-main/tmedia-wiki/tree/main/tmedia/configuration/allocating-a-sip-network-access-point-nap/README.md) and [Create Open NAP](https://github.com/telcobridges-main/tmedia-wiki/tree/main/tmedia/configuration/allocating-a-sip-open-network-access-point-nap/README.md)
  * Here, SIP NAP will be Restcomm NAP and Service Provider NAP, and Open NAP will be from PhonerLite

### ProSBC register to NAP with username and password

* The following sections need to be set, as in example below,

![ProSBC register to NAP with username and password](https://docs.telcobridges.com/w/images/6/68/ProSBC_register_to_NAP_with_username_and_password.png)

* In this example, ProSBC is behind NAT, so local NAT method is set

### ProSBC routes setting

* See [Create a Static Route](https://github.com/telcobridges-main/tmedia-wiki/tree/main/tmedia/configuration/creating-a-first-call-route/README.md)
  * Here, we set the SIP end points (NAP) to and from as required in each call flow scenario

### ProSBC route called remapping

* The following section needs to be set, and depending what called number remapping required as in each call flow scenario,

![ProSBC route called remapping](https://docs.telcobridges.com/w/images/1/12/ProSBC_route_called_remapping.png)

### References

* [Communications Platform as a Service(CPaas)](https://www.telestax.com/)
* [Cloud based Voice and SMS APIs](https://www.restcomm.com/)


---

# Agent Instructions
This documentation is published with GitBook. GitBook is the documentation platform designed so that both humans and AI agents can read, navigate, and reason over technical content effectively. Learn more at gitbook.com.

## Querying This Documentation
If you need additional information that is not directly available in this page, you can query the documentation dynamically by asking a question.

Perform an HTTP GET request on the current page URL with the `ask` query parameter, and the optional `goal` query parameter:

```
GET https://prosbcdocs.telcobridges.com/telecom-references/telecom-concepts/restcomm-cpaas-platform-configuration.md?ask=<question>&goal=<endgoal>
```

`ask` is the immediate question: it should be specific, self-contained, and written in natural language.
`goal` is optional and describes the broader end goal you are ultimately trying to accomplish on behalf of the user. GitBook uses it to tailor the answer towards what is most useful for that goal.

The response will contain a direct answer to the question and relevant excerpts and sources from the documentation.

Use this mechanism when the answer is not explicitly present in the current page, you need clarification or additional context, or you want to retrieve related documentation sections.
