Background

The Innovaphone Cloud PBX uses a reverse proxy setup.

Registrations are used in each direction - one registration to jtel and one registration from jtel, to connect the two systems together.

Compatibility

REQURIES JTEL TELEPHONY SERVER V9

Firewall Rules (jtel Side)

The following firewall rules are required on the jtel side. These will be configured on request by jtel.

IP RangeDestinationProtocolComments
85.115.9.96/27jtel Cloud Instance Telephony IP AddressTCP and UDP

Allow in / out to innovaphone cloud.

ufw allow from 85.115.9.96/27

Users (jtel Side)

One user will be required for the connection. 

The password on the jtel side can be set in the file:

<configuration_directory>/directory/default/<user>.xml

Connection from Innovaphone PBX to jtel System

SIP Connection

Create a SIP connection in the PBX:

The following settings will be required:

SettingValueComments
NamejtelacdFor example.
TypeProvider
TransportTCP
AOR<user>@<jtel_cloud_telephony_ip_address>The user on the jtel side AT the jtel system public IP address for telephony.
Local HostnameThe FQDN for the PBX.For example 01234-pbx.innovaphone.com
Proxy<jtel_cloud_telephony_ip_address>The jtel system public IP address for telephony.
STUN Serverstun.innovaphone.com
Authorization Username<user>The user on the jtel side.
Password<password>The password on the jtel side.
Media-RelayOn
SRTP Keyx ExchangeNo encryption.Encryption will be supported in a future release.
No ICESet to ON (checked).
No RTCP-MUXSet to ON (checked).
To Header when Sending INVITECalled Party
From Header when Sending INVITECGPN in user part of URI
Identity Header when Sending INVITECGPN in user part of URI
Internal Registration ProtocolH.323/TLS
Gatekeeper Address127.0.0.1
NamejtelacdFor example. Must be same as object created in PBX (see below).
Number9For example. Is the number used to route to the jtel system.
Password<password_in_pbx>The password of the object created in the PBX (see below).

PBX Object

Create a PBX object as follows:

The following settings will be required:

SettingValueComments
TypeGateway
Name, Long Name, Display NamejtelacdFor example. Needs to be the same as the name used to register internally above.
Password<password_in_pbx>

With these settings, it will be now possible to route calls TO the jtel system using the number 9 as a prefix.

Routes

The following routes will be required. These are examples only:

Connection from jtel System to Innovaphone PBX

In the reverse direction, a registration from jtel to Innovaphone is required. This can be done directly with a second object in the PBX, by including the relevant profile either in the internal or external sip profile settings.

jtel Configuration

Here is an example configuration:

<include>
  <gateway name="12345.innovaphone.com">

  <!--/// account username *required* ///-->
  <param name="username" value="jtelacd2"/>

  <!--/// auth realm: *optional* same as gateway name, if blank ///-->
  <param name="realm" value="12345.innovaphone.com"/>

  <!--/// username to use in from: *optional* same as  username, if blank ///-->
  <param name="from-user" value="jtelacd2"/>

  <!--/// domain to use in from: *optional* same as  realm, if blank ///-->
  <param name="from-domain" value="12345.innovaphone.com"/>

  <!--/// account password *required* ///-->
  <param name="password" value="jtelacd2"/>

  <param name="gw-auth-acl" value="domains"/>

  <!--/// extension for inbound calls: *optional* same as username, if blank ///-->
  <param name="extension" value="1000"/>

  <!--/// proxy host: *optional* same as realm, if blank ///-->
  <param name="proxy" value="12345-pbx.innovaphone.com;transport=tcp"/>

  <!--/// send register to this proxy: *optional* same as proxy, if blank ///-->
  <param name="register-proxy" value="12345-pbx.innovaphone.com;transport=tcp"/>

  <!--/// expire in seconds: *optional* 3600, if blank ///-->
  <param name="expire-seconds" value="60"/>

  <!--/// do not register ///-->
  <param name="register" value="true"/>

  <!-- which transport to use for register -->
  <param name="register-transport" value="tcp"/>

  <!--How many seconds before a retry when a failure or timeout occurs -->
  <param name="retry-seconds" value="30"/>

  <!--Use the callerid of an inbound call in the from field on outbound calls via this gateway -->
  <param name="caller-id-in-from" value="true"/>

  <!--extra sip params to send in the contact-->
  <!--<param name="contact-params" value=""/>-->

  <!-- Put the extension in the contact -->
  <!--<param name="extension-in-contact" value="true"/>-->

  <!--send an options ping every x seconds, failure will unregister and/or mark it down-->
  <!-- <param name="ping" value="25"/> -->

  <param name="cid-type" value="rpid"/>

  <!--rfc5626 : Enable rfc5626 ///-->
  <!--<param name="rfc-5626" value="true"/>-->

  <!--rfc5626 : extra sip params to send in the contact-->
  <!--<param name="reg-id" value="1"/>-->
  </gateway>
</include>

PBX Object

Create a PBX object, in the same way as above, for the second user.

jtel Portal Settings

The following settings will be needed in the jtel portal, to enable the trunk:

SettingValueComments
NameInnovaphone Cloud
Country Code49For example
Area Code199For example
Internal Number Length2For example
Outgoing Trunk Selection
Incoming Trunk Selection
Set to same trunk group
Incoming CallerE.164 incoming
Incoming CalledE.164 incoming
Outgoing CallerUniversal Formatter
Converter Parameter${NUM.X164}@12345.innovaphone.comFor example. Replace with the DOMAIN of the PBX, not the FQDN of the PBX instance.
Outgoing CalledUniversal Formatter
Converter Parametersofia/gateway/internal::12345.innovaphone.com/${NUM.X164}@12345.innovaphone.com;fs_path=sip:12345-pbx.innovaphone.com;transport=tcpNote, in two places the DOMAIN is required, in the last place, which forms the route, the FQDN is required.
Outgoing send P-Preferred-IdentitySet to on (checked).
P-Preferred-Identity (Dialler / click to dial - leg to agent)<sip:%P.Asserted.Identity.Number%@12345.innovaphone.com>Use the DOMAIN of the PBX, not the FQDN.
P-Preferred-Identity (All other cases)<sip:%IFEQUALSTR(%CALLDIRECTION%,0,%CALLER%,%Service.ServiceNumbersRootNumber_%)%@12345.innovaphone.com>Use the DOMAIN of the PBX, not the FQDN.

Monitoring the PBX

The PBX is monitored using a SOAP connection and the FQDN of the PBX as in standard Innovaphone installations.

  • No labels