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 Test | Expected Result | Actual Result | Pass | Fail | Capture of Valid Result | Notes | |
---|---|---|---|---|---|---|---|---|
Basic Functionality | ||||||||
1a | Register phone to SIP domain using SRV record, UDP transport | Phones should successfully register, load balancing should occur on sipXecs/openUC system | UDP Register and Subscribe.pcap | |||||
1b | Register 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 | |||||
2 | Phone should support codecs G.711a/u and G.729 | Calls made and received with G.711a/u and G.729 should complete successfully | ||||||
3 | Phone has capability to subscribe to message waiting indicator service | Phone 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 | ||||||||
4 | Place 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 | |||||
5 | Place 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.pcap | The attached capture includes Music on Hold according to http://tools.ietf.org/html/draft-worley-service-example-09 | ||||
6 | Place outbound call from phone A to phone B (internal). Perform blind transfer to phone C. Answer call on phone C | Call should be answered on phone. Transfer should complete successfully, verify audio is present on both phones. The call should complete successfully. | Test 6.pcap | |||||
7 | Place 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 | |||||
8 | Place 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 | |||||
9a | Place 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 | --------- | |||||
9b | Check voicemail messages, delete new voicemail message | Message waiting indicator (MWI) notification lamp should be extinguished. DO NOT TERMINATE THE CALL | --------- | |||||
9c | Record a new personal greeting. This is to ensure that audio is being received by the voicemail system | Personal greeting should be recorded. The call should complete successfully. | -------- | |||||
10 | Place 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 | |||||
11a | Add 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.pcap | If 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 | ||||
11b | Place 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) | ^^^^^^^^^^^^ | |||||
11c | On phone D, press the blinking green presence indicator for phone B to intercept the call with directed call pickup | Phones 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 | ^^^^^^^^^^^^ | |||||
11d | On 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. | ^^^^^^^^^^^^ | |||||
11e | Terminate the conference call | Phone D should not have any presence indicators for any phones lit up at this point. The call should complete successfully. | ^^^^^^^^^^^^ | |||||
12 | Place outbound call from phone A to phone B (internal). Perform a directed call pickup from phone C by dialing *78+ext | Call 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 Test | Expected Result | Actual Result | Pass | Fail | Capture of Valid Result | Notes | |
External -> Internal Scenarios | ||||||||
13 | Place inbound call from an external phone (through certified gateway) to phone A | Call should be answered on phone A, verify audio is present on both phones. The call should complete successfully. | ||||||
14 | Place inbound call from an external phone (through ITSP) to phone A | Call should be answered on phone A, verify audio is present on both phones. The call should complete successfully. | ||||||
15 | Place 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. | ||||||
16 | Place 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. | ||||||
17 | Place inbound call from an external phone (through certified Gateway) to phone A. Perform blind transfer to phone B. Answer call on phone B | Call 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. | ||||||
18 | Place inbound call from an external phone (through ITSP) to phone A. Perform blind transfer to phone B. Answer call on phone B | Call 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. | ||||||
19 | Place 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. | ||||||
20 | Place 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. | ||||||
21 | Place 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. | ||||||
22 | Place 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. | ||||||
23a | Place inbound call from external phone (through certified gateway) to phone A | The presence indicator on phone D for phone A should be blinking green (indicating ringing) | ||||||
23b | On phone D, press the blinking green presence indicator for phone A to intercept the call with directed call pickup | The external caller and phone D should now be on a call. | ||||||
23c | On 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. | ||||||
23d | Terminate the conference call | Phone D should not have any presence indicators for any phones lit up at this point. The call should complete successfully. | ||||||
24a | Place inbound call from external phone (through ITSP) to phone A | The presence indicator on phone D for phone A should be blinking green (indicating ringing) | ||||||
24b | On phone D, press the blinking green presence indicator for phone A to intercept the call with directed call pickup | The external caller and phone D should now be on a call. | ||||||
24c | On 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. | ||||||
24d | Terminate the conference call | Phone D should not have any presence indicators for any phones lit up at this point. The call should complete successfully. | ||||||
25 | Place outbound call from external phones (through certified gateway) to phone A. Perform a directed call pickup from phone B by dialing *78+ext | Call 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. | ||||||
26 | Place outbound call from external phones (through ITSP) to phone A. Perform a directed call pickup from phone B by dialing *78+ext | Call 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 Test | Expected Result | Actual Result | Pass | Fail | Capture of Valid Result | Notes | |
Internal -> External Scenarios | ||||||||
27 | Place 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 | |||||
28 | Place 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. | ||||||
29 | Place 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 | |||||
30 | Place 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. | ||||||
31 | Place 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 B | Call 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 | |||||
32 | Place 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 B | Call 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. | ||||||
33 | Place 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 | |||||
34 | Place 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. | ||||||
35a | On 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. | ||||||
35b | Terminate the conference call | Phone D should not have any presence indicators for any phones lit up at this point. The call should complete successfully. | ||||||
36a | On 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. | ||||||
36b | Terminate the conference call | Phone D should not have any presence indicators for any phones lit up at this point. The call should complete successfully. | ||||||
Test # | Item To Test | Expected Result | Actual Result | Pass | Fail | Capture of Valid Result | Notes | |
External -> Internal -> External (hairpinning) scenarios | ||||||||
37 | Place 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 | ||||||
38 | Place 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 | ||||||
39 | Place 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 | ||||||
40 | Place 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 | ||||||
41 | Place 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 | ||||||
42 | Place 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 | ||||||
43 | Place 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 | ||||||
44 | Place 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 | ||||||
45 | Place 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 | ||||||
46 | Place 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 | ||||||
47 | Place 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 | ||||||
48 | Place 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 Test | Expected Result | Actual Result | Pass | Fail | Capture of Valid Result | Notes | |
Diversion and Forking | ||||||||
49 | Create a hunt group with phones A, B, and C set to ring at the same time | |||||||
50a | Dial the extension of the hunt group from phone D | Phones A, B, and C should all ring at the same time. | ||||||
50b | Answer the call on phone A | The call should complete successfully | ||||||
51a | Dial the extension of the hunt group from phone D | Phones A, B, and C should all ring at the same time. | ||||||
51b | Answer the call on phone B | The call should complete successfully | ||||||
52a | Dial the extension of the hunt group from phone D | Phones A, B, and C should all ring at the same time. | ||||||
52b | Answer the call on phone C | The call should complete successfully | ||||||
53 | Create 5 phantom users, set forwarding as follows: user1 -> user2 -> user3 -> user4 -> user5 -> phone B. Call user1 from phone A | Phone 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 Test | Expected Result | Actual Result | Pass | Fail | Capture of Valid Result | Notes | |
1a | Subscripton 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 | ||||||
2 | Phone must support Music on Hold server according to http://tools.ietf.org/html/draft-worley-service-example-09 | When 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 | |||||
3 | Phone must support BLA according to http://tools.ietf.org/html/draft-anil-sipping-bla-04 | Create 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 Test | Expected Result | Actual Result | Pass | Fail | Capture of Valid Result | Notes | |
1 | Provisioning Support | Item should be able to be provisioned by either TFTP, FTP, or HTTP | ||||||
---|---|---|---|---|---|---|---|---|
2a | Plugin developed to support phone in sipXecs/openUC | All 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 | |||||
2b | User speed dials should be added to phone configuration | When user or administrator changes speed dials and applies them, phone should update or restart-to-update speed dial list. | ||||||
2c | User BLF entries should be added to phone configuration | When user or administrator changes entries and and applies them, phone should update or restart-to-update speed dial list. | ||||||
2d | Plugin should have restart mechanism | Performing a "send profiles" or "restart phone" should trigger the phone to download configuration files and, if necessary, restart phone | ||||||
2e | System phonebooks should be created for phone | sipXecs/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 | ||||||
3 | Plugin developed to support phone firmware | Firmware upload and storage should be handled with the sipXecs/openUC web interface. | Managed Firmware Plugin | |||||
4 | eZuce engineers must have direct tier 2/3 support and direct communication with the vendors engineering team to quickly resolve issues | This 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. |