Friday, August 22, 2008

Sip Call Transfer

Call Transfer

One useful feature of IP telephony is the fact that users can easily transfer their calls to someone else.

Imagine for example that you are talking to a friend who’s asking you about your notes of a particular class or lecture. You don’t have them but you know that another friend of yours does. It would be nice if you could simply forward the call to that new person so that your two friends could arrange the transfer by themselves.

We would like to implement that kind of functionality in SIP Communicator using the SIP protocol. With SIP (and with most other protocols for that matter) one can transfer a call in two different ways. You could either blindly forward the call to a number without knowing whether someone would actually answer, or you could first establish the connection, ask the corresponding person whether they are interested in taking the call and only then execute the transfer.

These two types of transfer are often referred to as attended and unattended (or blind) transfer. They involve the exchange of a number of specific messages.

Here’s how one could perform a blind transfer with SIP:

The following image shows the messages exchanged during an attended call transfer.

The mechanisms for transferring calls are described in detail in RFC 3515 and RFC 3891.

References:
The Session Initiation Protocol (SIP) Refer Method
http://tools.ietf.org/html/rfc3515

The Session Initiation Protocol (SIP) “Replaces” Header
http://tools.ietf.org/html/rfc3891

Other SIP Communicator student projects
http://www.sip-communicator.org/students

The official SIP Communicator website
http://www.sip-communicator.org

The SIP Communicator developer website on Java.net
http://sip-communicator.dev.java.net/index-jn.html

Tuesday, August 5, 2008

Call Voice Mail problem Polycom CX700

"The Requested type of content encryption is not supported"
in Italian " Il tipo di crittografia del contenuto richiesto non รจ supportato."

You might get the above error message when you try to call your voice mail hosted on Exchange 2007 SP1 UM from your Office Communicator Phone Edition (OCPE) powered device (like polycom CX700). The likely cause of the issue is a mismatch between the VoIPSecurity setting of your SIP URI UM dial plan and the Security - Encryption level setting on the A/V Conferencing properties on your OCS 2007 pool.

The OCPE device use the Security - Encryption level setting to determine, if media should be encrypted or not. The default setting is Require encryption and OCPE will then send media using SRTP. If the UM dial plan VoIPSecurity parameter is set to SIPSecured Exchange 2007 SP1 UM will not accept the SRTP based media and you get the error message above on OCPE. Changing your UM dial plan to have the VoIPSecurity parameter set to Secured will fix the issue. This is the recommended setting, since this ensures that media is sent in a secure way.

More information can be found here:

http://technet.microsoft.com/en-us/library/bb676409.aspx

http://technet.microsoft.com/en-us/library/bb124092(EXCHG.80).aspx.


Configure Exchange 2007 UM to work with Enterprise Voice in OCS 2007

There are several steps that you must complete to configure Exchange 2007 Unified Messaging to work with Enterprise Voice in Communications Server 2007. You must do the following:

  1. Create one or more Exchange 2007 Unified Messaging Session Initiation Protocol (SIP) URI dial plans that each map to a corresponding Communications Server 2007 location profile. An Enterprise Voice location profile must be created for each Exchange UM dial plan. The location profile name has to match the fully qualified domain name (FQDN) of the UM dial plans. The Unified Messaging dial plan FQDN is used as the name of its corresponding location profile. Use the Get-UMDialPlan cmdlet to obtain the FQDN of a SIP URI dial plan, and then create its corresponding location profile. For more information about how to create a SIP URI dial plan, see How to Create a Unified Messaging SIP URI Dial Plan.
  2. Install a certificate on the Unified Messaging servers that is valid and signed by a certification authority, and then restart the Microsoft Exchange Unified Messaging service on each Unified Messaging server.
  3. To encrypt the VoIP traffic, configure the SIP URI dial plan as SIP secured or Secured. For more information about how to configure the security settings on a UM dial plan, see How to Configure Security on a Unified Messaging Dial Plan. For more information about VoIP security and configuring MTLS, see Understanding Unified Messaging VoIP Security.
    Although a Unified Messaging dial plan can be configured as SIP Secured or Secured, we recommend that you configure the dial plan as Secured to enable Microsoft Office Communicator Phone Edition devices to work correctly. This is recommended because of the default encryption level settings that are configured in Communications Server 2007. An Office Communicator Phone Edition device will only work if the encryption settings are configured as they are in the following table. This table shows the relationship between the encryption settings for both Communications Server 2007 and Unified Messaging dial plans.

    Encryption settings for Office Communicator Phone Edition

    Communications Server 2007 Unified Messaging dial plan

    Encryption Required (default)

    Secured

    Encryption Optional

    SIP Secured/Secured

    No Encryption

    SIP Secured

  4. Add the servers that are running the Unified Messaging server role to the SIP dial plan. To enable the server to answer incoming calls, you must add the Unified Messaging server to a dial plan. For more information about how to add a Unified Messaging server to a dial plan, see How to Add a Unified Messaging Server to a Dial Plan.
  5. Create a SIP address for the users who will be using Enterprise Voice. For more information about how to create a SIP address for a UM-enabled user, see How to Add, Remove, or Modify a SIP Address for a UM-Enabled User.
    Users who are associated with a SIP URI dial plan cannot receive incoming faxes. This is because incoming voice and fax calls are routed through a Mediation Server and faxing is not supported when you are using a Mediation Server.
  6. Open the Exchange Management Shell and run the exchucutil.ps1 script that is located in the \Exchange Server\Script folder. The exchucutil.ps1 script does the following:
    • Grants Office Communications Server permission to read Exchange UM Active Directory objects, specifically, the SIP URI dial plan objects that were created in the previous task. For more information about how to configure permissions on Active Directory objects, see How to Use ADSI Edit to Apply Permissions.
    • Creates a UM IP gateway object in Active Directory for each Communications Server pool or for each server that is running Communications Server 2007 Standard Edition that hosts users who are enabled for Enterprise Voice. For more information about how to create a UM IP gateway, see How to Create a New Unified Messaging IP Gateway.
    • Creates an Exchange UM hunt group for each gateway. The hunt group pilot identifier will be the name of the dial plan that is associated with the corresponding gateway. The hunt group must specify the Exchange 2007 Unified Messaging SIP dial plan that is used with the UM IP gateway. For more information about how to create a Unified Messaging hunt group, see How to Create a New Unified Messaging Hunt Group.

How to Configure Security on a Unified Messaging Dial Plan