Showing posts with label CMS. Show all posts
Showing posts with label CMS. Show all posts

Wednesday, September 14, 2016

Cisco Meeting Server (CMS) Part 3 - Integrating Core and Edge

Part 1 - Making your first call to CMS
Part 2 - XMPP and CMA
Part 3 - Integrating Core and Edge

In this post, we are going to deploy a single CMS Core and a single CMS Edge.

1. Certificate for Core and Edge.  Like our previous posts in Part 1 and Part 2, I am going to use self signed cert for simplicity.

CMS Core:
pki selfsigned core

CMS Edge:
pki selfsigned edge

2. Using WinSCP or other SCP / sFTP client, to download the CMS Core certificate, in my case it is core.crt.  Copy this Core certificate to Edge using your SCP client.

In CMS Edge, create the loadbalancer service module and config the certificate for authentication.  You will need to trust your Core certificate in Edge.  In my lab it is a single NIC Edge.

CMS Edge:
loadbalancer auth edge edge.key edge.crt core.crt
loadbalancer trunk edge a:4999
loadbalancer trunk public edge a:5222 lo:5222
loadbalancer enable edge

3. In CMS Core, you are required to create a trunk.  Similarly, copy the edge certificate to core, you will need to trust the edge certificate in core.  10.1.90.124 is the edge IP address.

CMS Core:
trunk create trunktoedge xmpp
trunk auth trunktoedge core.key core.crt edge.crt
trunk edge trunktoedge 10.1.90.124 4999
trunk enable trunktoedge

You can use the trunk debug trunktoedge (the tag name) to see whether the trunk is up on core.

4. There are a few service modules can be enabled on Edge.  If you want to enable SIP Edge, you will need the below command:

CMS Edge:
sipedge public a:5061
sipedge public-ip 1.2.3.4
sipedge private a:3061
sipedge certs sipedge.key sipedge.crt

5. Another service module on Edge is TURN.  To enable TURN, you will need the following command:

turn credentials admin admin xcloud-hk.com
turn listen a
turn public-ip 1.2.3.4
turn enable

From the web user interface, you can enter the details under "TURN Server settings".  TURN Server Address (Server) is the intenal server IP address that the Call Bridge will use to access the TURN server.  TURN Server Address (Clients) is the public IP address assigned to the TURN server that external clients will use to access the TURN server.

6.  Finally you can enable the webbridge module on Edge, it will allow internal and external participants to join a meeting with their WebRTC capable browser.

First of all, certificate again.

CMS Edge:
pki csr webbridge CN:webbridge.xcloud-hk.com
pki selfsigned webbridge

Copy your core CallBridge certificate to Edge, your webbridge service needs to trust your callbridge cert.  Then config the webbridge parameters:
webbridge listen a
webbridge certs webbridge.key webbridge.crt
webbridge trust callbridge.crt
webbridge http-redirect enable
webbridge enable

After configured, you can type "webbridge" to check your configured parameters.

Go to Configuration > General, enter your Guest account client URI, for example https://webbridge.xcloud-hk.com.  The Guest Account JID domain is your domain, in my case it is xcloud-hk.com

Depends on your DNS settings, you might need a few static entries on your edge, to resolve the xmpp SRV to your local loadbalancer FQDN.

dns add rr "loadbalancer.xcloud-hk.com. IN A 10.1.90.124"
dns add rr "_xmpp-server._tcp.xcloud-hk.com. 86400 IN SRV 0 5 5269 loadbalancer.xcloud-hk.com."
dns add rr "_xmpp-client_tcp.xcloud-hk.com. 86400 IN SRV 0 5 5222 loadbalancer.xcloud-hk.com."

After all these steps, you should be able to use webbridge to join a meeting with WebRTC.

In summary, we have covered the integration between core and edge in a single split deployment, and we can enable a few service modules on edge including SIP Edge, TURN and WebBridge, for different call scenarios especially for B2B calls.

Part 1 - Making your first call to CMS
Part 2 - XMPP and CMA
Part 3 - Integrating Core and Edge

Cisco Meeting Server (CMS) Part 2 - XMPP and CMA

Part 1 - Making your first call to CMS
Part 2 - XMPP and CMA
Part 3 - Integrating Core and Edge

In our previous post - Part 1 (http://pandaeatsbamboo.blogspot.hk/2016/08/making-your-first-call-to-cisco-meeting.html), we have set up the basics of CMS, and making our first call to CMS Space, as well as allowing multiparty video conference with CMS.  Now let's do something else.  XMPP is a service module that is running on CMS Core, one of its function is to allow Cisco Meeting App (CMA) to login and be one of the soft client running on PC / Mac / mobile devices.  We are going to go through a few steps and at the end of this post, you will be able to login your CMA and start to make calls.

Setting up XMPP in CMS Core

1. If you want to create a csr for your CA to sign, you can use the pki csr command.  In my lab I am using self sign cert to make it simple.

pki selfsigned xmpp

2. Configure xmpp interface, certs and domain.

xmpp listen a
xmpp certs xmpp.key xmpp.crt
xmpp domain uc.xcloud-hk.com
xmpp enable

You can check your configuration with the command xmpp status, or simply xmpp.

 

3. Add Callbridge to your XMPP.  You can give your callbridge a name / tag, it doesn't necessary the hostname / FQDN of your callbridge.

xmpp callbridge add cms



Remember the name of your callbridge that was entered and the secret.  If you forgot that, you can use this command to check.

xmpp callbridge list



4. Switch back to the web interface, under Configuration > General, under XMPP server settings, enter the domain, server address, call bridge name and secret that you have got from step #3.



5. Make sure you have the DNS A and SRV records are created in your internal DNS.

In my lab it is a Windows one.

Host record of my CMS core:


SRV record (_xmpp-client, _xmpp-server):






6. AD integration.  There is no option to create local users on CMS, this is my lab AD information that I've put in the CMS UI.



7. Get your Cisco Meeting App (CMA) from Cisco.com if you are testing with your Windows / Mac.  For mobile app you can download it from iTunes store / Google Play Store for free.

Sign in with your AD credential.  The format of the username will be username@domain



This is what you should expect after logging in:


After these steps, you are now able to login and use CMA as your client for calls.

Part 1 - Making your first call to CMS
Part 2 - XMPP and CMA
Part 3 - Integrating Core and Edge




Wednesday, August 31, 2016

Cisco Meeting Server (CMS) Part 1 - Making your first call to CMS

Part 1 - Making your first call to CMS
Part 2 - XMPP and CMA
Part 3 - Integrating Core and Edge

Cisco has rebranded the Acano solution to Cisco Meeting Server (CMS), and this post is target to help you to set basic things up and make your first call to a CMS Space and CMS IVR.

1. First of all, deploy your CMS ova with vCenter.

 

2.  It will spend around 10-15 minutes for the first time boot up.



3.  Login via CLI.  Default credential is admin/admin.  You are required to change your CMS admin password for the first time login.



4. You can check your interface configuration with the command "ipv4 a".  By default DHCP is enabled.



Set your static IP address with the command "ipv4 a add 10.1.90.123/24 10.1.90.254", in my case 10.1.90.123 is the IP address of my CMS, 10.1.90.254 is the default gateway.



Check your interface configuration again with the command "ipv4 a".



5.  You can config your DNS server settings with the command "dns add forwardzone . 10.1.90.10", which will forward all the DNS query (. means all domain) to my DNS server 10.1.90.10.



Check your DNS configuration with the command "dns".



6. Create self-signed cert for HTTPS web admin with the command "pki selfsigned webadmin".  In this case webadmin will be the filename of your self-signed cert.



7. Config web admin interface access.

webadmin certs webadmin.key webadmin.crt
webadmin listen a 443
webadmin restart
webadmin enable



Try to access your web admin page:



Login with your admin credential:



You will see there is a warning saying that CMS is running in evaluation mode as no license is installed.



8. If you are going to enable WebBridge (accessible by the WebRTC client), we have to change the web admin listening port from 443/tcp to something else, say for example 445/tcp.

webadmin disable
webadmin listen a 445
webadmin enable



9. Copy the license file to CMS via sFTP or SCP.  In my case I used my mac built in sftp client and upload the file to CMS.

sftp admin@10.1.90.123
put cms.lic

10. Enable and config CallBridge, which is the core components for all the audio and video call terminations.

pki selfsigned callbridge
callbridge certs callbridge.key callbridge.crt
callbridge listen a
callbridge restart



11. Login the admin page again, you should seen something similar to mine below.



12. Enable IVR, in my case my IVR number is 8224, so when you make a call to 8224, you will see the default Cisco background and listen to the default IVR prompt.  The IVR number can be configured in Configuration > General > IVR Numeric ID.



13. You can also create your Space to call in, so that you don't need to key in any Call ID by calling the IVR, by directly calling to the Space.



14.  You will need to create your SIP trunk on UCM, pointing to CMS.  In my case it is a lab environment and I am using a non-secure setting so I don't need to deal with the certs.





The destination address is your CMS address.  You will need to choose the Telepresence Conferencing SIP Profile.  No Normalization Script is required.


Extracted from the guide:


15. Config your route pattern.  In my case my pattern is 822[45].



Try to place your test call.  You should now able to call your IVR number (8224 in my case) and Space number (8225 in my case) from your UCM-registered devices.



Part 1 - Making your first call to CMS
Part 2 - XMPP and CMA
Part 3 - Integrating Core and Edge