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 Range | Destination | Protocol | Comments |
---|---|---|---|
85.115.9.96/27 | jtel Cloud Instance Telephony IP Address | TCP 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:
Setting | Value | Comments |
---|---|---|
Name | jtelacd | For example. |
Type | Provider | |
Transport | TCP | |
AOR | <user>@<jtel_cloud_telephony_ip_address> | The user on the jtel side AT the jtel system public IP address for telephony. |
Local Hostname | The 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 Server | stun.innovaphone.com | |
Authorization Username | <user> | The user on the jtel side. |
Password | <password> | The password on the jtel side. |
Media-Relay | On | |
SRTP Keyx Exchange | No encryption. | Encryption will be supported in a future release. |
No ICE | Set to ON (checked). | |
No RTCP-MUX | Set to ON (checked). | |
To Header when Sending INVITE | Called Party | |
From Header when Sending INVITE | CGPN in user part of URI | |
Identity Header when Sending INVITE | CGPN in user part of URI | |
Internal Registration Protocol | H.323/TLS | |
Gatekeeper Address | 127.0.0.1 | |
Name | jtelacd | For example. Must be same as object created in PBX (see below). |
Number | 9 | For 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:
Setting | Value | Comments |
---|---|---|
Type | Gateway | |
Name, Long Name, Display Name | jtelacd | For 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:
Setting | Value | Comments |
---|---|---|
Name | Innovaphone Cloud | |
Country Code | 49 | For example |
Area Code | 199 | For example |
Internal Number Length | 2 | For example |
Outgoing Trunk Selection Incoming Trunk Selection | Set to same trunk group | |
Incoming Caller | E.164 incoming | |
Incoming Called | E.164 incoming | |
Outgoing Caller | Universal Formatter | |
Converter Parameter | ${NUM.X164}@12345.innovaphone.com | For example. Replace with the DOMAIN of the PBX, not the FQDN of the PBX instance. |
Outgoing Called | Universal Formatter | |
Converter Parameter | sofia/gateway/internal::12345.innovaphone.com/${NUM.X164}@12345.innovaphone.com;fs_path=sip:12345-pbx.innovaphone.com;transport=tcp | Note, in two places the DOMAIN is required, in the last place, which forms the route, the FQDN is required. |
Outgoing send P-Preferred-Identity | Set 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.