Thursday, August 5, 2010

CTS System - DTLS Call analysis

As of now CTS codecs supports 2 methods for securing Media traffic: SRTP and DTLS, in this section we are going to describe DTLS protocol and the way it works with CTS units. This article refers what is needed to enable DTLS it does not cover other security protocols used by CUCM, CTMS or CTS, to obtain more information consult TelePresence security guide in CCO.
http://www.cisco.com/en/US/docs/solutions/Enterprise/Video/telepresence.html#wp41946

DTLS
Datagram Transport Layer Security (DTLS) provides communication security for datagram protocols. DTLS is based on Transport Layer Security (TLS) protocol. This datagram-compatible version of the protocol is specifically designed to be similar to TLS with the minimal amount of changes needed to fix problems created by the reordering or loss of packets. There are two main areas that unreliability creates problems for TLS:
  • The traffic encryption layer does not allow individual packets to be decrypted, there are two inter-record dependencies:


    • Cryptographic context is chained between records
    • A Message Authentication Code (MAC) that includes a sequence number provides anti-replay and message reordering protection, but the sequence numbers are implicit in the records
  • The handshake layer breaks if messages are lost because it depends on them being transmitted reliably for these two reasons:


    • The handshake is a lockstep cryptographic handshake requiring messages to be transmitted and received in a defined order, causing a problem with potential reordering and message loss
    • Fragmentation can be a problem because the handshake messages are potentially larger then any given datagram
The first problem caused by the inter-packet dependencies can be solved by using a method employed in the Secure Internet Protocol (IPsec) by adding explicit state to each individual record.
To solve the issue of packet loss DTLS employs a simple retransmission timer. Figure 1 below illustrates the basic concept. The client is expecting to see the HelloVerifyRequest message from the server. If the timer expires then the client knows that either the ClientHello or the HelloVerifyRequest was lost and retransmits.


In TelePresence solution it does not matter the number of codecs in the system only primary codecs will perform dTLS handshake, IP Phones are not associated in the process. In every TelePresence call two dTLS handhsakes occur, one for each stream (video and audio)

DTLS reuses almost all the protocol elements of TLS with minor but important modifications for it to work properly with datagram transport,

A TLS client initiates the handshake by sending the ClientHello message. This message contains the TLS version, a list of algorithms and compression methods that the client will accept and a random nonce used for anti- replay.
The server responds with The Server- Hello contains the server’s choice of version and algorithms and a random nonce. The Certificate contains the server’s certificate chain. The ServerHelloDone is sim- ply a marker message to indicate that no other messages are forthcoming. In more complicated handshakes other messages would appear between the Certificate and the ServerHelloDone messages.
Then send the ChangeCipherSpec message to indicate that it is changing to the newly negotiated protection suite.


Sunday, July 25, 2010

Tandberg - Cisco Integration

After Tandberg acquisition, there has been different questions in our external alias (ask-telepresence-technical )and Cisco NetPro forum regarding the interoperability of Tandberg products and existing Cisco ones. In general one of most important questions is:
"What exactly is going to be included in our roadmap? "

We all want to know what is going to be supported, what is not, we want to make sure that if we acquire an specific product in the next few months is not going to be EoL soon, we also want to know what will happen with my existing installed Cisco TP equipment, etc.

For the next few months I will be updating this blog with information regarding Tandberg and Cisco integration which will help you to deploy both products smoothly, as well as making reference for all the information in our site (www.cisco.com) for the latest updates.

Tuesday, July 20, 2010

CTS Manager - CURL Browsing

To verify WebServer connection using SSL, try the following:

curl -u scheduler:C1sco123 https://172.16.154.21/exchange/ -k

You will see a Security Warning message from that web page only using SSL mode in case remote web server is configured for HTTP SSL

You can use curl for HTTP troubleshooting issues check:
 http://curl.haxx.se/docs/httpscripting.html

Monday, July 19, 2010

B2B - ASR/GSR SBC Basic call analysis

In order to debug SIP messages arriving to GSR SBC, please follow these steps:

GSR SBC

RP/0/9/CPU0:ciscotxbu-mysbc-1#show services red
Service type     Name                    Pref. Active        Pref. Standby     
--------------------------------------------------------------------------------
SBC              mycompanysbc              0/7/CPU0 Active     0/6/CPU0 Standby  

RP/0/9/CPU0:ciscotxbu-mysbc-1#run attach 0/7/CPU0

attach: Starting session 0 to nodeid 0/7/CPU0

attach: Type "exit" to quit.


ksh-LC>en
ksh-LC>cd /tmp
ksh-LC>ls pdtrc*    
pdtrc.201007191624.log    pdtrc.201007191936.log


ksh-LC>tail -f  pdtrc.201007191936.log

Place call

ASR SBC

  1) issue CLI 'sbc dump-diagnostics' ;
  2) issue CLI 'sh run';
  3) issue CLI 'sh bootflash:' to find out the ipstrc file1 dumped  by step1;
  4) debug sbc asr-sbc log-level buffer 0;
  5) Place the call, after the call is released, issue CLI 'sbc dump-diagnostics'
  6) issue CLI 'sh bootflash' to find out the newly dumped ipstrc file2 & pdtrc file.
  7) Copy the above file1, file2 & pdtrc out. (ie copy filename tftp/ftp,scp)
  8) 'no debug all' to disable the debug.

Please turn on the above debug in low traffic window in case it is a production network