Howto:Guidelines for Testing 3rd Party SIP Terminal Devices

From innovaphone wiki
Jump to navigation Jump to search
The printable version is no longer supported and may have rendering errors. Please update your browser bookmarks and please use the default browser print function instead.

Scope

innovaphone supports use of 3rd party SIP devices connected to the innovaphone PBX. In fact, when connecting 3rd party devices, SIP (or SIPS) is the recommended protocol. We do not recommend to use H.323 for this purpose.

Although innovaphone usually does no 3rd party SIP device compatibility tests, vendors can do them on their own. Such tests may be documented in our wiki in so-called referral product pages. See What it means in What is a "3rd Party Product"? for more information on referral products.

The 3rd-party-product-vendor or any appropriate partner are exclusively responsible for

  • creation of any testplan
  • definition of detailed teststeps
  • regression testing upon new firmware releases
  • up-to-date documentation of test results

Things to consider

If you intend to test your device for innovaphone SIP compatibility, here are some notes you should consider

STUN/TURN No longer mandatory since 13r3
STUN and TURN are required. Although we do not strictly require 3rd party devices to support it, it is needed in cloud and anywhere workplace scenarios. Failing to support STUN/TURN limits use of the 3rd party device to LAN or VPN scenarios [1]
ICE No longer mandatory since 13r3
again, for cloud and anywhere workplace scenarios, we also use ICE as the general mechanism to negotiate the best media connection between 2 devices. As ICE is the supported mechanism to use STUN/TURN, neither would be used properly if ICE is not implemented. For 3rd party devices without ICE support media relay on the PBX must be used, even if TURN is supported
DTLS
we do support use of DTLS, which is an end-to-end media encryption scheme. Although we do not strictly require 3rd party devices to support it, it is needed for WebRTC compatibility. 3rd party devices which fail to support it will not be able to talk to WebRTC compliant endpoints (i.e. Web Browsers) [1]
TSIP
(also known as SIP over TCP). TCP based SIP (optionally encrypted with TLS) is required to route SIP requests through our reverse proxy. Therefore, devices supporting SIP/UDP only will not work in such scenarios
SIP Offer/Answer Model
with Reverse-Media-Negotiation. This is required for all devices which are registered to the PBX directly. So this is a requirement for all 3rd party phones at least
DTMF
various features in the PBX are controlled via DTMF tones. Endpoints are required to send DTMF either using RFC 2976 (SIP INFO) or RFC 2833 (RTP DTMF). The PBX will not recognize in-band DTMF audio tones
LDAP
the innovaphone infrastructure relies on LDAP for access to directory data. Although 3rd parties my provide their own contact infrastructure, not supporting LDAP results in an inconsistent user experience
CTI
can be tested using a myApps, myPBX, SOAP or TAPI
  • Initiate outgoing call (automatic call with no manual intervention, update of called party, correct call direction in call list)
  • Answer incoming call
  • Hold/Retrieve
  • Transfer
  • DTMF sending during call

For more information regarding implemented RFCs, see Reference:Supported SIP Features and List of RFC's

Notes
  1. 1.0 1.1 As of V13r1, it is possible to enforce Media Relay for individual devices registered to the PBX. This fixes the issue. Due to the imposed CPU load it is recommended for a limited number of devices on a PBX , however
  2. Creation of a 3rd-party-product article

    Test results and other informational data concerning the 3rd-pty-product have to be put into the innovaphone wiki according to following standardized format.

    • Login to innovaphone wiki
    • Open this instruction in the first browser tab
    • Open a second browser tab/window and paste the following URL into it
    http://wiki.innovaphone.com/index.php?title=Howto:productname_-_companyname_-_3rd_Party_Product&action=edit
    
    • Replace the terms "productname" and "companyname" by your data
    • Confirm your input by pressing Enter
    • A new empty wiki page titled with the given URL is generated and opened in editor mode
    • Copy the text content from the box below and paste it completely into the empty wiki-page
    <!-- replace CompanyLogo by real logo-name. Do not change size & alignment. Upload image by pressing red link -->
    [[Image:CompanyLogo.png||200px|right]]
    
    ==Product Name==
    <!-- Mandatory topic. -->
    <!-- replace CompanyName & ProductName by real names and add URL to productpage -->
    CompanyName [https://www.linktoproductpage.com ProductName]
    
    ==Certification Status==
    <!-- do not remove comment. Will be done by innovaphone upon document check -->
    <!-- {{Template:Compat_Status_referral_terminals|manufacturername=Acme Ltd.|certificationdate=in January 1970}} -->
    
    ==Category==
    <!-- Do not change this section and do not remove comments. Will be done by innovaphone upon document check -->
    <!-- {{Category:3rdParty product categorie to be filled by innovaphone}} -->
    <!-- [[Category:Referral Product|{{PAGENAME}}]] -->
    <!-- [[Category:3rdParty product categorie to be filled by innovaphone|{{PAGENAME}}]] -->
    
    ==Vendor==
    <!-- Mandatory topic. -->
    <!-- Give some introducting words about the vendor itself -->
    <!-- Place optional company logo. Don't change logo size. -->
    [[Image:CompanyLogo.png|150px]] 
    
    ==Description==
    <!-- Mandatory topic. -->
    <!-- Give description about the product, benefits, other information to mention to understand main product purpose -->
    <!-- place optional product logo or functional overwiew. --> 
    
    <!-- Some formattings WikiMedia supports:
    ==Title2==
    ===Title3===
    '''xxx''' fat text
    * - list item
    -->
    
    <!-- [[Image:ProductLogo.png]] --> 
    
    <!-- some text -->
    
    
    <!-- '''Benefits at a glance:'''-->
    
    
    <!--
    * Bullet-point
    * Bullet-point
    * Bullet-point
    -->
    
    ==Functions==
    
    <!-- Mandatory topic. -->
    
    <!-- Give functional description about the product. Use formattings if needed -->
    
    ==innovaphone CTI ready==
    <!-- Mandatory topic. -->
    <!--
    * Initiate outgoing call (automatic call with no manual intervention, update of called party, correct call direction in call list) yes/no
    * Answer incoming call yes/no
    * Hold/Retrieve yes/no
    * Transfer yes/no
    -->
    
    ==innovaphone Reverse Proxy ready==
    <!-- Mandatory topic. -->
    <!--
    * STUN yes/no
    * TURN yes/no
    * ICE yes/no
    * SIP/TCP yes/no
    * SIP/TLS yes/no
    -->
    
    ==innovaphone WebRTC ready==
    <!-- Mandatory topic. -->
    <!--
    * Codec G.711 yes/no
    * Codec OPUS yes/no
    * DTLS encryption yes/no (RFC?)
    -->
    
    ==Supported Codecs==
    <!-- Mandatory topic. --><!--
    * G.722 yes/no
    * G.711 A-law yes/no
    * G.711 y-law yes/no
    * G.723.1 (53) yes/no
    * G.729A yes/no
    * Opus yes/no (RFC, WB, NB?)
    -->
    
    ==DTMF Support==
    <!-- Mandatory topic. -->
    <!--
    * SIP INFO (RFC?)
    * RTP DTMF (RFC?)
    -->
    
    ==Supports RFC3261 Digest Authentication Scheme (Section 22.4)==
    <!-- Mandatory topic. -->
    <!--
    * Supports RFC3261 Digest Authentication Scheme (Section 22.4) yes/no
    -->
    
    ==Support LDAP Phonebook==
    <!-- Mandatory topic. -->
    <!--
    * Support LDAP Phonebook yes/no
    -->
    
    ==Version==
    <!-- Mandatory topic. -->
    <!-- Give used versions for testing of both innovaphone and 3rd-pty product -->
    <!-- If not present or outdated innovaphone FW is used, no certificate will be given at all --> 
    
    Product versions used for interop testing:
    <!-- replace 3rd-Pty-Product by real name -->
    * 3rd-Pty-Product Version
    <!-- adjust used innovaphone FW, if applied add further applications (e.g. TAPI & Versions) -->
    * innovaphone V12r2sr24
    
    ==Configuration==
    <!-- Mandatory topic. -->
    <!-- Describe configuration steps to be done for both innovaphone and 3rd-pty product -->
    <!-- If not present, no certificate will be given at all -->
    <!-- you may either list the config steps by adding text & pictures, or provide the URL to a PDF-formatted config document. Ideally the document is hosted by the 3rd-party-supplier itself -->
    <!-- in any case you must be aware of the fact that any questions concerning configuration issues will be directly forwarded by innovaphone to you as manufacturer -->
    ==Summary==
    <!-- Optional topic. -->
    <!-- Anything to mention which does not fit to above topics. To be deleted if not needed --> 
    
    ==Contact==
    <!-- Mandatory topic. -->
    <!-- Give contact details for potential interests. You may give personal or general contact data. -->
    
    {|
    | CompanyName
    |-
    | ContactName
    |-
    | Street
    |-
    | ZIP City
    |-
    | Tel: 
    |-
    | Mobile:
    |-
    | Mail: [mailto:contactname@companyname contactname@companyname]
    |} 
    
    For any questions please refer to [https://www.vendor.tld/contact our contact page].
    • Start editing according to the comments given
    • DO NOT edit any comment content! This may be subject of change by innovaphone after your work is done!
    • DON'T forget to SAVE!
    • Upload appropriate files/images indicated by a red link
    • Inform your innovaphone contact when finished
    • innovaphone will set the correct product category and grant referral status upon successful document check