Phone Certification Process

Introduction

At the heart of the sipXecs/openUC system is a pure SIP Proxy environment. This causes a lot of phone vendors to have issues with sipXecs due to incomplete or missing SIP stack functionality. This lack of standards compatibility is masked by other 'SIP' systems that operate in a B2BUA mode. Therefore it is imperative that phones are put through a stringent series of tests to verify that they are compatible with sipXecs/openUC for a consistent, trouble free experience.

Purpose of This Page

The purpose of this page is to provide a template for a vendor to copy to their personal wiki space for modification. Once the vendor has performed certification tests then a post to the sipXecs user mailing list with a link to the page in the vendor's personal space should be posted.

Testing Caveats

These tests are intended to be performed with a certified gateway, such as an Audiocodes gateway, and a certified ITSP, such as voip.ms or Appia

At least 3 phones (of the type being certified), referred to as phone A, phone B, and phone C, and one of the following selection of phones, referred to as Phone D:

  • Polycom SoundPoint IP 550/560
  • Polycom SoundPoint IP 650
  • Polycom SoundPoint IP 670
  • Polycom VVX 300/310
  • Polycom VVX 400/410
  • Polycom VVX 500/600
  • Polycom VVX 1500

Note that you only need one of the above Polycom models, not all of them, to complete the tests. The Polycom VVX 300 is the least expensive option

Full certification by eZuce requires a provisioning plugin. This can be written by the vendor by following the procedures in the Managed Phones Plugin section.

Phone Information

Manufacturer
 
Model
 
Firmware Version
 
Configuration Method
Automatic/Manual
Link to Phone Information
http://www.example.com/neatphone1234.html

Verified Status

All items in this table must pass if the device is to be considered as Verified status

Test #Item to TestExpected ResultActual ResultPassFailCapture of Valid ResultNotes 
Basic Functionality
1aRegister phone to SIP domain using SRV record, UDP transportPhones should successfully register, load balancing should occur on sipXecs/openUC system   UDP Register and Subscribe.pcap  
1bRegister phone to SIP domain using SRV record, TCP transport Phones should successfully register, load balancing should occur on sipXecs/openUC system   TCP Register and Subscribe.pcap  
2Phone should support codecs G.711a/u and G.729Calls made and received with G.711a/u and G.729 should complete successfully      
3Phone has capability to subscribe to message waiting indicator servicePhone should properly subscribe to message waiting indicator service and a message waiting indicator lamp should light and extinguish when messsage are left and erased (see step 7 below)   See 1a and 1b captures  
Internal Only Scenarios
4Place outbound call from phone A to phone B (internal)Call should be answered on phone, verify audio is present on both phones. The call should complete successfully.   Test 4.pcap  
5Place outbound call from phone A to phone B (internal). Place call on hold for 10 seconds. Retrieve call from hold.Call should be answered on phone, verify audio is present on both phones, placed on hold for 10 seconds, and retrieved from hold. Verify audio is present on both phones. The call should complete successfully.   Test 5.pcapThe attached capture includes Music on Hold according to http://tools.ietf.org/html/draft-worley-service-example-09 
6Place outbound call from phone A to phone B (internal). Perform blind transfer to phone C. Answer call on phone CCall should be answered on phone. Transfer should complete successfully, verify audio is present on both phones. The call should complete successfully.   Test 6.pcap  
7Place outbound call from phone A to phone B (internal). Perform attended transfer to phone C. Answer call on phone C, then complete transfer..Call should be answered on phone. Transfer should complete successfully, verify audio is present during all phases of the call. The call should complete successfully.   Test 7.pcap  
8Place outbound call from phone A to phone B (internal) but do not answer the call. The call should be answered by the voicemail system. Leave a voicemail, then hang up.The message waiting indicator (MWI) notification lamp should illuminate on the receiving phone   Test 8.pcap  
9aPlace outbound call from phone B to the voicemail pilot number (default extension 101). Log into voicemail.Call should be answered by voicemail system. Verify DTMF (keypresses) are functioning properly by logging into voicemail system. The call and DTMF keypresses should complete successfully. DO NOT TERMINATE THE CALL   ---------  
9bCheck voicemail messages, delete new voicemail messageMessage waiting indicator (MWI) notification lamp should be extinguished. DO NOT TERMINATE THE CALL   ---------  
9cRecord a new personal greeting. This is to ensure that audio is being received by the voicemail systemPersonal greeting should be recorded. The call should complete successfully.   --------  
10Place outbound call from phone A to auto attendant (default extension 100). Dial the extension for phone B to initiate a transfer.Call should be answered by the auto attendant system. Verify DTMF (keypresses) are functioning properly by entering an extension. The call should then be transferred to phone B. Answer the call on phone B. The call and DTMF keypresses should complete successfully.   Test 10.pcap  
11aAdd Phones A, B, and C as speed dials with presence monitoring to phone D.Phone D should reboot with 3 BLF entries monitoring phones A, B, and C   Test 11.pcapIf presence indication is not working this indicates a problem with the way the phones handle dialog events. Please refer to http://tools.ietf.org/html/rfc4235 for information about properly constructing dialog events 
11bPlace outbound call from phone A to phone B (internal)The presence indicator for phone A should be solid red (indicating on the phone). The presence indicator for phone B should be blinking green (indicating ringing)   ^^^^^^^^^^^^  
11cOn phone D, press the blinking green presence indicator for phone B to intercept the call with directed call pickupPhones A and D should now be on a call. Phone D should indicate a solid red presence indication for phone A. DO NOT TERMINATE THE CALL   ^^^^^^^^^^^^  
11dOn phone D initiate a conference with phone B (with phone A still communicating with phone D).3-way conference should be established with phones A, B, and D. Phone D should indicate a solid red presence indication for phones A and B.   ^^^^^^^^^^^^  
11eTerminate the conference call

Phone D should not have any presence indicators for any phones lit up at this point. The call should complete successfully.

   ^^^^^^^^^^^^  
12Place outbound call from phone A to phone B (internal). Perform a directed call pickup from phone C by dialing *78+extCall should be established between phones A and C. Verify audio is present on both phones. Presence indication on phone D for all phones should be accurate during all phases.   See Test 11 for proper signalling  
         
Test #Item To TestExpected ResultActual ResultPassFailCapture of Valid ResultNotes 
External -> Internal Scenarios
13Place inbound call from an external phone (through certified gateway) to phone ACall should be answered on phone A, verify audio is present on both phones. The call should complete successfully.      
14Place inbound call from an external phone (through ITSP) to phone ACall should be answered on phone A, verify audio is present on both phones. The call should complete successfully.      
15Place inbound call from an external phone (through certified gateway) to phone A. Place call on hold for 10 seconds. Retrieve call from hold.Call should be answered on phone A, verify audio is present on both phones, placed on hold for 10 seconds, and retrieved from hold. Verify audio is present on both phones. The call should complete successfully.      
16Place inbound call from an external phone (through ITSP) to phone A. Place call on hold for 10 seconds. Retrieve call from hold.Call should be answered on phone A, verify audio is present on both phones, placed on hold for 10 seconds, and retrieved from hold. Verify audio is present on both phones. The call should complete successfully.      
17Place inbound call from an external phone (through certified Gateway) to phone A. Perform blind transfer to phone B. Answer call on phone BCall should be answered on phone A. Transfer should complete successfully to phone B. Answer and verify audio is present on both phones. The call should complete sucessfully.      
18Place inbound call from an external phone (through ITSP) to phone A. Perform blind transfer to phone B. Answer call on phone BCall should be answered on phone A. Transfer should complete successfully to phone B. Answer and verify audio is present on both phones. The call should complete sucessfully.      
19Place inbound call from an external phone (through certified gateway) to phone A. Perform attended transfer to phone B. Answer call on phone B, then complete transfer.Call should be answered on phone A. Answer call on phone B, then perform the final transfer. Transfer should complete successfully, verify audio is present during all phases of the call. The call should complete sucessfully.      
20Place inbound call from an external phone (through ITSP) to phone A (internal). Perform attended transfer to phone B. Answer call on phone B, then complete transfer.Call should be answered on phone A. Answer call on phone B, then perform the final transfer. Transfer should complete successfully, verify audio is present during all phases of the call. The call should complete sucessfully.      
21Place inbound call from external phone (through certified gateway) to auto attendant. Dial the number for phone A to initiate a transfer.Call should be answered by the auto attendant system. Verify DTMF (keypresses) are functioning properly by entering an extension. The call should then be transferred to phone A. Answer the call on phone A. The call and DTMF keypresses should complete successfully.      
22Place inbound call from external phone (through ITSP) to auto attendant. Dial the number for phone A to initiate a transfer.Call should be answered by the auto attendant system. Verify DTMF (keypresses) are functioning properly by entering an extension. The call should then be transferred to phone A. Answer the call on phone A. The call and DTMF keypresses should complete successfully.      
23aPlace inbound call from external phone (through certified gateway) to phone AThe presence indicator on phone D for phone A should be blinking green (indicating ringing)      
23bOn phone D, press the blinking green presence indicator for phone A to intercept the call with directed call pickupThe external caller and phone D should now be on a call.      
23cOn phone D initiate a conference with phone A (with external caller still communicating with phone D).3-way conference should be established with external caller and phones A and D. Phone D should indicate a solid red presence indication for phone A.      
23dTerminate the conference callPhone D should not have any presence indicators for any phones lit up at this point. The call should complete successfully.      
24aPlace inbound call from external phone (through ITSP) to phone AThe presence indicator on phone D for phone A should be blinking green (indicating ringing)      
24bOn phone D, press the blinking green presence indicator for phone A to intercept the call with directed call pickupThe external caller and phone D should now be on a call.      
24cOn phone D initiate a conference with phone A (with external caller still communicating with phone D).3-way conference should be established with external caller and phones A and D. Phone D should indicate a solid red presence indication for phone A.      
24dTerminate the conference callPhone D should not have any presence indicators for any phones lit up at this point. The call should complete successfully.      
25Place outbound call from external phones (through certified gateway) to phone A. Perform a directed call pickup from phone B by dialing *78+extCall should be established between external phone and phone B. Verify audio is present on both phones. Presence indication on phone D for all phone should be accurate during all phases.      
26Place outbound call from external phones (through ITSP) to phone A. Perform a directed call pickup from phone B by dialing *78+extCall should be established between external phone and phone B. Verify audio is present on both phones. Presence indication on phone D for all phone should be accurate during all phases.      
Test #Item To TestExpected ResultActual ResultPassFailCapture of Valid ResultNotes 
Internal -> External Scenarios
27Place outbound call from phone A to an external phone (through certified gateway)Call should be answered on external phone, verify audio is present on both phones. The call should complete successfully.   Test 27.pcap  
28Place outbound call from phone A to an external phone (through ITSP)Call should be answered on external phone, verify audio is present on both phones. The call should complete successfully.      
29Place outbound call from phone A to an external phone (through certified gateway). Place call on hold for 10 seconds. Retrieve call from hold.Call should be answered on external phone, verify audio is present on both phones, placed on hold for 10 seconds, and retrieved from hold. Verify audio is present on both phones. The call should complete successfully.   Test 29.pcap  
30Place outbound call from phone A to an external phone (through ITSP). Place call on hold for 10 seconds. Retrieve call from hold.Call should be answered on external phone, verify audio is present on both phones, placed on hold for 10 seconds, and retrieved from hold. Verify audio is present on both phones. The call should complete successfully.      
31Place outbound call from an phone A to an external phone (through certified gateway) . Perform blind transfer from phone A to phone B. Answer call on phone BCall should be answered on external phone. Transfer should complete successfully to phone B. Answer and verify audio is present on both phones. The call should complete sucessfully.   Test 31.pcap  
32Place outbound call from an phone A to an external phone (through ITSP) . Perform blind transfer from phone A to phone B. Answer call on phone BCall should be answered on external phone. Transfer should complete successfully to phone B. Answer and verify audio is present on both phones. The call should complete sucessfully.      
33Place outbound call from phone A to an external phone (through certified gateway). Perform attended transfer to phone B. Answer call on phone B, then complete transfer.Call should be answered on external phone. Begin, the transfer to phone B; answer call on phone B, then perform the final transfer. Transfer should complete successfully, verify audio is present during all phases of the call. The call should complete sucessfully.   Test 33.pcap  
34Place outbound call from phone A to an external phone (through ITSP). Perform attended transfer to phone B. Answer call on phone B, then complete transfer.Call should be answered on external phone. Begin, the transfer to phone B; answer call on phone B, then perform the final transfer. Transfer should complete successfully, verify audio is present during all phases of the call. The call should complete sucessfully.      
35aOn phone D initiate a conference with phone A and external phone (through certified Gateway).3-way conference should be established with external phone and phones A and D. Phone D should indicate a solid red presence indication for phone A.      
35bTerminate the conference callPhone D should not have any presence indicators for any phones lit up at this point. The call should complete successfully.      
36aOn phone D initiate a conference with phone A and external phone (through ITSP).3-way conference should be established with external phone and phones A and D. Phone D should indicate a solid red presence indication for phone A.      
36bTerminate the conference callPhone D should not have any presence indicators for any phones lit up at this point. The call should complete successfully.      
Test #Item To TestExpected ResultActual ResultPassFailCapture of Valid ResultNotes 
External -> Internal -> External (hairpinning) scenarios
37Place inbound call to phone A from an external phone (through certified gateway). Perform a blind transfer to a different external phone (through certified gateway).Call should be answered on phone A. Transfer should complete successfully to external phone. Verify audio during all phases of the call      
38Place inbound call to phone A from an external phone (through ITSP). Perform a blind transfer to a different external phone (through certified gateway).Call should be answered on phone A. Transfer should complete successfully to external phone. Verify audio during all phases of the call      
39Place inbound call to phone A from an external phone (through certified gateway). Perform a blind transfer to a different external phone (through ITSP).Call should be answered on phone A. Transfer should complete successfully to external phone. Verify audio during all phases of the call      
40Place inbound call to phone A from an external phone (through ITSP). Perform a blind transfer to a different external phone (through ITSP).Call should be answered on phone A. Transfer should complete successfully to external phone. Verify audio during all phases of the call      
41Place inbound call to phone A from an external phone (through certified gateway). Perform an attended transfer to a different external phone (through certified gateway). Answer the call on the external phone, then complete the transfer.Call should be answered on phone A. Transfer should complete successfully to external phone. Verify audio during all phases of the call      
42Place inbound call to phone A from an external phone (through ITSP). Perform an attended transfer to a different external phone (through certified gateway). Answer the call on the external phone, then complete the transfer.Call should be answered on phone A. Transfer should complete successfully to external phone. Verify audio during all phases of the call      
43Place inbound call to phone A from an external phone (through certified gateway). Perform an attended transfer to a different external phone (through ITSP). Answer the call on the external phone, then complete the transfer.Call should be answered on phone A. Transfer should complete successfully to external phone. Verify audio during all phases of the call      
44Place inbound call to phone A from an external phone (through ITSP). Perform an attended transfer to a different external phone (through ITSP). Answer the call on the external phone, then complete the transfer.Call should be answered on phone A. Transfer should complete successfully to external phone. Verify audio during all phases of the call      
45Place inbound call to auto attendant from an external phone (through certified gateway). Enter the extension number for phone A. Answer call on phone A. Perform an attended transfer to a different external phone (through certified gateway). Answer the call on the external phone, then complete the transfer.Call should be answered on phone A. Transfer should complete successfully to external phone. Verify audio during all phases of the call      
46Place inbound call to auto attendant from an external phone (through ITSP). Enter the extension number for phone A. Answer call on phone A. Perform an attended transfer to a different external phone (through certified gateway). Answer the call on the external phone, then complete the transfer.Call should be answered on phone A. Transfer should complete successfully to external phone. Verify audio during all phases of the call      
47Place inbound call to auto attendant from an external phone (through certified gateway). Enter the extension number for phone A. Answer call on phone A. Perform an attended transfer to a different external phone (through ITSP). Answer the call on the external phone, then complete the transfer.Call should be answered on phone A. Transfer should complete successfully to external phone. Verify audio during all phases of the call      
48Place inbound call to auto attendant from an external phone (through ITSP). Enter the extension number for phone A. Answer call on phone A. Perform an attended transfer to a different external phone (through ITSP). Answer the call on the external phone, then complete the transfer.Call should be answered on phone A. Transfer should complete successfully to external phone. Verify audio during all phases of the call      
Test #Item To TestExpected ResultActual ResultPassFailCapture of Valid ResultNotes 
Diversion and Forking
49Create a hunt group with phones A, B, and C set to ring at the same time       
50aDial the extension of the hunt group from phone DPhones A, B, and C should all ring at the same time.      
50bAnswer the call on phone AThe call should complete successfully      
51aDial the extension of the hunt group from phone DPhones A, B, and C should all ring at the same time.      
51bAnswer the call on phone BThe call should complete successfully      
52aDial the extension of the hunt group from phone DPhones A, B, and C should all ring at the same time.      
52bAnswer the call on phone CThe call should complete successfully      
53Create 5 phantom users, set forwarding as follows: user1 -> user2 -> user3 -> user4 -> user5 -> phone B. Call user1 from phone APhone B should ring. Answer phone B, verify audio during the call.      

Supported Status

In addition to the above items listed in Verified Status, all items in this table must pass if the device is to be considered as Supported status.

Test #Item To TestExpected ResultActual ResultPassFailCapture of Valid ResultNotes 
1aSubscripton to RLS BLF List (Full RFC 4662 format or Consolidated Broadsoft Format)Subscription to users BLF list should properly light BLF indication lamps on phone with busy and ringing indications.    

http://wiki.sipfoundry.org/display/sipXecs/Manually+Configuring+Phone+BLF

This step is only valid if phone is designed for BLF usage. If for example, the phone is a single line phone meant for light use with no BLF, this test is invalid.

 
1b (optional)BLF entry buttons should have option to display call information if BLF indication is ringing.When a BLF indicator is in ringing state, call information (Name and number) are displayed on the phone      
1c (optional)BLF entry buttons should have option to manually display call information if BLF indicator is busy (by pressing and holding the BLF button, for example) (OPTIONAL)When a BLF indicator is in busy state, call information (Name and number) are displayed on the phone when BLF key is pressed and held      
2Phone must support Music on Hold server according to http://tools.ietf.org/html/draft-worley-service-example-09When call is placed on hold, party on hold will hear music/audio instead of silence. When transfer is initated and caller is placed on hold to initiate the transfer, party on hold will hear music/audio instead of silence.    http://tools.ietf.org/html/draft-worley-service-example-09 
3Phone must support BLA according to http://tools.ietf.org/html/draft-anil-sipping-bla-04Create BLA extension on phone A and B. Call BLA extension on phone A from phone D. Place call on hold on phone A. Retrieve call on phone B. Place call on hold on phone B. Retrieve call on phone A. Verify audio and caller information (name/number) during all phases of the call      

Certified Status

In addition to all items above in Verified Status and Supported Status, all items in this table must pass if the device is to be considered as Certified status.

Test #Item To TestExpected ResultActual ResultPassFailCapture of Valid ResultNotes 
1Provisioning SupportItem should be able to be provisioned by either TFTP, FTP, or HTTP      
2aPlugin developed to support phone in sipXecs/openUCAll phone configuration options should be able to be configured by the sipXecs/openUC system.    See Managed Phones Plugin for more information on creating a plugin 
2bUser speed dials should be added to phone configurationWhen user or administrator changes speed dials and applies them, phone should update or restart-to-update speed dial list.      
2cUser BLF entries should be added to phone configurationWhen user or administrator changes entries and and applies them, phone should update or restart-to-update speed dial list.      
2dPlugin should have restart mechanismPerforming a "send profiles" or "restart phone" should trigger the phone to download configuration files and, if necessary, restart phone      
2eSystem phonebooks should be created for phonesipXecs/openUC have phonebooks that are generated by plugins for phones. The phone must be able to support up to 200 phonebook entries, and the plugin must generate the phonebook entries      
3Plugin developed to support phone firmwareFirmware upload and storage should be handled with the sipXecs/openUC web interface.    Managed Firmware Plugin 
4eZuce engineers must have direct tier 2/3 support and direct communication with the vendors engineering team to quickly resolve issuesThis is an absolute requirement for certified status. If a device is certified and recommended to a potential customer eZuce must be able to support the customer quickly in the event of a problem. eZuce performs all level 1 phone troubleshooting for supported customers, deferring to the vendor for unresolvable issues.