There is no denying that CounterPath makes great SIP softphones and fortunately they work very well with CUCM.  From the free X-Lite phone to its bigger brothers eyeBeam and Bria, there is hardly a reason not to be using a CounterPath product if you are considering a SIP endpoint that is compatible with CUCM. It is worth mentioning there are iPhone and Android versions of Bria that also work great.  If you are like me and frequently work in a Lab environment to test new features and functionality, CounterPath softphones (Bria and eyeBeam) will allow you to register up to 10 SIP lines.  The registrations may be to a single CUCM cluster, multiple CUCM clusters, or multiple CUCM clusters and CME. This makes testing and troubleshooting much easier than use physical phones. Bria also supports SIP Presence, IM capabilities, and Video Conferencing. Another added benefit is the ability to run Wireshark on the same computer running the softphone which means one could easily capture SIP signaling, DTMF tones, and RTP traffic for analysis when encountering an issue without having to fuss around with setting up a Wireshark server, configuring VLAN session mirroring on a switch, and copying captures from one computer to another.

The following information illustrates how to register one DN from CounterPath Bria to Call Manager (CUCM) version 8 using SIP as the desired endpoint type. The same principle applies to configuring eyeBeam and X-Lite.

Step 1: In CUCM 8 click System > Security > SIP Trunk Security Profile and create a new Profile. You do not have to enable Presence Subscription although Bria does support Presence which is why it is enabled here. Enable Digest Authentication should be enabled to prevent malicious users from hijacking another user’s SIP account. This SIP Trunk Security Profile will be associated with the Third Party SIP Device that will be created in Step 2.

Step 2: Click on Device > Phone and click Add New. In the drop down list select the option for Third Party SIP Device (Advanced) and proceed to provision this device. In this example the DN used is 2004. Associate the SIP Trunk Security Profile created in Step 1 with this Device.

Step 3: Create an End User in CUCM and assign a primary extension. For this example the 4 digit extension is 2004 and the name of the user is HQPH4. Take note of the password entered in the Digest Credentials as this is the same password that will be entered in the softphone. This is required since we checked the Enable Digest Authentication box in the SIP Trunk Security Profile.

Step 4: Associate the End User HQPH4 with the SIP Device that was created. Go to Device > Phone and select the device which is assigned DN 2004.

Step 5: On the Deivce page (not the Line DN page) associate the Owner as HQPH4.

Now click the on the Line DN 2004 link and scroll to the bottom of the page and associate the End User as HQPH4.

Step 6: This example is using CounterPath Bria on Mac. The various CounterPath products use similar configuration options. Set the User ID to the DN assigned in CUCM (2004). The domain should be the IP of the CUCM server the softphone will register to. The authorization name should match the name of the End User and the Password should match the Digiest Credentials entered on the End User page.

The phone should now be successfully registered to CUCM and calls should complete.

Bria supports several different codecs including G722 which offers High Definition codec compatibility with phones such as the Cisco 7965 or 7945 (among others).

As mentioned earlier one benefit of using a SIP softphone is the ability to run Wireshark on the same computer as the softphone. In this example I want to see communication between the softphone and CUCM on port 5060.

SIP Registration with Digest Authentication uses MD5 Hash so the first registration attempt will always show Unauthorized due to the endpoint being challenged.

Example of DN 2004 (softphone) calling DN 2001 (7965)

The above capture shows the basic communication between the softphone and CUCM while DN 2004 calls DN 2001.  Wireshark allows you to view the details of each line number within the capture. The following details include the SIP Invite, 100 Trying, 180 Ringing, and 200 OK messages.

Once the User of the softphone physically dials the destination digits 2001, a SIP Invite is originated from the softphone to CUCM. Also contained in the Invite is a list of available codecs the softphone is capable of supporting.  At this point we don’t know what codecs the device configured for DN 2001 is capable of supporting which is why the softphone provides a complete list of available codec to CUCM in its SIP Invite. The codecs are listed in the Session Description Protocol (SDP).

SIP 100 Trying from CUCM to the softphone. This tells the softphone CUCM is attempting to setup the call to 2001.

SIP 180 Ringing from CUCM to the softphone. This tells the softphone the far end phone 2001 is ringing.

Last is SIP 200 OK with Session Description. This tells the softphone the far end (called) party has answered.  The called party has also established that it wishes to use G711u as the codec of choice and this is honored by the softphone. G711ulaw is represented by rtpmap:0 PCMU/8000 in the SDP.

Wireshark also provides a ladder diagram view for each VoIP call in a capture. Select the menu option Telephony > VoIP Calls and Wireshark will automatically separate each individual call. Click the call you want to view and click Graph for a ladder diagram.  As you click the each step of the diagram Wireshark will jump to the specific line number in the capture file so you do not have to manually scroll through the entire capture.  This is especially convenient when Wireshark has captured several calls and only analysis of one particular call is required.

The final thing to note is that CounterPath softphones do support Voicemail and MWI.  Enter the extension of the Voicemail server and the softphone will take care of the rest.  I provisioned the CUCM Line to send calls to voicemail after a Ring No Answer duration of 20 seconds.  Optionally you may use the CounterPath setting instead of CUCM if desired.

  1. Jeff says:

    Thanks for the the tutorial.

  2. Nimit Doshi says:

    Hi,

    i have configured x lite phone as Third Party SIP device (Advance). When i am configuring only one DN, it is showing Registerd and everything is working fine. But when i am configuring another DN, it is showing status “Partial Registered” and calling functionality didnt work.

    does X lite only support single line ?

    Regards,
    Nimit Doshi

  3. Tommie Pit says:

    Great layout… How would you configure CUCM to accept multiple registrations from 1 ip? (ip DECT base with some handsets) ?

  4. sam says:

    how to find the mac address of the softphone?? because when we are adding a new phone its asks for the mac address ??

  5. Mark says:

    It’s the MAC address of the network interface on the computer you are using. On Windows use C:\ipconfig /all and on OS X use #ifconfig within terminal in order to obtain the computer’s MAC address.

  6. HaZee says:

    Is it possible to use voice VLAN with a softphone? Most companies will use different VLAN for data and voice!

  7. Kent Clark says:

    Hi,

    Upgraded 4500 Acme SBC from 4250 and ran into this error a few days after verify-config operation:

    >> Set external memory failed. Return code = 0xfffffffb

    Checked troubleshooting and maint guide, config guide, and MIB reference and found nothing related.

    Any assistance is greatly appreciated.

  8. Mark says:

    Hi Kent,

    At one point this cropped up on a 4250 but I’m not aware of it happening on the 4500. What is the current version of code you are running? You may want to upgrade to the latest maintenance/patch of the code train you are running.

  9. Kent Clark says:

    Hi Mark,

    Thanks for the response. The running image on the 4500 is sc610 but after rebooted the SBC, this issue went away. Just curious on the root cause of this finding.

    Again, appreciate the feedback.

  10. […] سلام این لینک را 1 نگاه بندازید. CUCM: X-Lite, eyeBeam, or Bria Configured as SIP Endpoints بزرگ بیندیشید تا بزرگ شوید ! پاسخ با نقل […]

  11. Prakash says:

    Hi Mark,

    I am getting the same error Set external memory failed. Return code = 0xfffffffc in my SBC NN 4250 is there any solution for this

    boot device : wancom
    unit number : 0
    processor number : 0
    file name : /tffs0/nnSC610m4p2.gz
    inet on ethernet (e) : 172.26.36.27:ffffff00
    gateway inet (g) : 172.26.36.30
    user (u) : vxftp
    ftp password (pw) : vxftp
    flags (f) : 0x8
    target name (tn) : NLI-SBC-1

  12. Prakash says:

    It Keep on reboot by it self with below error

    Set external memory failed. Return code = 0xfffffffb
    Set external memory failed. Return code = 0xfffffffb
    Set external memory failed. Return code = 0xfffffffb
    Set external memory failed. Return code = 0xfffffffb
    Set external memory failed. Return code = 0xfffffffb
    Set external memory failed. Return code = 0xfffffffb

    Regards
    Prakash

  13. […] dice Mark Holloway en este post, lo bueno de usar un softphone para laboratorio con CUCM es que puedes instalar Wireshark en el […]

  14. We can get a similar result using Express Talk as a third-party SIP softphone. Check this post:
    http://www.keyboardbanger.com/registering-third-party-sip-softphone-to-cucm/