Introduction
This is a basic guide to enable calling from a CUCM to FCSDK.
This guide assumes you have sufficient CUCM knowledge to do:
- Configure CUCM trunks
- Configure routing patterns
- Configure SIP Normalization scripts
- Configure Address Mode
For these steps we will be using an FCSDK user 1001@fcsdk.registration.domain as an example. You will also need to know the FCSDK SIP/Registration/Control domain:
https://<fcsdk address>:9990/ --> Profiles --> SIP --> Application Routers --> FCSDKgatewayAppRouter --> Controlled domains.
Trials Environment: The SIP domain will be registrar.trial.cafex.com
FCSDK calling to CUCM
1) Add an Outbound SIP Servers to FCSDK configuration
Go to https://fcsdk_server/web_plugin_framework/webcontroller/admin/
You can add the SIP Url of the CUCM on even the SIP Url for fcsdk_server.
2) Call the full URI
To call from FCSDK to CUCM you will need to ensure there is a trunk to the FCSDK IP on CUCM, which is created in step 2 above. Other than that you simply need to dial the full SIP URI in FCSDK, i.e.
sip:<EXT>@<IP_OF_CUCM>
Note: If you added the IP of the CUCM as the outbound SIP server you can dial the extension directly: <EXT>
3)Confirm Address Mode
Under certain circumstances CUCM requires that FAS presents an IP address over the cluster-address. This can be achieved by setting the External Address Mode: to load-balancer. Profiles --> SipServlets --> Configuration --> SIP External Address Mode
CUCM calling to FCSDK
Method 1
1) Create a Normalization script
You will need to create a normalization script that will be applied to the CUCM trunk.
Device > Device Settings > SIP Normalization Script
This will alter the SIP message to change the hosts part of destination addresses to be what FCSDK expects. The script for our example user is as follows:
M = {}
function M.outbound_INVITE(msg)
local method, ruri, ver = msg:getRequestLine()
local uri = string.gsub(ruri, "@(.*):%d+", "@%1")
msg:setRequestUri(uri)
end
return M
You would alter the script to reflect your FCSDK registration/SIP domain.
2) Create a trunk on the CUCM to the FCSDK.
On the CUCM configure a trunk to point to the IP of the FCSDK with a 100x routing pattern, and remember to apply the normalisation script from step 1.
3) Now you can call your FCSDK user's number (e.g. 1001) from a Cisco device.
Login to the FCSDK Sample (http://192.168.8.65:8080/fusion-web) and call the user's number from a Cisco device.
4) ONLY FOR THE TRIALS ENVIRONMENT: Move IP address in controlled domains
If you are using the Trials Environment you may need to move the FCSDK IP address from the TrialEnvAppRouter to the FCSDKGatewayAppRouter under:
https://<fcsdk address>:9990/ --> Profiles --> SIP --> Application Routers --> FCSDKgatewayAppRouter --> Controlled domains.
Method 2
Calls initiated from CUCM typically append :5060 onto the domain of the Request URI. For example:
INVITE sip:1001@172.31.250.52:5060
RFC3261 mandates that the domains 172.31.250.52:5060 is not equivalent to 172.31.250.52. Thus we must add the domain including the port to the FAS controlled domain & make sure the user's registration contains the port.
1) Add the Controlled Domain to include :5060
Go to: https://fcsdk_server:9990
Go to: Profiles -> ha -> Subsystems -> SIP -> Application Routers
2) Add an extra Name to include the existing Controlled Domain and include :5060
3) A FCSDK User must be configured to create it's contact including this new domain. This is done in the client application by altering the JSON payload when creating the User:
Comments
0 comments
Please sign in to leave a comment.