Reference8:Release Notes Firmware: Difference between revisions

From innovaphone wiki
Jump to navigation Jump to search
m (regular roadmap update)
m (regular roadmap update)
Line 7: Line 7:


      
      
= V8 Hotfix  1 (10-80500.01) =
= V8 Release =
Fixes included in Version 8 hotfix1
This release adds all kind of classic PBX/TAPI Features
[http://mantis.innovaphone.com/view.php?id=47564 Definition]
[http://mantis.innovaphone.com/view.php?id=15115 Definition]


== New Features ==
== New Features ==
Line 15: Line 15:


      
      
=== incorrect pointer assignment in submit_config of dtmf/icp object and false configuration possibility ===
=== Multiple PBX on a single Gateway (PBX Hosting) ===


{|
{|
Line 22: Line 22:
|-
|-
|Id
|Id
|[http://mantis.innovaphone.com/view.php?id=47716 47716]
|[http://mantis.innovaphone.com/view.php?id=26462 26462]
|}
|}
problem: a) local buffer assigned to a given pointer<br/>        b) it was possible to configure just one of two needed e164 and if configured just one (which makes sense for pickup), the code was not correctly shown as enabled in configuration window.<br/><br/>solution: fix in code<br/> <br/>files: pbx_dtmf.h, pbx_dtmf.cpp, pbx_edit_dtmf-ctrl.xsl, pbx_icp.cpp<br/><br/>products: all pbx products<br/><br/>risks: None
In addition to the statically started (start/stop with reboot) PBX0 there will be dynamic startable Slave PBXs<br/>- config for each PBX in a Flash VAR<br/>- seperate FLASHDIR View for each PBX<br/>- Method to Backup/Restore for a single PBX
      
      
=== dtmf feature code set presence used wrong argument to toggle the mobility ===
=== Application Platform Beta ===


{|
{|
Line 33: Line 33:
|-
|-
|Id
|Id
|[http://mantis.innovaphone.com/view.php?id=47916 47916]
|[http://mantis.innovaphone.com/view.php?id=36005 36005]
|}
|}
problem: the feature code argument for toggling mobility was swapped<br/><br/>solution: use correct argument index<br/> <br/>files: pbx_dtmf.cpp<br/><br/>products: all pbx devices<br/><br/>risks: None
Beta Version of the application platform, which can be used for development purposes. Only selected Hardware will be supported.
      
      
=== no presence note set if no activity has been selected ===
=== PBX Mobility Object ===


{|
{|
Line 44: Line 44:
|-
|-
|Id
|Id
|[http://mantis.innovaphone.com/view.php?id=48446 48446]
|[http://mantis.innovaphone.com/view.php?id=38357 38357]
|}
|}
problem: if the activity is empty, but a note given, no note was set for this presence index<br/><br/>solution: use note even if no activity is given<br/> <br/>files: pbx_dtmf.cpp<br/><br/>products: all pbx devices<br/><br/>risks: None
- Mobility Object, which can be dialed from mobile phone to get PBX internal dialtone<br/>- Internal features can be invoked using DTMF<br/>- Call presented to SOAP/TAPI as initated from internal object<br/>- use call forking configuration to associate outgoing forked calls to mobility object, so that PBX internal features are available for calls to the mobile device as well<br/><br/>!!! This Feature handles only PBX Object: Software for Mobile Phones is handled separately in other Roadmap Feature!!!
      
      
=== handle calls from master/slave user in dtmf object if calling number is found as mobility fork ===
=== PBX Call Forking ===


{|
{|
Line 55: Line 55:
|-
|-
|Id
|Id
|[http://mantis.innovaphone.com/view.php?id=48448 48448]
|[http://mantis.innovaphone.com/view.php?id=38358 38358]
|}
|}
problem: if a call comes from the master/slave user, the dtmf object cancels the call, even if there is a user which has the calling number as mobility fork<br/><br/>solution: check mobility users for incoming master/slave calls and if a user is found, use this one<br/> <br/>files: pbx_dtmf.cpp<br/><br/>products: all pbx devices<br/><br/>risks: None
- Forking destinations configurable at a PBX user<br/>- Calls are sent to forking destinations in addition to the normal call<br/>- can be used for OCS integration<br/>- used for mobility integration
      
      
=== allow empty search base in directory search object ===
=== Single Sign On ===


{|
{|
Line 66: Line 66:
|-
|-
|Id
|Id
|[http://mantis.innovaphone.com/view.php?id=48703 48703]
|[http://mantis.innovaphone.com/view.php?id=36000 36000]
|}
|}
problem: ldap server needs an empty search base, but the directory search object doesn't allow an empty one<br/><br/>solution: disable check for empty search base<br/> <br/>files: pbx_dirsearch.cpp<br/><br/>products: all pbx devices<br/><br/>risks: None
Currently on all innovaphone boxes within a system the administration accounts are configured locally. So if the admin password shall be changed, it has to be changed on all boxes.<br/>Kerberos shall be used to do the authentication centrally.<br/>If possible an integration into Active Directory will be implemented, so that the Windows Domain account can be used to authenticate for administration.
      
      
=== Potential trap accessing NULL pointer in PBX Waiting Object ===
=== Operator rework (v8 switchboard) ===


{|
{|
Line 77: Line 77:
|-
|-
|Id
|Id
|[http://mantis.innovaphone.com/view.php?id=47563 47563]
|[http://mantis.innovaphone.com/view.php?id=19363 19363]
|}
|}
problem: There is a small chance of a NULL pointer access trap when doing confuguration changes on a Waiting Queue object right when a call is cleared<br/><br/>solution: Check for NULL pointer added<br/><br/>files: pbx_wait.cpp<br/><br/>products: all with PBX<br/><br/>risks: None
only a few new features but make it a little bit more like other operator software.<br/><br/>The complete feature set is still to be defined.
''Status:''
http://wiki.innovaphone.com/index.php?title=Reference8:Innovaphone.switchboard
      
      
=== One-way-voice after retrieve together with SRTP, H323 and Registration with password ===
=== SIP Presence Federation ===


{|
{|
Line 88: Line 90:
|-
|-
|Id
|Id
|[http://mantis.innovaphone.com/view.php?id=48442 48442]
|[http://mantis.innovaphone.com/view.php?id=39234 39234]
|}
|}
problem: One-way-voice could happen after retrieve, if SRTP is used on H.323 call, which uses a refistration with password. This could also happen when switching to a 3-pty conference (retrieve done on one leg). This is caused by an unencrypted SRTP key sent with the media renegotiation.<br/><br/>solution: Do encryption of the SRTP key.<br/><br/>files: h323sig.cpp<br/><br/>products: all<br/><br/>risks: Collateral damage with media negotiation
This feature allows to provide to/obtain from external SIP systems presence information. This is an open standard implemented on other systems as well (e.g. OCS).<br/><br/>Also sipport will be added to obtain local presence information from another system. This way it will be possible to build appications which manage the presence information of the PBX users
      
      
=== Display of hardware id missing for UNKNOWN Registrations ===
=== Phone config stored on PBX ===


{|
{|
Line 99: Line 101:
|-
|-
|Id
|Id
|[http://mantis.innovaphone.com/view.php?id=48493 48493]
|[http://mantis.innovaphone.com/view.php?id=22337 22337]
|}
|}
problem: The Hardware Id is not displayed for Unknown Registrations on the Registrations page and is not copied into the edit page<br/><br/>solution: User Interface fixed<br/><br/>files: pbx_regs.xsl, pbx_edit_object.xsl<br/><br/>products: All with PBX<br/><br/>risks: None
The user config (function keys, ring tones, ...) for the phones shall be stored on the PBX.<br/>There should be phone config objects, which contain standard configs. To a user a phone config can be assigned. Additional config stored at the user shall modify this standard config.<br/>A generic way has to be found how the XML phone config at a user shall be applied to the config from the phone config object without the knowledge of the XML content.
      
      
=== When pressing apply on PBX Objects Node editor, the editor changed to a PBX editor ===
=== Presence ===


{|
{|
Line 110: Line 112:
|-
|-
|Id
|Id
|[http://mantis.innovaphone.com/view.php?id=48500 48500]
|[http://mantis.innovaphone.com/view.php?id=27130 27130]
|}
|}
problem: After apply the wrong .xsl was used (pbx_edit_loc.xsl instead of pbx_edit_node.xsl)<br/><br/>solution: Use correct .xsl<br/><br/>files: pbx_edit_node.xsl<br/><br/>products: all with PBX<br/><br/>risks: None
The PBX manages presence information from endpoints.<br/>Presence information is received and sent to endpoints with SIP or H.323/H.450
   
''Status:''
=== Trap if dialing wrong number from mobile phone ===
Documentation:<br/>http://wiki-intern.innovaphone.com/index.php?title=Development:Presence
=== Other new Features ===


{|
{|
|Status
|<font><font color="green">Closed</font></font>
|-
|-
|Id
|valign=top nowrap=true|[http://mantis.innovaphone.com/view.php?id=44735 44735]
|[http://mantis.innovaphone.com/view.php?id=48543 48543]
|valign=top nowrap=true|cb
|}
|V8 License: Prevent downgrade to V7 if a V8 license needs to be removed from a box
problem: A trap happens if a mobile endpoint dials a wrong number and continues to dial when the busy tone is already played.<br/><br/>solution: Better handling of DTMF during playing busy<br/><br/>files: pbx_mobility.cpp<br/><br/>products: all with PBX<br/><br/>risks: Minimal risk of collateral damage
|-
   
|valign=top nowrap=true|[http://mantis.innovaphone.com/view.php?id=38782 38782]
=== PBX: Trap if filter next config too long ===
|valign=top nowrap=true|dde
 
|PBX Objects: Merge (and eliminate) Quickdial Object into Directory Search Object
{|
|Status
|<font><font color="green">Closed</font></font>
|-
|-
|Id
|valign=top nowrap=true|[http://mantis.innovaphone.com/view.php?id=1247 1247]
|[http://mantis.innovaphone.com/view.php?id=48554 48554]
|valign=top nowrap=true|gd
|}
|Busy on ... Calls/Twin Phones for Executive
problem: If a PBX Filter is configured with a 'next filter' of a length more then 15 characters the PBX traps<br/><br/>solution: Check for length<br/><br/>files: pbx.cpp<br/><br/>products: all with PBX<br/><br/>risks: none
   
=== If for one user two mobile endpoints are configured, no mobile endpoint could be called ===
 
{|
|Status
|<font><font color="green">Closed</font></font>
|-
|-
|Id
|valign=top nowrap=true|[http://mantis.innovaphone.com/view.php?id=26463 26463]
|[http://mantis.innovaphone.com/view.php?id=48571 48571]
|valign=top nowrap=true|gd
|}
|PBX Hosting: Phones on private Network registered to PBX on public network
problem: Calls to a user with two mobile endpoints resulted in busy. If call-waiting was turned on, only one mobile endpoint was called.<br/><br/>solution: Algorythm to check if a call already exists for a mobile endpoint fixed<br/><br/>files: pbx_mobility.cpp, pbx_mobility.h, pbx.cpp, pbx.h, pbx_api.h, pbx_xml.cpp, pbx_dtmf.cpp<br/><br/>products: all with PBX<br/><br/>risks: Small risk of collateral damage with mobile endpoints
   
=== Call-Completion display at called phone not deleted if calling/called in same but not root node ===
 
{|
|Status
|<font><font color="green">Closed</font></font>
|-
|-
|Id
|valign=top nowrap=true|[http://mantis.innovaphone.com/view.php?id=34874 34874]
|[http://mantis.innovaphone.com/view.php?id=48580 48580]
|valign=top nowrap=true|gd
|}
|Broadcast: Display original diverting Party as well
problem: The Call-Completion waiting display at called endpoint was not deleted after execution of call completion if calling and called endpoint in same but not root node. The mwiDeactivate used to deleted the display contained the wrong number. In a previous fix the mwiActivate which was also wrong was fixed, so before this fix it worked, because both contained the same wrong number<br/><br/>solution: Fix number in mwiDeactivate<br/><br/>files: pbx.cpp<br/><br/>products: all with PBX<br/><br/>risks: None
   
=== Progress Indicator 'Call not end to end ISDN' sent with each H.323 alert ===
 
{|
|Status
|<font><font color="green">Closed</font></font>
|-
|-
|Id
|valign=top nowrap=true|[http://mantis.innovaphone.com/view.php?id=38147 38147]
|[http://mantis.innovaphone.com/view.php?id=48597 48597]
|valign=top nowrap=true|gd
|}
|PBX: Route internal calls to ... interface
problem: The PI 'call not end to end isdn' was sent with each H.323 alert. But this progress code also indicates that in-band info is available, so a local ringback is sometimes turned of because of it.<br/><br/>solution: Do not send 'call is not end to end isdn'<br/><br/>files: relay.cpp<br/><br/>products: all gateway products<br/><br/>risk: Could be that some endpoints require this PI
   
=== Gateway Routing Table: Routing a call to a Gatekeeper registration using Name Out did not work anymore ===
 
{|
|Status
|<font><font color="green">Closed</font></font>
|-
|-
|Id
|valign=top nowrap=true|[http://mantis.innovaphone.com/view.php?id=40874 40874]
|[http://mantis.innovaphone.com/view.php?id=48608 48608]
|valign=top nowrap=true|gd
|}
|Tunneling of sdp thru H.323 to allow sip/video accross locations
problem: When Name Out in a route was used to address a Gatekeeper registration this Name Out was sent with the call. This prohibited further routing of the call on the receiving side with overlap sending.<br/><br/>solution: Do not send Name Out with call if the name is used to identify Gatekeeper reg.<br/><br/>files: relay.cpp<br/><br/>products: all Gateway products<br/><br/>risks: Small risk that this name needs to be transmited for some special configurations
   
=== PBX/Node was added to config object when configuration was changed ===
 
{|
|Status
|<font><font color="green">Closed</font></font>
|-
|-
|Id
|valign=top nowrap=true|[http://mantis.innovaphone.com/view.php?id=42421 42421]
|[http://mantis.innovaphone.com/view.php?id=48612 48612]
|valign=top nowrap=true|gd
|}
|Voice Recording in medialib
problem: When the configuration of a config object was changed (e.g. a Function key added to the phone config), the Node and PBX was set to the local PBX. The config object should never have a Node/PBX. The Node/PBX config could not be removed anymore.<br/><br/>solution: Do not add Node/PBX in this case<br/><br/>files: pbx.cpp<br/><br/>products: all with PBX<br/><br/>risks: None
   
=== Missing normalization of received diverting leg info ===
 
{|
|Status
|<font><font color="green">Closed</font></font>
|-
|-
|Id
|valign=top nowrap=true|[http://mantis.innovaphone.com/view.php?id=43572 43572]
|[http://mantis.innovaphone.com/view.php?id=48624 48624]
|valign=top nowrap=true|jfr
|}
|Ethernet Redundancy with RSTP
problem: A diverting leg info received on a trunk or gateway object must be normalized to the PBX internal representation (number from root with all prefixes but without escapes) to be displayed correctly when sent to an endpoint. This normalization was missing.<br/><br/>solution: Normalization added.<br/><br/>files: pbx.cpp, pbx.h, pbx_api.h<br/><br/>products: all with PBX<br/><br/>risks: None
   
=== PBX: Dialing local objects without PBX config was not possible from different PBX ===
 
{|
|Status
|<font><font color="green">Closed</font></font>
|-
|-
|Id
|valign=top nowrap=true|[http://mantis.innovaphone.com/view.php?id=44096 44096]
|[http://mantis.innovaphone.com/view.php?id=48692 48692]
|valign=top nowrap=true|mst
|}
|switchboard, italian localization
problem: If an object is defined without PBX and Node, it is handled on each PBX as if it was configured for the local PBX/Node. Thus it should be possible to dial it on a given PBX by using the node prefix of this PBX. This was not possible if the local flag on the object was set as well.<br/><br/>solution: PBX routing fixed<br/><br/>files: pbx.cpp, pbx.h, pbx_api.h, pbx_dtmf.cpp<br/><br/>products: all with PBX<br/><br/>risks: Collateral damage within routing to 'local' objects<br/><br/>
   
=== Trap if T.38 timer expiry during closing of T.38 session ===
 
{|
|Status
|<font><font color="green">Closed</font></font>
|-
|-
|Id
|valign=top nowrap=true|[http://mantis.innovaphone.com/view.php?id=41652 41652]
|[http://mantis.innovaphone.com/view.php?id=48707 48707]
|valign=top nowrap=true|tac
|}
|Switch off Gateway CDRs completely
problem: If a T.38 timer expired right within the fraction of a ms which it takes to close the T.38 session, a trap happened<br/><br/>solution: Stop timer before closing session<br/><br/>files: media.cpp<br/><br/>products: all<br/><br/>risks: None
   
=== PBX: As diverting number the real number was sent even if Send Number configured ===
 
{|
|Status
|<font><font color="green">Closed</font></font>
|-
|-
|Id
|valign=top nowrap=true|[http://mantis.innovaphone.com/view.php?id=38471 38471]
|[http://mantis.innovaphone.com/view.php?id=48718 48718]
|valign=top nowrap=true|tac
|}
|Implementation of Microsoft call forking header in SIP for OCS dual-forking
problem: The 'Send Number' should be sent as diverting number if configured<br/><br/>solution: Send 'Send Number' as diverting number if configured<br/><br/>files: pbx.cpp<br/><br/>products: all with PBX<br/><br/>risks: None
   
=== PBX: Reject external calls did not work as desired together with call forward ===
 
{|
|Status
|<font><font color="green">Closed</font></font>
|-
|-
|Id
|valign=top nowrap=true|[http://mantis.innovaphone.com/view.php?id=43438 43438]
|[http://mantis.innovaphone.com/view.php?id=48727 48727]
|valign=top nowrap=true|tac
|}
|OCS Federation
problem: An endpoint with 'Reject Ext. Calls' set should not be able to forward external calls. An external call forwarded to an endpoint with 'Reject Ext. Calls' set should succeed.<br/><br/>solution: fixed<br/><br/>files: pbx.cpp<br/><br/>products: all with PBX<br/><br/>risks: Could be that the old behaviour was desired in some installations
   
=== Potential trap when reconfiguring Gateway interfaces ===
 
{|
|Status
|<font><font color="green">Closed</font></font>
|-
|-
|Id
|valign=top nowrap=true|[http://mantis.innovaphone.com/view.php?id=44718 44718]
|[http://mantis.innovaphone.com/view.php?id=48833 48833]
|valign=top nowrap=true|tac
|}
|FR: repeat=integer URL für webmedia/WQ
problem: If a gateway interface is reconfigured while calls are active a trap could happen later on.<br/><br/>solution: Better handling of reconfiguration<br/><br/>files: signal.cpp, signal.h<br/><br/>products: all<br/><br/>risks: none
   
=== Gateway: Trap if reconfiguring an analog interface registration with Feature Code support ===
 
{|
|Status
|<font><font color="green">Closed</font></font>
|-
|-
|Id
|valign=top nowrap=true|[http://mantis.innovaphone.com/view.php?id=10943 10943]
|[http://mantis.innovaphone.com/view.php?id=48838 48838]
|valign=top nowrap=true|tsr
|}
|Call-Completion interworking to ISDN (CCB, CCNR)
problem: If the reegistration configuration of an analog interface (e.g. changing registration name/no) was changed a trap happened when the registration was up again. Happened only with enabled Feature Codes.<br/><br/>solution: Better handling of reconfiguration<br/><br/>files: dtmffty.cpp, gk.cpp, relayfty.cpp, relayfty.h, relayfty_if.h<br/><br/>products: all with analog interfaces<br/><br/>risks: Minimal
   
=== PBX: Device configuration was lost, if PBX object was changed with SOAP Admin function ===
 
{|
|Status
|<font><font color="green">Closed</font></font>
|-
|-
|Id
|valign=top nowrap=true|[http://mantis.innovaphone.com/view.php?id=35814 35814]
|[http://mantis.innovaphone.com/view.php?id=48874 48874]
|valign=top nowrap=true|vsi
|}
|IP72: lcd light per default an
problem: The <device/> tag could not be written with the SOAP Admin function, so this information was lost, when an object was changed or created using this method.<br/><br/>solution: Allow <device/> tag<br/><br/>files: pbx.cpp<br/><br/>products: all with PBX<br/><br/>risks: None
   
=== Master PBX to obtain licenses from another Master ===
 
{|
|Status
|<font><font color="green">Closed</font></font>
|-
|-
|Id
|valign=top nowrap=true|[http://mantis.innovaphone.com/view.php?id=39188 39188]
|[http://mantis.innovaphone.com/view.php?id=48938 48938]
|valign=top nowrap=true|vsi
|}
|New v8 ringing calls display
problem: There are configurations in which centralized licensing is desired but otherwise independent Master PBXs are needed.<br/><br/>solution: Configuration option added to allow a slave to register at a master to obtain licenses, but act as master in all other respects<br/><br/>files: pbx.cpp, pbx.h, pbx_general.xsl<br/><br/>products: all with PBX<br/><br/>risks: Minimal
   
=== Do not allow special characters for Kerberos realm names ===
 
{|
|Status
|<font><font color="green">Closed</font></font>
|-
|-
|Id
|valign=top nowrap=true|[http://mantis.innovaphone.com/view.php?id=39381 39381]
|[http://mantis.innovaphone.com/view.php?id=47634 47634]
|valign=top nowrap=true|gd
|}
|use H.323 hop_count to stop call loops
Problem: On the General/Kerberos page the name of the server realm was not checked. Only domain style names should be allowed.<br/><br/>Solution: Allow only A-Z a-z 0-9 . -<br/><br/>Files: kerberos_db.cpp<br/><br/>Products affected: Gateways<br/><br/>Risk: No risk
   
=== Timing problem at the first request to a Kerberos server ===
 
{|
|Status
|<font><font color="green">Closed</font></font>
|-
|-
|Id
|valign=top nowrap=true|[http://mantis.innovaphone.com/view.php?id=40288 40288]
|[http://mantis.innovaphone.com/view.php?id=48380 48380]
|valign=top nowrap=true|mst
|}
|Switchboard, Reverse-LDAP Lookup Support for Estos Metadir
Problem: Currently there is a timing problem when a Kerberos server receives its very first ticket request. To answer this (and any following) requests the server needs its own secret key. The current flow is that the server calculates this key, answers the request and then writes the key to the database. Until the key has been written all following requests will be answered with a Kerberos error message. As a consequence the very first try to join the Kerberos realm fails.<br/><br/>Solution: The server has to wait until the key has been written to the database before it answers the first request.<br/><br/>Files affected: kerberos_ldap.h, kerberos_ldap.cpp, kerberos_db.cpp<br/><br/>Risk: small
   
=== "vars del" does not delete additional administrator accounts ===
 
{|
|Status
|<font><font color="green">Closed</font></font>
|-
|-
|Id
|valign=top nowrap=true|[http://mantis.innovaphone.com/view.php?id=40404 40404]
|[http://mantis.innovaphone.com/view.php?id=48400 48400]
|valign=top nowrap=true|mst
|}
|Switchboard, Localization
Problem: The "vars del" command preserves all VARS with the name prefix CMD0. Therefore the additional administrator accounts and other module configuration are not reset. This problem occurs on factory resets and config updates.<br/><br/>Solution: Preserve only "CMD0/AUTH" when executing the "vars del" command.<br/><br/>Files affected: command.cpp<br/><br/>Risks: none
   
=== Trap when configuring empty realm name for Kerberos server ===
 
{|
|Status
|<font><font color="green">Closed</font></font>
|-
|-
|Id
|valign=top nowrap=true|[http://mantis.innovaphone.com/view.php?id=40406 40406]
|[http://mantis.innovaphone.com/view.php?id=48405 48405]
|valign=top nowrap=true|mst
|}
|Switchboard, Park, De-Park
Problem: On the General/Kerberos page the box traps when the user removes the realm name and clicks the Ok button.<br/><br/>Solution: Fix processing of form.<br/><br/>Files: kerberos_db.cpp<br/><br/>Risks: none
   
=== Configuration of _KADMIN_ password ===
 
{|
|Status
|<font><font color="green">Closed</font></font>
|-
|-
|Id
|valign=top nowrap=true|[http://mantis.innovaphone.com/view.php?id=40636 40636]
|[http://mantis.innovaphone.com/view.php?id=48504 48504]
|valign=top nowrap=true|mst
|}
|switchboard: Read/Write User Configuration
Problem: On the PBX/Security page the _KADMIN_ password can only be deleted by removing it from the first one of the two input fields. This is inconsistent with the configuration of the other users that can also be deleted by removing the password from both input fields.<br/><br/>Solution: Implement the deleting of the _KADMIN_ password in a consistent way: Removing the password from the first or both fields removes the _KADMIN_ user.<br/><br/>Files: pbx_admin.cpp, pbx_password.xsl<br/><br/>Risks: Small risk of collateral damage
   
=== Remove memory leak in kerberos client ===
 
{|
|Status
|<font><font color="green">Closed</font></font>
|-
|-
|Id
|valign=top nowrap=true|[http://mantis.innovaphone.com/view.php?id=41109 41109]
|[http://mantis.innovaphone.com/view.php?id=48720 48720]
|valign=top nowrap=true|mst
|}
|Switchboard, Persist Window Size+Position, Some Column-Widths
Problem: When the decryption of a Kerberos ticket fails a memory leak is left. Also the Kerberos client does not report this to the application.<br/><br/>Solution: Fix protocol implementation and Kerberos client.<br/><br/>Files: kerberos_prot.cpp, kerberos_client.cpp<br/><br/>Risk: none
   
=== Leaks with DECT signalling using TLS ===
 
{|
|Status
|<font><font color="green">Closed</font></font>
|-
|-
|Id
|valign=top nowrap=true|[http://mantis.innovaphone.com/view.php?id=41108 41108]
|[http://mantis.innovaphone.com/view.php?id=48794 48794]
|valign=top nowrap=true|mst
|}
|Switchboard, Forward-LDAP Lookup Support for Estos Metadir
Problem: Sometimes the TLS sockets that are used by DECT signalling are not deleted because of a shutdown event collision in the TLS socket<br/><br/>Solution: Fix TLS shutdown flow<br/><br/>Files: tls.cpp<br/><br/>Risk: Collateral damage with other applications using TLS
   
=== Trust manufacturer root certificate by default if there is no certificate in flash ===
 
{|
|Status
|<font><font color="green">Closed</font></font>
|-
|-
|Id
|valign=top nowrap=true|[http://mantis.innovaphone.com/view.php?id=4326 4326]
|[http://mantis.innovaphone.com/view.php?id=48861 48861]
|valign=top nowrap=true|ckl
|}
|First und Last Diverting party in leg2 Info
Problem: New devices are equipped with a certificate chain stored in first flash segment. The devices will add the root certitificate to the trust list at first boot. If there is no certificate in flash this will not happen. Hence staging with HTTPS-based update scripts did not work on legacy devices.<br/><br/>Feature: Add a OEM specific manufacturer certificate in the product_info in the firmware. If present, this certificate will be trusted after factory reset, if there is no certificate in flash.<br/><br/>Files: box.cpp, box.h, os.h, ipXXX.cpp, x509.cpp<br/><br/>Risk: Collateral damage on the X509 module and product_info mechanism
   
=== Presence subscription to external user failed when forwarded through PBX object "Gateway" ===
 
{|
|Status
|<font><font color="green">Closed</font></font>
|-
|-
|Id
|valign=top nowrap=true|[http://mantis.innovaphone.com/view.php?id=26584 26584]
|[http://mantis.innovaphone.com/view.php?id=48791 48791]
|valign=top nowrap=true|ckl
|determination of large pbx dimensioning
|-
|valign=top nowrap=true|[http://mantis.innovaphone.com/view.php?id=42666 42666]
|valign=top nowrap=true|mst
|operator, freq automatic nightswitch
|-
|valign=top nowrap=true|[http://mantis.innovaphone.com/view.php?id=7304 7304]
|valign=top nowrap=true|tac
|rfc4235 notifications
|-
|valign=top nowrap=true|[http://mantis.innovaphone.com/view.php?id=7650 7650]
|valign=top nowrap=true|tac
|SIP AOC
|-
|valign=top nowrap=true|[http://mantis.innovaphone.com/view.php?id=46769 46769]
|valign=top nowrap=true|jfr
|display diverting party in addition to calling party on partner and pickup key
|-
|valign=top nowrap=true|[http://mantis.innovaphone.com/view.php?id=42959 42959]
|valign=top nowrap=true|mst
|switchboard, Maximize App' on Call-Connect. Call Info when minimized (a'la Outlook)
|-
|valign=top nowrap=true|[http://mantis.innovaphone.com/view.php?id=32784 32784]
|valign=top nowrap=true|teh
|bc conference object: message support
|}
|}
Problem: "Gateway" object did not remove its prefix when forwarding subscription.<br/><br/>Solution: Remove prefix when forwarding presence subscription.<br/><br/>Files: pbx.cpp<br/><br/>Products affected: PBX<br/><br/>Risk: No risk.
 
      
      
=== PBX Broadcast Conference Option ===
== Bug Fixes ==
 
 
=== Other Bug Fixes ===


{|
{|
|Status
|<font><font color="green">Closed</font></font>
|-
|-
|Id
|valign=top nowrap=true|[http://mantis.innovaphone.com/view.php?id=46167 46167]
|[http://mantis.innovaphone.com/view.php?id=47886 47886]
|valign=top nowrap=true|mst
|}
|switchboard, XP Installation abbrechen, wenn .Net CLR &lt; 2.0.50727.1433
problem: It should be possible to configure if the last remaining user in a conference call should be disconnected or not.<br/><br/>solution: New configuration option implemented.<br/><br/>files: pbx_bc_conf.h, pbx_bc_conf.cpp, pbx_edit_bc_conf.xsl.<br/><br/>products affected: All devices with PBX.<br/><br/>risk: Minimal risk of collateral damage.  
|-
   
|valign=top nowrap=true|[http://mantis.innovaphone.com/view.php?id=13468 13468]
=== IP-DECT OEM  user database import/export ===
|valign=top nowrap=true|vsi
 
|blind transfer und FTY_CT_SETUP info ergeben irreführende Anzeige beim Ziel
{|
|Status
|<font><font color="green">Closed</font></font>
|-
|-
|Id
|valign=top nowrap=true|[http://mantis.innovaphone.com/view.php?id=44177 44177]
|[http://mantis.innovaphone.com/view.php?id=47889 47889]
|valign=top nowrap=true|vsi
|}
|incoming calls from SIPGATE carry same public number in both alias/name/number
problem: New functions for OEM import/export of user data like export filter, ipei checksum or error messages.<br/><br/>solution: Functionality implemented.<br/><br/>files: dectusers_if.h, dectusers.h, dectusers.cpp, OEM xsl files.<br/><br/>products affected: All DECT devices.<br/><br/>risk: Minimal risk of collateral damage.
   
=== IP-DECT idle display update ===
 
{|
|Status
|<font><font color="green">Closed</font></font>
|-
|-
|Id
|valign=top nowrap=true|[http://mantis.innovaphone.com/view.php?id=47401 47401]
|[http://mantis.innovaphone.com/view.php?id=47891 47891]
|valign=top nowrap=true|
|}
|Trap in RELAY on call completion interworking
problem: Idle display update does not work for DECT handsets.<br/><br/>solution: Functionality implemented, but it must be enabled over the GUI and must not be used if foreign handsets are used.<br/><br/>files: dectmaster.h, dectmaster.cpp, dectmaster.xsl.<br/><br/>products affected: All DECT devices.<br/><br/>risk: Minimal risk of collateral damage.
   
=== IP-DECT GUI Authentication Code ===
 
{|
|Status
|<font><font color="green">Closed</font></font>
|-
|-
|Id
|valign=top nowrap=true|[http://mantis.innovaphone.com/view.php?id=42951 42951]
|[http://mantis.innovaphone.com/view.php?id=47892 47892]
|valign=top nowrap=true|mst
|switchboard, multi-registration confusions
|-
|valign=top nowrap=true|[http://mantis.innovaphone.com/view.php?id=40375 40375]
|valign=top nowrap=true|tac
|SIP passwords were limited to 15 characters
|-
|valign=top nowrap=true|[http://mantis.innovaphone.com/view.php?id=40870 40870]
|valign=top nowrap=true|tac
|Media negotiation problem on SIP/SIP video calls
|-
|valign=top nowrap=true|[http://mantis.innovaphone.com/view.php?id=33570 33570]
|valign=top nowrap=true|tac
|ip72: wifi roaming and IP address changes thru dhcp after reassoc with new wifi network
|}
|}
problem: The configuration option for the System Authentication Code is not shown.<br/><br/>solution: Fixed.<br/><br/>files: dectusers.xsl.<br/><br/>products affected: All DECT devices.<br/><br/>risk: No risk of collateral damage. Only GUI change.
 
   
= V8 Hotfix  1 (10-80500.01) =
Fixes included in Version 8 hotfix1
[http://mantis.innovaphone.com/view.php?id=47564 Definition]
 
== New Features ==
 
 
      
      
=== IP-DECT RTP stream of second hold call ===
=== incorrect pointer assignment in submit_config of dtmf/icp object and false configuration possibility ===


{|
{|
Line 440: Line 307:
|-
|-
|Id
|Id
|[http://mantis.innovaphone.com/view.php?id=47894 47894]
|[http://mantis.innovaphone.com/view.php?id=47716 47716]
|}
|}
problem: The RTP stream of the second call is not stopped if the call is hold and an unattended call transfer is initiated.<br/><br/>solution: RTP stop event added.<br/><br/>files: dectradio.cpp.<br/><br/>products affected: All DECT devices.<br/><br/>risk: Minimal risk of collateral damage.
problem: a) local buffer assigned to a given pointer<br/>        b) it was possible to configure just one of two needed e164 and if configured just one (which makes sense for pickup), the code was not correctly shown as enabled in configuration window.<br/><br/>solution: fix in code<br/> <br/>files: pbx_dtmf.h, pbx_dtmf.cpp, pbx_edit_dtmf-ctrl.xsl, pbx_icp.cpp<br/><br/>products: all pbx products<br/><br/>risks: None
      
      
=== IP-DECT handset product id/software version ===
=== dtmf feature code set presence used wrong argument to toggle the mobility ===


{|
{|
Line 451: Line 318:
|-
|-
|Id
|Id
|[http://mantis.innovaphone.com/view.php?id=47897 47897]
|[http://mantis.innovaphone.com/view.php?id=47916 47916]
|}
|}
problem: There is no possibility to see the handset product id and software version.<br/><br/>solution: Tool-tip with the product id and software version of the handset has been added for the IPEI item in the GUI user list. It will be available after restart of the handset.<br/><br/>files: dectmaster.cpp, dectradio.cpp, dect_users_right.xsl(OEM).<br/><br/>products affected: All DECT devices.<br/><br/>risk: Minimal risk of collateral damage.
problem: the feature code argument for toggling mobility was swapped<br/><br/>solution: use correct argument index<br/> <br/>files: pbx_dtmf.cpp<br/><br/>products: all pbx devices<br/><br/>risks: None
      
      
=== IP-DECT OEM module software update ===
=== no presence note set if no activity has been selected ===


{|
{|
Line 462: Line 329:
|-
|-
|Id
|Id
|[http://mantis.innovaphone.com/view.php?id=47934 47934]
|[http://mantis.innovaphone.com/view.php?id=48446 48446]
|}
|}
problem: There are new software versions of the OEM software modules: BMC interface software, MSF module and Skinny protocol.<br/><br/>solution: OEM modules replaced.<br/><br/>files: DECT files, MSF files, Skinny files, config.h, fty.h, fty.cpp.<br/><br/>products affected: All DECT devices.<br/><br/>risk: Normal risk of collateral damage. Updated from improved OEM branch.
problem: if the activity is empty, but a note given, no note was set for this presence index<br/><br/>solution: use note even if no activity is given<br/> <br/>files: pbx_dtmf.cpp<br/><br/>products: all pbx devices<br/><br/>risks: None
      
      
=== IP-DECT MSF module login ===
=== handle calls from master/slave user in dtmf object if calling number is found as mobility fork ===


{|
{|
Line 473: Line 340:
|-
|-
|Id
|Id
|[http://mantis.innovaphone.com/view.php?id=47984 47984]
|[http://mantis.innovaphone.com/view.php?id=48448 48448]
|}
|}
problem: It is not possible to login to the MSF module.<br/><br/>solution: Function signature changed with the new MSF module version.<br/><br/>files: dectmsf.h, dectmsf.cpp, telnet.cpp.<br/><br/>products affected: All DECT devices.<br/><br/>risk: Minimal risk of collateral damage. Updated from improved OEM branch.
problem: if a call comes from the master/slave user, the dtmf object cancels the call, even if there is a user which has the calling number as mobility fork<br/><br/>solution: check mobility users for incoming master/slave calls and if a user is found, use this one<br/> <br/>files: pbx_dtmf.cpp<br/><br/>products: all pbx devices<br/><br/>risks: None
      
      
=== IP-DECT GUI MWI numbers ===
=== allow empty search base in directory search object ===


{|
{|
Line 484: Line 351:
|-
|-
|Id
|Id
|[http://mantis.innovaphone.com/view.php?id=48411 48411]
|[http://mantis.innovaphone.com/view.php?id=48703 48703]
|}
|}
problem: The configuration options for MWI numbers are not shown.<br/><br/>solution: Fixed.<br/><br/>files: dectfty.xsl.<br/><br/>products affected: All DECT devices.<br/><br/>risk: No risk of collateral damage. Only GUI change.
problem: ldap server needs an empty search base, but the directory search object doesn't allow an empty one<br/><br/>solution: disable check for empty search base<br/> <br/>files: pbx_dirsearch.cpp<br/><br/>products: all pbx devices<br/><br/>risks: None
      
      
=== IP-DECT SARI variable ===
=== Potential trap accessing NULL pointer in PBX Waiting Object ===


{|
{|
Line 495: Line 362:
|-
|-
|Id
|Id
|[http://mantis.innovaphone.com/view.php?id=48436 48436]
|[http://mantis.innovaphone.com/view.php?id=47563 47563]
|}
|}
problem: The SARI variable is updated every configuration change, but is not needed in OEM modules.<br/><br/>solution: Update condition fixed.<br/><br/>files: dectlocalusers.cpp.<br/><br/>products affected: All DECT devices.<br/><br/>risk: No risk of collateral damage.
problem: There is a small chance of a NULL pointer access trap when doing confuguration changes on a Waiting Queue object right when a call is cleared<br/><br/>solution: Check for NULL pointer added<br/><br/>files: pbx_wait.cpp<br/><br/>products: all with PBX<br/><br/>risks: None
      
      
=== IP-DECT facility entity memory leak ===
=== One-way-voice after retrieve together with SRTP, H323 and Registration with password ===


{|
{|
Line 506: Line 373:
|-
|-
|Id
|Id
|[http://mantis.innovaphone.com/view.php?id=48852 48852]
|[http://mantis.innovaphone.com/view.php?id=48442 48442]
|}
|}
problem: Facility entity objects aren't deleted in rare situations.<br/><br/>solution: Facility entity delete function call fixed.<br/><br/>files: dectmaster.cpp, dectradio.cpp.<br/><br/>products affected: All DECT devices.<br/><br/>risk: Minimal risk of collateral damage.
problem: One-way-voice could happen after retrieve, if SRTP is used on H.323 call, which uses a refistration with password. This could also happen when switching to a 3-pty conference (retrieve done on one leg). This is caused by an unencrypted SRTP key sent with the media renegotiation.<br/><br/>solution: Do encryption of the SRTP key.<br/><br/>files: h323sig.cpp<br/><br/>products: all<br/><br/>risks: Collateral damage with media negotiation
      
      
=== H450 debug info ===
=== Display of hardware id missing for UNKNOWN Registrations ===


{|
{|
Line 517: Line 384:
|-
|-
|Id
|Id
|[http://mantis.innovaphone.com/view.php?id=48889 48889]
|[http://mantis.innovaphone.com/view.php?id=48493 48493]
|}
|}
problem: Additional debug messages are needed for the h450_entity object.<br/><br/>solution: Debug info added.<br/><br/>files: h450.h, h450.cpp.<br/><br/>products affected: All devices with H323.<br/><br/>risk: No risk of collateral damage.
problem: The Hardware Id is not displayed for Unknown Registrations on the Registrations page and is not copied into the edit page<br/><br/>solution: User Interface fixed<br/><br/>files: pbx_regs.xsl, pbx_edit_object.xsl<br/><br/>products: All with PBX<br/><br/>risks: None
      
      
=== PBX BC conference object TAPI information ===
=== When pressing apply on PBX Objects Node editor, the editor changed to a PBX editor ===


{|
{|
Line 528: Line 395:
|-
|-
|Id
|Id
|[http://mantis.innovaphone.com/view.php?id=48940 48940]
|[http://mantis.innovaphone.com/view.php?id=48500 48500]
|}
|}
problem: The broadcast conference object does not generate information for TAPI.<br/><br/>solution: Monitor connector added which generates the TAPI information.<br/><br/>files: pbx_bc_conf.h, pbx_bc_conf.cpp.<br/><br/>products affected: All devices with PBX.<br/><br/>risk: Minimal risk of collateral damage.
problem: After apply the wrong .xsl was used (pbx_edit_loc.xsl instead of pbx_edit_node.xsl)<br/><br/>solution: Use correct .xsl<br/><br/>files: pbx_edit_node.xsl<br/><br/>products: all with PBX<br/><br/>risks: None
      
      
=== IP-DECT GUI user search ===
=== Trap if dialing wrong number from mobile phone ===


{|
{|
Line 539: Line 406:
|-
|-
|Id
|Id
|[http://mantis.innovaphone.com/view.php?id=48946 48946]
|[http://mantis.innovaphone.com/view.php?id=48543 48543]
|}
|}
problem: A wrong URL is generated if a question mark is typed in the user search field.<br/><br/>solution: Search field text encoding fixed.<br/><br/>files: dect_users_left.xsl.<br/><br/>products affected: All DECT devices.<br/><br/>risk: No risk of collateral damage. Only GUI change.
problem: A trap happens if a mobile endpoint dials a wrong number and continues to dial when the busy tone is already played.<br/><br/>solution: Better handling of DTMF during playing busy<br/><br/>files: pbx_mobility.cpp<br/><br/>products: all with PBX<br/><br/>risks: Minimal risk of collateral damage
      
      
=== Presence note ignored if presence activity has been set ===
=== PBX: Trap if filter next config too long ===


{|
{|
Line 550: Line 417:
|-
|-
|Id
|Id
|[http://mantis.innovaphone.com/view.php?id=48863 48863]
|[http://mantis.innovaphone.com/view.php?id=48554 48554]
|}
|}
problem: Presence note ignored if presence activity has been set, the calling party expects to see both the activity and the note<br/><br/>solution: fixed in code<br/><br/>files: phone/app_disp.cpp<br/><br/>products: all telephones<br/><br/>risks: none<br/><br/><br/>
problem: If a PBX Filter is configured with a 'next filter' of a length more then 15 characters the PBX traps<br/><br/>solution: Check for length<br/><br/>files: pbx.cpp<br/><br/>products: all with PBX<br/><br/>risks: none
      
      
=== IP22 Interop with devices that do not support T38 redundancy and retransmits ===
=== If for one user two mobile endpoints are configured, no mobile endpoint could be called ===


{|
{|
|Status
|Status
|<font><font color="green">Resolved</font></font>
|<font><font color="green">Closed</font></font>
|-
|-
|Id
|Id
|[http://mantis.innovaphone.com/view.php?id=47774 47774]
|[http://mantis.innovaphone.com/view.php?id=48571 48571]
|}
|}
problem: Some fax gateways (e.g. old avaya equipment) do not accept T.38 packet with redundancy or do no accept resent packets with the same sequence number<br/><br/>solution: DSP config added, use http://addr/AC-DSP0/info.xml?xsl=dsp.xsl to edit the settings.<br/><br/>files: ac_dsp3.cpp ac_dsp3.h ac_dsp3.mak dsp.xsl<br/>products: IP2x IP30x<br/>risks: Low
problem: Calls to a user with two mobile endpoints resulted in busy. If call-waiting was turned on, only one mobile endpoint was called.<br/><br/>solution: Algorythm to check if a call already exists for a mobile endpoint fixed<br/><br/>files: pbx_mobility.cpp, pbx_mobility.h, pbx.cpp, pbx.h, pbx_api.h, pbx_xml.cpp, pbx_dtmf.cpp<br/><br/>products: all with PBX<br/><br/>risks: Small risk of collateral damage with mobile endpoints
      
      
=== Modem interop problem ===
=== Call-Completion display at called phone not deleted if calling/called in same but not root node ===


{|
{|
|Status
|Status
|<font><font color="orange">To-decide</font></font>
|<font><font color="green">Closed</font></font>
|-
|-
|Id
|Id
|[http://mantis.innovaphone.com/view.php?id=48622 48622]
|[http://mantis.innovaphone.com/view.php?id=48580 48580]
|}
|}
problem: The modem bypass function does not work with some modems.<br/><br/>solution: Option to disable modem bypass added, pcm trace option added, new DSP code<br/><br/>files: ac_dsp3.cpp ac_dsp3.h dsp.xsl trace.xsl ac49?004.h ac49x_drv_*.h<br/><br/>products: ip22 ip24 ip28 ip302 ip305<br/><br/>risk: low risk<br/>
problem: The Call-Completion waiting display at called endpoint was not deleted after execution of call completion if calling and called endpoint in same but not root node. The mwiDeactivate used to deleted the display contained the wrong number. In a previous fix the mwiActivate which was also wrong was fixed, so before this fix it worked, because both contained the same wrong number<br/><br/>solution: Fix number in mwiDeactivate<br/><br/>files: pbx.cpp<br/><br/>products: all with PBX<br/><br/>risks: None
      
      
=== prevent creation of pbx dtmf object with char '#' in long name ===
=== Progress Indicator 'Call not end to end ISDN' sent with each H.323 alert ===


{|
{|
Line 583: Line 450:
|-
|-
|Id
|Id
|[http://mantis.innovaphone.com/view.php?id=47805 47805]
|[http://mantis.innovaphone.com/view.php?id=48597 48597]
|}
|}
problem: it was possible to create a dtmf object with long name dtmf#join_group. If one then creates another dtmf object with long name dtmf and feature code join group enabled, it traps, because the object tries to create another user with dtmf#join_group as long name without check.<br/><br/>solution: disallow char '#' in long name of dtmf object<br/> <br/>files: pbx_dtmf.cpp<br/><br/>products: all pbx devices<br/><br/>risks: None
problem: The PI 'call not end to end isdn' was sent with each H.323 alert. But this progress code also indicates that in-band info is available, so a local ringback is sometimes turned of because of it.<br/><br/>solution: Do not send 'call is not end to end isdn'<br/><br/>files: relay.cpp<br/><br/>products: all gateway products<br/><br/>risk: Could be that some endpoints require this PI
      
      
=== feature codes are not always working for mobility, if multiple mobility objects exist ===
=== Gateway Routing Table: Routing a call to a Gatekeeper registration using Name Out did not work anymore ===


{|
{|
Line 594: Line 461:
|-
|-
|Id
|Id
|[http://mantis.innovaphone.com/view.php?id=48602 48602]
|[http://mantis.innovaphone.com/view.php?id=48608 48608]
|}
|}
problem: if there are more than one mobility objects, mobility feature codes didn't work for users with the second (etc.) mobility object<br/><br/>solution: recursivly go through mobility objects when trying to find a user with a certain fork number<br/> <br/>files: pbx_dtmf.cpp, pbx.cpp, pbx.h, pbx_api.h<br/><br/>products: all pbx devices<br/><br/>risks: None
problem: When Name Out in a route was used to address a Gatekeeper registration this Name Out was sent with the call. This prohibited further routing of the call on the receiving side with overlap sending.<br/><br/>solution: Do not send Name Out with call if the name is used to identify Gatekeeper reg.<br/><br/>files: relay.cpp<br/><br/>products: all Gateway products<br/><br/>risks: Small risk that this name needs to be transmited for some special configurations
      
      
=== enabling mobility/cw didn't work for 2 stage dialing over mobility object ===
=== PBX/Node was added to config object when configuration was changed ===


{|
{|
Line 605: Line 472:
|-
|-
|Id
|Id
|[http://mantis.innovaphone.com/view.php?id=48616 48616]
|[http://mantis.innovaphone.com/view.php?id=48612 48612]
|}
|}
problem: if a mobil client tries to call its mobility object first and then dials the corresponding feature code for mobility on/off (and mobility cw), it didn't work<br/><br/>solution: separate method for toggling mobility/cw on calling user object<br/> <br/>files: pbx_dtmf.cpp, pbx.cpp, pbx.h, pbx_api.h<br/><br/>products: all pbx devices<br/><br/>risks: None  
problem: When the configuration of a config object was changed (e.g. a Function key added to the phone config), the Node and PBX was set to the local PBX. The config object should never have a Node/PBX. The Node/PBX config could not be removed anymore.<br/><br/>solution: Do not add Node/PBX in this case<br/><br/>files: pbx.cpp<br/><br/>products: all with PBX<br/><br/>risks: None
      
      
=== use flashman erase on "reset to factory defaults" ===
=== Missing normalization of received diverting leg info ===


{|
{|
Line 616: Line 483:
|-
|-
|Id
|Id
|[http://mantis.innovaphone.com/view.php?id=47983 47983]
|[http://mantis.innovaphone.com/view.php?id=48624 48624]
|}
|}
problem: when resetting telephones to factory defaults, first default registration survives the reset<br/><br/>solution: use flashman erase now<br/><br/>files: phone/admin/phone_admin.cpp<br/><br/>products: all telephones<br/><br/>risks: none known<br/><br/><br/><br/>
problem: A diverting leg info received on a trunk or gateway object must be normalized to the PBX internal representation (number from root with all prefixes but without escapes) to be displayed correctly when sent to an endpoint. This normalization was missing.<br/><br/>solution: Normalization added.<br/><br/>files: pbx.cpp, pbx.h, pbx_api.h<br/><br/>products: all with PBX<br/><br/>risks: None
      
      
=== malloc must always run disabled ===
=== PBX: Dialing local objects without PBX config was not possible from different PBX ===


{|
{|
Line 627: Line 494:
|-
|-
|Id
|Id
|[http://mantis.innovaphone.com/view.php?id=47646 47646]
|[http://mantis.innovaphone.com/view.php?id=48692 48692]
|}
|}
problem: usually malloc is called only from disabled state. in some extremely rare cases (for example before a DRAM upload) it is called from enabled state and then an interrupt may cause assignment of the same memory chunk to different callers.<br/> <br/>solution: fix in code<br/> <br/>files: os.cpp<br/><br/>products: all products<br/><br/>risks: None
problem: If an object is defined without PBX and Node, it is handled on each PBX as if it was configured for the local PBX/Node. Thus it should be possible to dial it on a given PBX by using the node prefix of this PBX. This was not possible if the local flag on the object was set as well.<br/><br/>solution: PBX routing fixed<br/><br/>files: pbx.cpp, pbx.h, pbx_api.h, pbx_dtmf.cpp<br/><br/>products: all with PBX<br/><br/>risks: Collateral damage within routing to 'local' objects<br/><br/>
''Status:''
checked in to 9.00,8.00,09-80500
      
      
=== reduce phone firmware size by excluding unused LDAP components ===
=== Trap if T.38 timer expiry during closing of T.38 session ===


{|
{|
Line 640: Line 505:
|-
|-
|Id
|Id
|[http://mantis.innovaphone.com/view.php?id=47709 47709]
|[http://mantis.innovaphone.com/view.php?id=48707 48707]
|}
|}
problem: references from flashdir module to fdirui object (flash dir user interface) force the inclusion of objects which are not used in the phone.<br/> <br/>solution: conditional compilation of flashdirui.cpp to prevent references, conditional linking of objects<br/> <br/>files: common/service/ldap/flashdir.cpp, common/service/ldap/ldap.mak, phone_inca.mak, ip72.mak, phone_coldfire.mak<br/><br/>products: all products<br/><br/>risks: None<br/>
problem: If a T.38 timer expired right within the fraction of a ms which it takes to close the T.38 session, a trap happened<br/><br/>solution: Stop timer before closing session<br/><br/>files: media.cpp<br/><br/>products: all<br/><br/>risks: None
''Status:''
checked in to 9.00,8.00,09-80500
      
      
=== Config download must be supressed in phone training mode ===
=== PBX: As diverting number the real number was sent even if Send Number configured ===


{|
{|
Line 653: Line 516:
|-
|-
|Id
|Id
|[http://mantis.innovaphone.com/view.php?id=47713 47713]
|[http://mantis.innovaphone.com/view.php?id=48718 48718]
|}
|}
problem: Config download is not supressed in phone training mode.<br/> <br/>solution: fix in code<br/> <br/>files: phone_save_hdr.xml<br/><br/>products: all phones<br/><br/>risks: None<br/>
problem: The 'Send Number' should be sent as diverting number if configured<br/><br/>solution: Send 'Send Number' as diverting number if configured<br/><br/>files: pbx.cpp<br/><br/>products: all with PBX<br/><br/>risks: None
''Status:''
checked in to 9.00,8.00,09-80500
      
      
=== provide uptime and local time of trap in debug log ===
=== PBX: Reject external calls did not work as desired together with call forward ===


{|
{|
Line 666: Line 527:
|-
|-
|Id
|Id
|[http://mantis.innovaphone.com/view.php?id=47855 47855]
|[http://mantis.innovaphone.com/view.php?id=48727 48727]
|}
|}
problem: sometimes it's helpful to know at which time of day and how long after boot a trap occured<br/><br/>solution: fix in code<br/> <br/>files: box.cpp<br/><br/>products: all<br/><br/>risks: None<br/>
problem: An endpoint with 'Reject Ext. Calls' set should not be able to forward external calls. An external call forwarded to an endpoint with 'Reject Ext. Calls' set should succeed.<br/><br/>solution: fixed<br/><br/>files: pbx.cpp<br/><br/>products: all with PBX<br/><br/>risks: Could be that the old behaviour was desired in some installations
''Status:''
checked in to 9.00,8.00,09-80500
      
      
=== editing phone user config with IE failed for users with non-ascii chars in long name ===
=== Potential trap when reconfiguring Gateway interfaces ===


{|
{|
Line 679: Line 538:
|-
|-
|Id
|Id
|[http://mantis.innovaphone.com/view.php?id=48017 48017]
|[http://mantis.innovaphone.com/view.php?id=48833 48833]
|}
|}
problem: the long user name was patched latin1 encoded into a xml file with encoding="utf-8"<br/> <br/>solution: fix in code<br/> <br/>files: pbx_phone.cpp<br/><br/>products: all PBX<br/><br/>risks: None<br/>
problem: If a gateway interface is reconfigured while calls are active a trap could happen later on.<br/><br/>solution: Better handling of reconfiguration<br/><br/>files: signal.cpp, signal.h<br/><br/>products: all<br/><br/>risks: none
''Status:''
checked in to 9.00,8.00,09-80500
      
      
=== ip2000/ip6000 - start ETH2 (virtual network connction for Linux) only when Linux is enabled ===
=== Gateway: Trap if reconfiguring an analog interface registration with Feature Code support ===


{|
{|
Line 692: Line 549:
|-
|-
|Id
|Id
|[http://mantis.innovaphone.com/view.php?id=48061 48061]
|[http://mantis.innovaphone.com/view.php?id=48838 48838]
|}
|}
problem: ETH2 was always started with the preconfigured fixed address 192.168.2.1/24. routing problems may occur if this network is used otherwise already. <br/> <br/>solution: start start ETH2 only when Linux is enabled, do not preconfigure an IP address on ETH2 <br/> <br/>files: linux_eth_drv.cpp, config.h<br/><br/>products: ip2000/ip6000<br/><br/>risks: None
problem: If the reegistration configuration of an analog interface (e.g. changing registration name/no) was changed a trap happened when the registration was up again. Happened only with enabled Feature Codes.<br/><br/>solution: Better handling of reconfiguration<br/><br/>files: dtmffty.cpp, gk.cpp, relayfty.cpp, relayfty.h, relayfty_if.h<br/><br/>products: all with analog interfaces<br/><br/>risks: Minimal
''Status:''
checked in to 8.00,09-80500,9.00
      
      
=== IP 22/24/28/302/305 - provide more dynamic memory by disabling memory guard ===
=== PBX: Device configuration was lost, if PBX object was changed with SOAP Admin function ===


{|
{|
Line 705: Line 560:
|-
|-
|Id
|Id
|[http://mantis.innovaphone.com/view.php?id=48576 48576]
|[http://mantis.innovaphone.com/view.php?id=48874 48874]
|}
|}
problem: memory guarding requires 8 byte per malloc'd item. For 50000 items as already seen on active boxes the overhead is 400000 byte. Because of the limited memory it's better to disable guarding.<br/><br/>solution: fix in code<br/> <br/>files: ip24.mak<br/><br/>products: IP 22/24/28/302/305<br/><br/>risks: None<br/>
problem: The <device/> tag could not be written with the SOAP Admin function, so this information was lost, when an object was changed or created using this method.<br/><br/>solution: Allow <device/> tag<br/><br/>files: pbx.cpp<br/><br/>products: all with PBX<br/><br/>risks: None
''Status:''
checked in to 9.00,8.00,09-80500
      
      
=== IP240-1000 - network connectivity lost  after restart of the physical layer controller because of spurious errors ===
=== Master PBX to obtain licenses from another Master ===


{|
{|
Line 718: Line 571:
|-
|-
|Id
|Id
|[http://mantis.innovaphone.com/view.php?id=48785 48785]
|[http://mantis.innovaphone.com/view.php?id=48938 48938]
|}
|}
problem: the physical layer controller (PHY) of an IP240-100 is checked for spurious errors any second. If such errors are detected the controller is restarted. After restart data transfer from the phone CPU to the network was blocked. Data reception from network and transfer between LAN and PC port did work.<br/><br/>solution: fix in code<br/> <br/>files: inca_drv.cpp<br/><br/>products: IP 240-1000<br/><br/>risks: None<br/>
problem: There are configurations in which centralized licensing is desired but otherwise independent Master PBXs are needed.<br/><br/>solution: Configuration option added to allow a slave to register at a master to obtain licenses, but act as master in all other respects<br/><br/>files: pbx.cpp, pbx.h, pbx_general.xsl<br/><br/>products: all with PBX<br/><br/>risks: Minimal
''Status:''
checked in to 9.00,8.00,09-80500
      
      
=== "mod cmd UP0 scfg TFTP://..." does not work ===
=== Do not allow special characters for Kerberos realm names ===


{|
{|
Line 731: Line 582:
|-
|-
|Id
|Id
|[http://mantis.innovaphone.com/view.php?id=48911 48911]
|[http://mantis.innovaphone.com/view.php?id=47634 47634]
|}
|}
problem: saving config to a TFTP server fails because the update module was not triggered to send the next data chunk.<br/> <br/>solution: fix in code<br/> <br/>files: httpclient_i.cpp httpclient_i.h<br/><br/>products: all<br/><br/>risks: None
Problem: On the General/Kerberos page the name of the server realm was not checked. Only domain style names should be allowed.<br/><br/>Solution: Allow only A-Z a-z 0-9 . -<br/><br/>Files: kerberos_db.cpp<br/><br/>Products affected: Gateways<br/><br/>Risk: No risk
''Status:''
checked in to 9.00,8.00,09-80300,09-80500 
      
      
=== prevent to link useless exit code from library ===
=== Timing problem at the first request to a Kerberos server ===


{|
{|
Line 744: Line 593:
|-
|-
|Id
|Id
|[http://mantis.innovaphone.com/view.php?id=48937 48937]
|[http://mantis.innovaphone.com/view.php?id=48380 48380]
|}
|}
problem: for some some static objects the constructor registers exit handlers calling some library function. this is useless because we never call exit().<br/> <br/>solution: add dummy function to code<br/> <br/>files: box.cpp<br/><br/>products: all<br/><br/>risks: None<br/>
Problem: Currently there is a timing problem when a Kerberos server receives its very first ticket request. To answer this (and any following) requests the server needs its own secret key. The current flow is that the server calculates this key, answers the request and then writes the key to the database. Until the key has been written all following requests will be answered with a Kerberos error message. As a consequence the very first try to join the Kerberos realm fails.<br/><br/>Solution: The server has to wait until the key has been written to the database before it answers the first request.<br/><br/>Files affected: kerberos_ldap.h, kerberos_ldap.cpp, kerberos_db.cpp<br/><br/>Risk: small
''Status:''
checked in to 9.00,8.00,09-80500
      
      
=== "mod cmd UP0 prot TFTP://..." does not work ===
=== "vars del" does not delete additional administrator accounts ===


{|
{|
Line 757: Line 604:
|-
|-
|Id
|Id
|[http://mantis.innovaphone.com/view.php?id=48957 48957]
|[http://mantis.innovaphone.com/view.php?id=48400 48400]
|}
|}
problem: firmware upload from a TFTP server fails because of a missing 'complete' indication in last packet.<br/> <br/>solution: fix in code<br/> <br/>files: httpclient_i.cpp<br/><br/>products: all<br/><br/>risks: None
Problem: The "vars del" command preserves all VARS with the name prefix CMD0. Therefore the additional administrator accounts and other module configuration are not reset. This problem occurs on factory resets and config updates.<br/><br/>Solution: Preserve only "CMD0/AUTH" when executing the "vars del" command.<br/><br/>Files affected: command.cpp<br/><br/>Risks: none
''Status:''
checked in to 9.00,8.00,09-80300,09-80500
      
      
=== permit to control the display format of names from local/PBX directory the same way as for external directories ===
=== Trap when configuring empty realm name for Kerberos server ===


{|
{|
Line 770: Line 615:
|-
|-
|Id
|Id
|[http://mantis.innovaphone.com/view.php?id=47731 47731]
|[http://mantis.innovaphone.com/view.php?id=48405 48405]
|}
|}
problem: some users want to control the name display format for inbound and outbound calls separately and to reorder/omit parts of a name. this already works for external directories but names from local or PBX directory were not displayed if the first name attribute was not configured for display because such names have only one, the 'cn' attribute.<br/><br/>solution: by default the full 'cn' is displayed for entries from local or PBX directory. if the format string starts with an asterisk ('*') 'cn' is tokenized and the tokens are ordered according to the requested format.<br/>   config add PHONE APP /name-display-in <format-in> /name-display-out <format-out>"<br/>'format-...' selects the name attributes to be displayed and their order.<br/>The default format is "123", i.e. all names are displayed as configured.<br/>"3" displays only the third attribute of a name from an external directory but the complete 'cn' from local or PBX directory.<br/>"*3" displays only the third attribute of a name from an external directory and only the third token (if any) of a 'cn' from local or PBX directory.<br/> <br/>files: app_call.cpp<br/><br/>products: all phones<br/><br/>risks: None<br/>
Problem: On the General/Kerberos page the box traps when the user removes the realm name and clicks the Ok button.<br/><br/>Solution: Fix processing of form.<br/><br/>Files: kerberos_db.cpp<br/><br/>Risks: none
''Status:''
checked in to 9.00,8.00,09-80500
      
      
=== default language setting from bootcode must be respected when setting phone default configuration ===
=== Configuration of _KADMIN_ password ===


{|
{|
Line 783: Line 626:
|-
|-
|Id
|Id
|[http://mantis.innovaphone.com/view.php?id=48342 48342]
|[http://mantis.innovaphone.com/view.php?id=48504 48504]
|}
|}
problem: the default language for texts displayed on the phone may be set at manufacturing time. it's saved in the bootcode and evaluated at boot time. But because of some changes in config processing it was not included when gathering the basic configuration data and thus the phone alway started in german language.<br/> <br/>solution: fix in code<br/> <br/>files: phone_config.cpp<br/><br/>products: all phones<br/><br/>risks: None<br/>
Problem: On the PBX/Security page the _KADMIN_ password can only be deleted by removing it from the first one of the two input fields. This is inconsistent with the configuration of the other users that can also be deleted by removing the password from both input fields.<br/><br/>Solution: Implement the deleting of the _KADMIN_ password in a consistent way: Removing the password from the first or both fields removes the _KADMIN_ user.<br/><br/>Files: pbx_admin.cpp, pbx_password.xsl<br/><br/>Risks: Small risk of collateral damage
''Status:''
      
checked in to 9.00,8.00,09-80500
=== Remove memory leak in kerberos client ===
      
=== Kerberos for PBX-Realms did not work on IP302 and IP305 ===


{|
{|
Line 796: Line 637:
|-
|-
|Id
|Id
|[http://mantis.innovaphone.com/view.php?id=48347 48347]
|[http://mantis.innovaphone.com/view.php?id=48720 48720]
|}
|}
Problem: The processing of LDAP search results in the Kerberos realm tree was erroneous and therefore failed on devices of the IP28 platform.<br/><br/>Solution: Fix processing of LDAP search results.<br/><br/>Files affected: kerberos_db.cpp, kerberos_ldap.cpp<br/><br/>Risks: none
Problem: When the decryption of a Kerberos ticket fails a memory leak is left. Also the Kerberos client does not report this to the application.<br/><br/>Solution: Fix protocol implementation and Kerberos client.<br/><br/>Files: kerberos_prot.cpp, kerberos_client.cpp<br/><br/>Risk: none
      
      
=== AD Replication. Only 10x In-Maps per Source Attribute Configurable ===
=== Leaks with DECT signalling using TLS ===


{|
{|
Line 807: Line 648:
|-
|-
|Id
|Id
|[http://mantis.innovaphone.com/view.php?id=47629 47629]
|[http://mantis.innovaphone.com/view.php?id=48794 48794]
|}
|}
Problem: Only 10x In-Maps per Source Attribute Configurable<br/><br/>Solution: Adjust to 40. Form submit method now POST (was GET).<br/><br/>Files: ldapmap.cpp, ldaprep.xsl<br/><br/>Products affected: PBX products<br/><br/>Risk: No risk.
Problem: Sometimes the TLS sockets that are used by DECT signalling are not deleted because of a shutdown event collision in the TLS socket<br/><br/>Solution: Fix TLS shutdown flow<br/><br/>Files: tls.cpp<br/><br/>Risk: Collateral damage with other applications using TLS
      
      
=== VM: Trap, Double-Free after sending Email with Body ===
=== Trust manufacturer root certificate by default if there is no certificate in flash ===


{|
{|
Line 818: Line 659:
|-
|-
|Id
|Id
|[http://mantis.innovaphone.com/view.php?id=48492 48492]
|[http://mantis.innovaphone.com/view.php?id=48861 48861]
|}
|}
problem: VM, trap, double free after sending email with body<br/><br/>solution: don't send such emails or apply fix<br/> <br/>files: smtp_mta.cpp<br/><br/>products: all pbx devices<br/><br/>risks: None
Problem: New devices are equipped with a certificate chain stored in first flash segment. The devices will add the root certitificate to the trust list at first boot. If there is no certificate in flash this will not happen. Hence staging with HTTPS-based update scripts did not work on legacy devices.<br/><br/>Feature: Add a OEM specific manufacturer certificate in the product_info in the firmware. If present, this certificate will be trusted after factory reset, if there is no certificate in flash.<br/><br/>Files: box.cpp, box.h, os.h, ipXXX.cpp, x509.cpp<br/><br/>Risk: Collateral damage on the X509 module and product_info mechanism
      
      
=== Show presence note (if available) instead of activity during ringback  ===
=== Presence subscription to external user failed when forwarded through PBX object "Gateway" ===


{|
{|
Line 829: Line 670:
|-
|-
|Id
|Id
|[http://mantis.innovaphone.com/view.php?id=47531 47531]
|[http://mantis.innovaphone.com/view.php?id=48791 48791]
|}
|}
Problem: When calling another PBX user, it's presence activity is displayed at the callers phone screen. Presenting called user's presence note is more appropriate.<br/><br/>Solution: Prefer 'note' over 'activity'.<br/><br/>Files: app_disp.cpp<br/><br/>Products affected: H.323 Phones<br/><br/>Risk: No risk.
Problem: "Gateway" object did not remove its prefix when forwarding subscription.<br/><br/>Solution: Remove prefix when forwarding presence subscription.<br/><br/>Files: pbx.cpp<br/><br/>Products affected: PBX<br/><br/>Risk: No risk.
      
      
=== Setup wizard does not accept new XML formatted license files ===
=== PBX Broadcast Conference Option ===


{|
{|
Line 840: Line 681:
|-
|-
|Id
|Id
|[http://mantis.innovaphone.com/view.php?id=48401 48401]
|[http://mantis.innovaphone.com/view.php?id=47886 47886]
|}
|}
Problem: When trying to upload an XML formatted license file while stepping through setup wizard no licenses are accepted. No error indicated neither.<br/><br/>Solution: Delegate upload to new XML style license handler.<br/><br/>Files: setup_lics.xsl<br/><br/>Products affected: All devices.<br/><br/>Risk: No risk.
problem: It should be possible to configure if the last remaining user in a conference call should be disconnected or not.<br/><br/>solution: New configuration option implemented.<br/><br/>files: pbx_bc_conf.h, pbx_bc_conf.cpp, pbx_edit_bc_conf.xsl.<br/><br/>products affected: All devices with PBX.<br/><br/>risk: Minimal risk of collateral damage.  
      
      
=== Presence: Added overlay activity attribute ===
=== IP-DECT OEM  user database import/export ===


{|
{|
Line 851: Line 692:
|-
|-
|Id
|Id
|[http://mantis.innovaphone.com/view.php?id=48563 48563]
|[http://mantis.innovaphone.com/view.php?id=47889 47889]
|}
|}
Problem: External applications want to set/reset "on-the-phone" activity for a PBX user.<br/><br/>Solution: Added overlay activity attribute for each PBX user.<br/><br/>Files: pbx.cpp/h<br/><br/>Products affected: PBX<br/><br/>Risk: No risk.  
problem: New functions for OEM import/export of user data like export filter, ipei checksum or error messages.<br/><br/>solution: Functionality implemented.<br/><br/>files: dectusers_if.h, dectusers.h, dectusers.cpp, OEM xsl files.<br/><br/>products affected: All DECT devices.<br/><br/>risk: Minimal risk of collateral damage.  
      
      
=== RTP is sent to wrong destination ===
=== IP-DECT idle display update ===


{|
{|
Line 862: Line 703:
|-
|-
|Id
|Id
|[http://mantis.innovaphone.com/view.php?id=48798 48798]
|[http://mantis.innovaphone.com/view.php?id=47891 47891]
|}
|}
Problem: A single packet causes the RTP stream to be redirected to a new destination (workaround for NAT). May cause no-media in case of late packet arrival after call transfer.<br/><br/>Solution: Only a continuous packet stream can cause the RTP redirection.<br/><br/>Files: media.cpp/h<br/><br/>Products affected: All devices<br/><br/>Risk: No risk.
problem: Idle display update does not work for DECT handsets.<br/><br/>solution: Functionality implemented, but it must be enabled over the GUI and must not be used if foreign handsets are used.<br/><br/>files: dectmaster.h, dectmaster.cpp, dectmaster.xsl.<br/><br/>products affected: All DECT devices.<br/><br/>risk: Minimal risk of collateral damage.  
      
      
=== Missing Tooltips in web ui for licenses ===
=== IP-DECT GUI Authentication Code ===


{|
{|
Line 873: Line 714:
|-
|-
|Id
|Id
|[http://mantis.innovaphone.com/view.php?id=47930 47930]
|[http://mantis.innovaphone.com/view.php?id=47892 47892]
|}
|}
Problem: Missing Tooltips in web ui for licenses.<br/><br/>Solution: Added tooltips.<br/><br/>Files: license.xsl<br/><br/>Products affected: All Gateway/PBX devices<br/><br/>Risk: No risk.
problem: The configuration option for the System Authentication Code is not shown.<br/><br/>solution: Fixed.<br/><br/>files: dectusers.xsl.<br/><br/>products affected: All DECT devices.<br/><br/>risk: No risk of collateral damage. Only GUI change.
      
      
=== Reject of ectLinkIdRequest not handled ===
=== IP-DECT RTP stream of second hold call ===


{|
{|
Line 884: Line 725:
|-
|-
|Id
|Id
|[http://mantis.innovaphone.com/view.php?id=48095 48095]
|[http://mantis.innovaphone.com/view.php?id=47894 47894]
|}
|}
Problem: When trying to pass a call transfer of two ISDN calls to the ISDN network by means of ECT ("External Transfer"), a reject was not handled properly.<br/><br/>Solution: Decode an provide error code to gateway.<br/><br/>Files: fty.h/cpp q950.cpp relay.cpp<br/><br/>Products affected: ISDN gateways<br/><br/>Risk: No risk.
problem: The RTP stream of the second call is not stopped if the call is hold and an unattended call transfer is initiated.<br/><br/>solution: RTP stop event added.<br/><br/>files: dectradio.cpp.<br/><br/>products affected: All DECT devices.<br/><br/>risk: Minimal risk of collateral damage.  
      
      
=== Presence display on fkey 'Partner' stops updating ===
=== IP-DECT handset product id/software version ===


{|
{|
Line 895: Line 736:
|-
|-
|Id
|Id
|[http://mantis.innovaphone.com/view.php?id=48569 48569]
|[http://mantis.innovaphone.com/view.php?id=47897 47897]
|}
|}
Problem: Phone gives up on trying to to establish/re-establich presence subscription.<br/><br/>Solution: Don't stop trying to establish/re-establich presence subscription.<br/><br/>Files: phonesig.cpp<br/><br/>Products affected: Phones<br/><br/>Risk: No risk.
problem: There is no possibility to see the handset product id and software version.<br/><br/>solution: Tool-tip with the product id and software version of the handset has been added for the IPEI item in the GUI user list. It will be available after restart of the handset.<br/><br/>files: dectmaster.cpp, dectradio.cpp, dect_users_right.xsl(OEM).<br/><br/>products affected: All DECT devices.<br/><br/>risk: Minimal risk of collateral damage.  
      
      
=== Phone: Handling of failed attended transfer ===
=== IP-DECT OEM module software update ===


{|
{|
Line 906: Line 747:
|-
|-
|Id
|Id
|[http://mantis.innovaphone.com/view.php?id=48585 48585]
|[http://mantis.innovaphone.com/view.php?id=47934 47934]
|}
|}
Problem: An attended transfer may fail. If an error is encountered the call legs may disappear in the background. This happened regularly when a phone tried to transfer calls bound to different SIP registrations or to a SIP and a H323 registration.<br/><br/>Solution: Terminate both calls if attended transfer failed. Don't initiate transfers which which cannot be handled by SIP protocol.<br/><br/>Files: sip.cpp, phonesig.cpp, app_call.cpp<br/><br/>Products affected: Phones<br/><br/>Risk: No risk.
problem: There are new software versions of the OEM software modules: BMC interface software, MSF module and Skinny protocol.<br/><br/>solution: OEM modules replaced.<br/><br/>files: DECT files, MSF files, Skinny files, config.h, fty.h, fty.cpp.<br/><br/>products affected: All DECT devices.<br/><br/>risk: Normal risk of collateral damage. Updated from improved OEM branch.
      
      
=== SIP: Fax and audio offer was rejected with 488 ===
=== IP-DECT MSF module login ===


{|
{|
Line 917: Line 758:
|-
|-
|Id
|Id
|[http://mantis.innovaphone.com/view.php?id=47544 47544]
|[http://mantis.innovaphone.com/view.php?id=47984 47984]
|}
|}
Problem: A combined SDP offer (fax and audio) was rejected with 488.<br/><br/>Solution: Answer with 200/OK and provide audio answer.<br/><br/>Files: sip.cpp/h<br/><br/>Products affected: SIP gateways<br/><br/>Risk: No risk.  
problem: It is not possible to login to the MSF module.<br/><br/>solution: Function signature changed with the new MSF module version.<br/><br/>files: dectmsf.h, dectmsf.cpp, telnet.cpp.<br/><br/>products affected: All DECT devices.<br/><br/>risk: Minimal risk of collateral damage. Updated from improved OEM branch.  
      
      
=== SIP: INVITE rejected with 407 ===
=== IP-DECT GUI MWI numbers ===


{|
{|
Line 928: Line 769:
|-
|-
|Id
|Id
|[http://mantis.innovaphone.com/view.php?id=47631 47631]
|[http://mantis.innovaphone.com/view.php?id=48411 48411]
|}
|}
Problem: Registered SIP interfaces reject incoming calls with 407 if the INVITE comes from a remote source addr/port that doesn't match addr/port where the REGISTER was sent to.<br/><br/>Solution: Do not check remote source port.<br/><br/>Files: siptrans.cpp<br/><br/>Products affected: SIP devices<br/><br/>Risk: No risk.
problem: The configuration options for MWI numbers are not shown.<br/><br/>solution: Fixed.<br/><br/>files: dectfty.xsl.<br/><br/>products affected: All DECT devices.<br/><br/>risk: No risk of collateral damage. Only GUI change.
      
      
=== SIP: Handling of weird simple-message-summary ===
=== IP-DECT SARI variable ===


{|
{|
Line 939: Line 780:
|-
|-
|Id
|Id
|[http://mantis.innovaphone.com/view.php?id=47714 47714]
|[http://mantis.innovaphone.com/view.php?id=48436 48436]
|}
|}
Problem: "Messages-Waiting:yes;Voice-Message:/0" turned MWI off. "Messages-Waiting:no;Voice-Message:8/0" turned MWI on.<br/><br/>Solution: "Messages-Waiting:yes;Voice-Message:/0" turned MWI on. "Messages-Waiting:no;Voice-Message:8/0" turned MWI off.<br/><br/>Files: sip.cpp<br/><br/>Products affected: SIP Phones<br/><br/>Risk: No risk.
problem: The SARI variable is updated every configuration change, but is not needed in OEM modules.<br/><br/>solution: Update condition fixed.<br/><br/>files: dectlocalusers.cpp.<br/><br/>products affected: All DECT devices.<br/><br/>risk: No risk of collateral damage.
      
      
=== SIP: Handling of transfer to different ip address ===
=== IP-DECT facility entity memory leak ===


{|
{|
Line 950: Line 791:
|-
|-
|Id
|Id
|[http://mantis.innovaphone.com/view.php?id=47919 47919]
|[http://mantis.innovaphone.com/view.php?id=48852 48852]
|}
|}
Problem: MS Exchange transfers fax calls to external fax servers with REFER.<br/><br/>Solution: Follow this transfer and send new INVITE to destination address.<br/><br/>Files: sip.cpp<br/><br/>Products affected: SIP devices<br/><br/>Risk: No risk
problem: Facility entity objects aren't deleted in rare situations.<br/><br/>solution: Facility entity delete function call fixed.<br/><br/>files: dectmaster.cpp, dectradio.cpp.<br/><br/>products affected: All DECT devices.<br/><br/>risk: Minimal risk of collateral damage.
      
      
=== SIP: Problem with media negotiation after 488 ===
=== H450 debug info ===


{|
{|
Line 961: Line 802:
|-
|-
|Id
|Id
|[http://mantis.innovaphone.com/view.php?id=47956 47956]
|[http://mantis.innovaphone.com/view.php?id=48889 48889]
|}
|}
Problem: After re-INVITE client transaction was rejected (e.g. 488) the next re-INVITE was not send. May result in one-way-audio.<br/><br/>Solution: Cleanup when handling reject for re-INVITE.<br/><br/>Files: sip.cpp<br/><br/>Products affected: SIP devices<br/><br/>Risk: No risk
problem: Additional debug messages are needed for the h450_entity object.<br/><br/>solution: Debug info added.<br/><br/>files: h450.h, h450.cpp.<br/><br/>products affected: All devices with H323.<br/><br/>risk: No risk of collateral damage.
      
      
=== SIP: Media negotiation problem at Alcatel Omni PCX ===
=== PBX BC conference object TAPI information ===


{|
{|
Line 972: Line 813:
|-
|-
|Id
|Id
|[http://mantis.innovaphone.com/view.php?id=48337 48337]
|[http://mantis.innovaphone.com/view.php?id=48940 48940]
|}
|}
Problem: Several provisional responses with changing remote RTP addresses may cause RTP to be sent to wrong destination.<br/><br/>Solution: Fix handling of updated SDP answers.<br/><br/>Files: sip.cpp<br/><br/>Products affected: SIP devices<br/><br/>Risk: No risk.
problem: The broadcast conference object does not generate information for TAPI.<br/><br/>solution: Monitor connector added which generates the TAPI information.<br/><br/>files: pbx_bc_conf.h, pbx_bc_conf.cpp.<br/><br/>products affected: All devices with PBX.<br/><br/>risk: Minimal risk of collateral damage.  
      
      
=== SIP: Interoperability to Aastra endpoints ===
=== IP-DECT GUI user search ===


{|
{|
Line 983: Line 824:
|-
|-
|Id
|Id
|[http://mantis.innovaphone.com/view.php?id=48406 48406]
|[http://mantis.innovaphone.com/view.php?id=48946 48946]
|}
|}
Problem: Calls broadcasted by WQ cannot be accepted by Aastra phones. Aastra phones sending 180 Ringing with SDP offer while requesting PRACK with SDP answer. SDP answer cannot provided at this early stage.<br/><br/>Solution: Send dummy answer in PRACK. Re-Negotiation will happen anyway after connect.<br/><br/>Files: sip.cpp/h<br/><br/>Products affected: PBXs serving SIP Phones<br/><br/>Risk: No risk.  
problem: A wrong URL is generated if a question mark is typed in the user search field.<br/><br/>solution: Search field text encoding fixed.<br/><br/>files: dect_users_left.xsl.<br/><br/>products affected: All DECT devices.<br/><br/>risk: No risk of collateral damage. Only GUI change.  
      
      
=== SIP: No switch from local ringback tone to inband ringback tone ===
=== Presence note ignored if presence activity has been set ===


{|
{|
Line 994: Line 835:
|-
|-
|Id
|Id
|[http://mantis.innovaphone.com/view.php?id=48438 48438]
|[http://mantis.innovaphone.com/view.php?id=48863 48863]
|}
|}
Problem: No switch from local ringback tone to inband ringback tone, because 183/Progress response was not handled after 180/Ringing.<br/><br/>Solution: Handle 183 after 180.<br/><br/>Files: sipstate.cpp<br/><br/>Products affected: SIP devices<br/><br/>Risk: No risk.
problem: Presence note ignored if presence activity has been set, the calling party expects to see both the activity and the note<br/><br/>solution: fixed in code<br/><br/>files: phone/app_disp.cpp<br/><br/>products: all telephones<br/><br/>risks: none<br/><br/><br/>
      
      
=== SIP: Problems with DTMF when interworking v5 devices to SIP ===
=== IP22 Interop with devices that do not support T38 redundancy and retransmits ===
 
{|
|Status
|<font><font color="green">Resolved</font></font>
|-
|Id
|[http://mantis.innovaphone.com/view.php?id=47774 47774]
|}
problem: Some fax gateways (e.g. old avaya equipment) do not accept T.38 packet with redundancy or do no accept resent packets with the same sequence number<br/><br/>solution: DSP config added, use http://addr/AC-DSP0/info.xml?xsl=dsp.xsl to edit the settings.<br/><br/>files: ac_dsp3.cpp ac_dsp3.h ac_dsp3.mak dsp.xsl<br/>products: IP2x IP30x<br/>risks: Low
   
=== Modem interop problem ===


{|
{|
|Status
|Status
|<font><font color="green">Closed</font></font>
|<font><font color="orange">To-decide</font></font>
|-
|-
|Id
|Id
|[http://mantis.innovaphone.com/view.php?id=48441 48441]
|[http://mantis.innovaphone.com/view.php?id=48622 48622]
|}
|}
Problem: A call initiated by a v5 device that is interworked to SIP may have problems with DTMF.<br/><br/>Solution: Send SDP offer in INVITE as one single media description.<br/><br/>Files: sip.cpp<br/><br/>Products affected: SIP gateway and PBXs<br/><br/>Risk: No risk.
problem: The modem bypass function does not work with some modems.<br/><br/>solution: Option to disable modem bypass added, pcm trace option added, new DSP code<br/><br/>files: ac_dsp3.cpp ac_dsp3.h dsp.xsl trace.xsl ac49?004.h ac49x_drv_*.h<br/><br/>products: ip22 ip24 ip28 ip302 ip305<br/><br/>risk: low risk<br/>
      
      
=== SIP: CSeq not correct inside dialog ===
=== prevent creation of pbx dtmf object with char '#' in long name ===


{|
{|
Line 1,016: Line 868:
|-
|-
|Id
|Id
|[http://mantis.innovaphone.com/view.php?id=48533 48533]
|[http://mantis.innovaphone.com/view.php?id=47805 47805]
|}
|}
Problem: Requests within a dialog MUST contain strictly monotonically    increasing and contiguous CSeq sequence numbers (increasing-by-one).<br/><br/>Solution: Keep a private CSeq counter at each call object, subscription object and registration object.<br/><br/>Files: sip.cpp/h siptrans.cpp/h<br/><br/>Products affected: SIP devices<br/><br/>Risk: No risk.
problem: it was possible to create a dtmf object with long name dtmf#join_group. If one then creates another dtmf object with long name dtmf and feature code join group enabled, it traps, because the object tries to create another user with dtmf#join_group as long name without check.<br/><br/>solution: disallow char '#' in long name of dtmf object<br/> <br/>files: pbx_dtmf.cpp<br/><br/>products: all pbx devices<br/><br/>risks: None
      
      
=== Memory Leak ===
=== feature codes are not always working for mobility, if multiple mobility objects exist ===


{|
{|
Line 1,027: Line 879:
|-
|-
|Id
|Id
|[http://mantis.innovaphone.com/view.php?id=48714 48714]
|[http://mantis.innovaphone.com/view.php?id=48602 48602]
|}
|}
Problem: Lost memory every time a registered SIP interface is deactivated.<br/><br/>Solution: Free allocated memory for authentication data.<br/><br/>Files: sip.cpp<br/><br/>Products affected: SIP endpoints<br/><br/>Risk: No risk.
problem: if there are more than one mobility objects, mobility feature codes didn't work for users with the second (etc.) mobility object<br/><br/>solution: recursivly go through mobility objects when trying to find a user with a certain fork number<br/> <br/>files: pbx_dtmf.cpp, pbx.cpp, pbx.h, pbx_api.h<br/><br/>products: all pbx devices<br/><br/>risks: None
      
      
== Bug Fixes ==
=== enabling mobility/cw didn't work for 2 stage dialing over mobility object ===
 
 
=== Other Bug Fixes ===


{|
{|
|Status
|<font><font color="green">Closed</font></font>
|-
|-
|valign=top nowrap=true|[http://mantis.innovaphone.com/view.php?id=49741 49741]
|Id
|valign=top nowrap=true|pme
|[http://mantis.innovaphone.com/view.php?id=48616 48616]
|Number mistake if calls rerouted over ISDN by WAN overflow
|-
|valign=top nowrap=true|[http://mantis.innovaphone.com/view.php?id=48781 48781]
|valign=top nowrap=true|sga
|Federation mit GW object in der PBX
|}
|}
 
problem: if a mobil client tries to call its mobility object first and then dials the corresponding feature code for mobility on/off (and mobility cw), it didn't work<br/><br/>solution: separate method for toggling mobility/cw on calling user object<br/> <br/>files: pbx_dtmf.cpp, pbx.cpp, pbx.h, pbx_api.h<br/><br/>products: all pbx devices<br/><br/>risks: None
      
      
= V8 Hotfix  2 (80500.04) =
=== use flashman erase on "reset to factory defaults" ===
Fixes included in Version 8 hotfix2
[http://mantis.innovaphone.com/view.php?id=49093 Definition]
 
== New Features ==
 
 
   
=== Configurable distinction of internal and external call ringing on analogue port ===


{|
{|
Line 1,063: Line 901:
|-
|-
|Id
|Id
|[http://mantis.innovaphone.com/view.php?id=49344 49344]
|[http://mantis.innovaphone.com/view.php?id=47983 47983]
|}
|}
For swiss users the internal call should be signaled with a ring sequence that is normally used for external calls and vice versa. Swiss seems to make an exception here. In addition it is now possible to configure 'always internal' and 'always external'.
problem: when resetting telephones to factory defaults, first default registration survives the reset<br/><br/>solution: use flashman erase now<br/><br/>files: phone/admin/phone_admin.cpp<br/><br/>products: all telephones<br/><br/>risks: none known<br/><br/><br/><br/>
      
      
=== wrong help url in ICP object ===
=== malloc must always run disabled ===


{|
{|
Line 1,074: Line 912:
|-
|-
|Id
|Id
|[http://mantis.innovaphone.com/view.php?id=49411 49411]
|[http://mantis.innovaphone.com/view.php?id=47646 47646]
|}
|}
problem: wrong help url for ICP object<br/><br/>solution: change url<br/><br/>files: pbx_edit_icp.xsl<br/><br/>products: pbx<br/><br/>riscs: absolutely none
problem: usually malloc is called only from disabled state. in some extremely rare cases (for example before a DRAM upload) it is called from enabled state and then an interrupt may cause assignment of the same memory chunk to different callers.<br/> <br/>solution: fix in code<br/> <br/>files: os.cpp<br/><br/>products: all products<br/><br/>risks: None
''Status:''
checked in to 9.00,8.00,09-80500
      
      
=== fat32 check disc trap ===
=== reduce phone firmware size by excluding unused LDAP components ===


{|
{|
Line 1,085: Line 925:
|-
|-
|Id
|Id
|[http://mantis.innovaphone.com/view.php?id=50204 50204]
|[http://mantis.innovaphone.com/view.php?id=47709 47709]
|}
|}
Problem: After a firmware trap with a cf card, the afterwards check disk can cause a trap loop, if directory entries are corrupt because of the first trap.<br/><br/>Solution: Increment counter which caused the trap loop.<br/> <br/>Files: fat32.cpp<br/><br/>Products affected: All gateways with CF slot<br/><br/>Risk: minor risk
problem: references from flashdir module to fdirui object (flash dir user interface) force the inclusion of objects which are not used in the phone.<br/> <br/>solution: conditional compilation of flashdirui.cpp to prevent references, conditional linking of objects<br/> <br/>files: common/service/ldap/flashdir.cpp, common/service/ldap/ldap.mak, phone_inca.mak, ip72.mak, phone_coldfire.mak<br/><br/>products: all products<br/><br/>risks: None<br/>
''Status:''
checked in to 9.00,8.00,09-80500
      
      
=== wrong calculations causing check disc to damage data ===
=== Config download must be supressed in phone training mode ===


{|
{|
Line 1,096: Line 938:
|-
|-
|Id
|Id
|[http://mantis.innovaphone.com/view.php?id=51305 51305]
|[http://mantis.innovaphone.com/view.php?id=47713 47713]
|}
|}
Problem: check disc could produce damaged data in certain situations<br/><br/>Solution: correctly calculate partial records and clusters for next run. Also check if clusters are used multiple times.<br/><br/>Files: fat32.cpp, fat32.h, fat32.xsl<br/><br/>Risk: minor risk
problem: Config download is not supressed in phone training mode.<br/> <br/>solution: fix in code<br/> <br/>files: phone_save_hdr.xml<br/><br/>products: all phones<br/><br/>risks: None<br/>
''Status:''
checked in to 9.00,8.00,09-80500
      
      
=== Possible trap when removing a cf card without previous unmount ===
=== provide uptime and local time of trap in debug log ===


{|
{|
Line 1,107: Line 951:
|-
|-
|Id
|Id
|[http://mantis.innovaphone.com/view.php?id=51705 51705]
|[http://mantis.innovaphone.com/view.php?id=47855 47855]
|}
|}
Problem: events where queued to not exisiting serial<br/><br/>Solution: cf driver shouldn't answer outstanding events after removing the cf card, as the fat32 module won't wait for any events after receiving status removed event<br/><br/>Files: cf_drv.cpp<br/><br/>Risk: minor risk
problem: sometimes it's helpful to know at which time of day and how long after boot a trap occured<br/><br/>solution: fix in code<br/> <br/>files: box.cpp<br/><br/>products: all<br/><br/>risks: None<br/>
''Status:''
checked in to 9.00,8.00,09-80500
      
      
=== PBX: Reference to Config Template lost, when opening User from Registrations page ===
=== editing phone user config with IE failed for users with non-ascii chars in long name ===


{|
{|
Line 1,118: Line 964:
|-
|-
|Id
|Id
|[http://mantis.innovaphone.com/view.php?id=49089 49089]
|[http://mantis.innovaphone.com/view.php?id=48017 48017]
|}
|}
problem: If a user object was opened from the Registrations page a configured config template was not displayed. By pressing Save or Apply the user object was written without the config template<br/><br/>solution: Display config template when opening user object from registrations page<br/><br/>files: pbx_regs.xsl<br/><br/>products: all with PBX<br/><br/>risks: None
problem: the long user name was patched latin1 encoded into a xml file with encoding="utf-8"<br/> <br/>solution: fix in code<br/> <br/>files: pbx_phone.cpp<br/><br/>products: all PBX<br/><br/>risks: None<br/>
''Status:''
checked in to 9.00,8.00,09-80500
      
      
=== Need to configure 'Route Root-Node External Calls to' in case of 'License Only' on Slave ===
=== ip2000/ip6000 - start ETH2 (virtual network connction for Linux) only when Linux is enabled ===


{|
{|
Line 1,129: Line 977:
|-
|-
|Id
|Id
|[http://mantis.innovaphone.com/view.php?id=49137 49137]
|[http://mantis.innovaphone.com/view.php?id=48061 48061]
|}
|}
problem: A Slave or Standby-Slave PBX configured as 'License Only' did not allow to configure a Root Node Extern destination<br/><br/>solution: Allow configureation of Root-Node Extern<br/><br/>files: pbx_general.xsl<br/><br/>products: all with PBX<br/><br/>risks: None
problem: ETH2 was always started with the preconfigured fixed address 192.168.2.1/24. routing problems may occur if this network is used otherwise already. <br/> <br/>solution: start start ETH2 only when Linux is enabled, do not preconfigure an IP address on ETH2 <br/> <br/>files: linux_eth_drv.cpp, config.h<br/><br/>products: ip2000/ip6000<br/><br/>risks: None  
''Status:''
checked in to 8.00,09-80500,9.00
      
      
=== Media Renegotiation from H.323 Slowstart to H.323 EFC failed accross multiple PBXs ===
=== IP 22/24/28/302/305 - provide more dynamic memory by disabling memory guard ===


{|
{|
Line 1,140: Line 990:
|-
|-
|Id
|Id
|[http://mantis.innovaphone.com/view.php?id=49147 49147]
|[http://mantis.innovaphone.com/view.php?id=48576 48576]
|}
|}
problem: The message with the new FeatureSet, which indicated a switchover from non-EFC to EFC was not forwarded by the PBX. This happens if a slow-start endpoint located at a slave transfers a call originating from another slave so that both new endpoints are EFC. The master in this case did not forward the switchover FeatureSet.<br/><br/>solution: forward FeatureSet<br/><br/>files: h323ch.cpp<br/><br/>products: all<br/><br/>risks: None
problem: memory guarding requires 8 byte per malloc'd item. For 50000 items as already seen on active boxes the overhead is 400000 byte. Because of the limited memory it's better to disable guarding.<br/><br/>solution: fix in code<br/> <br/>files: ip24.mak<br/><br/>products: IP 22/24/28/302/305<br/><br/>risks: None<br/>
''Status:''
checked in to 9.00,8.00,09-80500
      
      
=== Gateway: Feature Code Support Configuration fixed ===
=== IP240-1000 - network connectivity lost  after restart of the physical layer controller because of spurious errors ===


{|
{|
Line 1,151: Line 1,003:
|-
|-
|Id
|Id
|[http://mantis.innovaphone.com/view.php?id=49152 49152]
|[http://mantis.innovaphone.com/view.php?id=48785 48785]
|}
|}
problem: Feature Code fieldset was displayed even if not Feature Code support available. Sometimes empty Feture Code Fieldset<br/><br/>solution: Better checking in UI<br/><br/>files: relay_edit_phys.xsl<br/><br/>products: all gateway products<br/><br/>risks: None
problem: the physical layer controller (PHY) of an IP240-100 is checked for spurious errors any second. If such errors are detected the controller is restarted. After restart data transfer from the phone CPU to the network was blocked. Data reception from network and transfer between LAN and PC port did work.<br/><br/>solution: fix in code<br/> <br/>files: inca_drv.cpp<br/><br/>products: IP 240-1000<br/><br/>risks: None<br/>
''Status:''
checked in to 9.00,8.00,09-80500
      
      
=== Gateway: CGPN Map at route was executed even if the call using this route failed ===
=== "mod cmd UP0 scfg TFTP://..." does not work ===


{|
{|
Line 1,162: Line 1,016:
|-
|-
|Id
|Id
|[http://mantis.innovaphone.com/view.php?id=49175 49175]
|[http://mantis.innovaphone.com/view.php?id=48911 48911]
|}
|}
problem: A CGPN Map at a route was executed even if the call using this route failed. This was confusing if rerouting was configured in case a destination was not available.<br/><br/>solution: CGPN map not executed if call failed, so rerouting could be done with the same CGPN<br/><br/>files: gk.cpp<br/><br/>products: all gateway products<br/><br/>risks: Could be that there are configs depending on old, wrong behaviour
problem: saving config to a TFTP server fails because the update module was not triggered to send the next data chunk.<br/> <br/>solution: fix in code<br/> <br/>files: httpclient_i.cpp httpclient_i.h<br/><br/>products: all<br/><br/>risks: None
''Status:''
checked in to 9.00,8.00,09-80300,09-80500 
      
      
=== PBX: Sending of multiple group indications after registration did not work ===
=== prevent to link useless exit code from library ===


{|
{|
Line 1,173: Line 1,029:
|-
|-
|Id
|Id
|[http://mantis.innovaphone.com/view.php?id=49190 49190]
|[http://mantis.innovaphone.com/view.php?id=48937 48937]
|}
|}
problem: If a phone registers to the PBX, the PBX is sending group indications for all active calls. If more then one call was active not all group indications were sent successful. This also happened with the update of Boolean function keys.<br/><br/>solution: Sending of Group Indications fixed<br/><br/>files: pbx_gi.cpp, pbx_gi.h<br/><br/>products: all with PBX<br/><br/>risks: Risk of collateral damage in the area of Group Indications
problem: for some some static objects the constructor registers exit handlers calling some library function. this is useless because we never call exit().<br/> <br/>solution: add dummy function to code<br/> <br/>files: box.cpp<br/><br/>products: all<br/><br/>risks: None<br/>
''Status:''
checked in to 9.00,8.00,09-80500
      
      
=== PBX: After CFNR from Waiting with end of first announcement no MOH during call proceeding/alerting ===
=== "mod cmd UP0 prot TFTP://..." does not work ===


{|
{|
Line 1,184: Line 1,042:
|-
|-
|Id
|Id
|[http://mantis.innovaphone.com/view.php?id=49458 49458]
|[http://mantis.innovaphone.com/view.php?id=48957 48957]
|}
|}
problem: If a CFNR is executed at the end of the first announcement of a Waiting object (no second announcement), MOH should be played during call proceeding/alerting of the forwarded call. This did not happen, because MOH was turned off by accident with clearing of the announcement call.<br/><br/>solution: Don't turn off MOH<br/><br/>files: pbx.cpp<br/><br/>products: all with PBX<br/><br/>risks: litte risk of other media problems within PBX
problem: firmware upload from a TFTP server fails because of a missing 'complete' indication in last packet.<br/> <br/>solution: fix in code<br/> <br/>files: httpclient_i.cpp<br/><br/>products: all<br/><br/>risks: None
''Status:''
checked in to 9.00,8.00,09-80300,09-80500
      
      
=== H.323, PROGRESS with cause treated as DISC causes problems ===
=== permit to control the display format of names from local/PBX directory the same way as for external directories ===


{|
{|
Line 1,195: Line 1,055:
|-
|-
|Id
|Id
|[http://mantis.innovaphone.com/view.php?id=49889 49889]
|[http://mantis.innovaphone.com/view.php?id=47731 47731]
|}
|}
problem: In H.323 no DISC message is defined. Because of that a PROGRESS message with Cause code was treated as a DISC message. This behaviour causes problems, because there is H.323 equipment sending PROGRESS with Cause even if no DISC is intended<br/><br/>solution: No special handling of PROGRESS with cause anymore<br/><br/>files: h323_tbl.h, h323sig.cpp<br/><br/>products: all<br/><br/>risks: old behaviour could be expected by other equipment
problem: some users want to control the name display format for inbound and outbound calls separately and to reorder/omit parts of a name. this already works for external directories but names from local or PBX directory were not displayed if the first name attribute was not configured for display because such names have only one, the 'cn' attribute.<br/><br/>solution: by default the full 'cn' is displayed for entries from local or PBX directory. if the format string starts with an asterisk ('*') 'cn' is tokenized and the tokens are ordered according to the requested format.<br/>  config add PHONE APP /name-display-in <format-in> /name-display-out <format-out>"<br/>'format-...' selects the name attributes to be displayed and their order.<br/>The default format is "123", i.e. all names are displayed as configured.<br/>"3" displays only the third attribute of a name from an external directory but the complete 'cn' from local or PBX directory.<br/>"*3" displays only the third attribute of a name from an external directory and only the third token (if any) of a 'cn' from local or PBX directory.<br/> <br/>files: app_call.cpp<br/><br/>products: all phones<br/><br/>risks: None<br/>
''Status:''
checked in to 9.00,8.00,09-80500
      
      
=== Enblock flag not evaluated on Routes to MAP ===
=== default language setting from bootcode must be respected when setting phone default configuration ===


{|
{|
Line 1,206: Line 1,068:
|-
|-
|Id
|Id
|[http://mantis.innovaphone.com/view.php?id=49896 49896]
|[http://mantis.innovaphone.com/view.php?id=48342 48342]
|}
|}
problem: The enblock flag on routes to MAP could be set, but it did not do anything<br/><br/>solution: Evaluate enblock flag on routes to MAP<br/><br/>files: gk.cpp<br/><br/>products: All gateway products<br/><br/>risks: None, no change if enblock flag not set
problem: the default language for texts displayed on the phone may be set at manufacturing time. it's saved in the bootcode and evaluated at boot time. But because of some changes in config processing it was not included when gathering the basic configuration data and thus the phone alway started in german language.<br/> <br/>solution: fix in code<br/> <br/>files: phone_config.cpp<br/><br/>products: all phones<br/><br/>risks: None<br/>
''Status:''
checked in to 9.00,8.00,09-80500
      
      
=== One-way-voice after unpark/pickup together with SRTP, H323 and Registration with password ===
=== Kerberos for PBX-Realms did not work on IP302 and IP305 ===


{|
{|
Line 1,217: Line 1,081:
|-
|-
|Id
|Id
|[http://mantis.innovaphone.com/view.php?id=49963 49963]
|[http://mantis.innovaphone.com/view.php?id=48347 48347]
|}
|}
problem: Within media renegotiation after unpark/pickup a wrong SRTP key was sent. This resulted in one-way media.<br/><br/>solution: Transmit correct SRTP key<br/><br/>files: h323sig.cpp<br/><br/>products: all<br/><br/>risk: Other media problems
Problem: The processing of LDAP search results in the Kerberos realm tree was erroneous and therefore failed on devices of the IP28 platform.<br/><br/>Solution: Fix processing of LDAP search results.<br/><br/>Files affected: kerberos_db.cpp, kerberos_ldap.cpp<br/><br/>Risks: none
      
      
=== PBX: No default device definition was added to new object ===
=== AD Replication. Only 10x In-Maps per Source Attribute Configurable ===


{|
{|
Line 1,228: Line 1,092:
|-
|-
|Id
|Id
|[http://mantis.innovaphone.com/view.php?id=49973 49973]
|[http://mantis.innovaphone.com/view.php?id=47629 47629]
|}
|}
problem: If a new object was added to the PBX, with a Name, but without device hw-id, no default device definition was created containing name has hw-id. After an unknown enpoint was assigned to this user by dialing the number of the user a registration with name was not possible anymore.<br/><br/>solution: Create default device definition<br/><br/>files: pbx_admin.cpp<br/><br/>products: all with PBX<br/><br/>risks: None
Problem: Only 10x In-Maps per Source Attribute Configurable<br/><br/>Solution: Adjust to 40. Form submit method now POST (was GET).<br/><br/>Files: ldapmap.cpp, ldaprep.xsl<br/><br/>Products affected: PBX products<br/><br/>Risk: No risk.
      
      
=== Media Negotiation between SIP and H.323 failed if Offer from both sides available ===
=== VM: Trap, Double-Free after sending Email with Body ===


{|
{|
Line 1,239: Line 1,103:
|-
|-
|Id
|Id
|[http://mantis.innovaphone.com/view.php?id=50037 50037]
|[http://mantis.innovaphone.com/view.php?id=48492 48492]
|}
|}
problem: If a H.323 and a SIP call leg were to be connected and a media offer was available on both legs, nothing happend. The new offer should have been sent on the H.323 leg. This situation could happen in special cases with transfer and reverse media.<br/><br/>solution: Send offer on H.323 in this case<br/><br/>files: h323ch.cpp<br/><br/>products: all<br/><br/>risk: Small riks of collateral damage
problem: VM, trap, double free after sending email with body<br/><br/>solution: don't send such emails or apply fix<br/> <br/>files: smtp_mta.cpp<br/><br/>products: all pbx devices<br/><br/>risks: None
      
      
=== PBX device definition with empty hw-id was generated for a user without name ===
=== Show presence note (if available) instead of activity during ringback  ===


{|
{|
Line 1,250: Line 1,114:
|-
|-
|Id
|Id
|[http://mantis.innovaphone.com/view.php?id=50043 50043]
|[http://mantis.innovaphone.com/view.php?id=47531 47531]
|}
|}
problem: For objects without device configurations, a default device is generated with the hw-id being the same as the Name of the object. This is for v7 compatibility. This was done even if there was no Name. But it was done only for a single object, because after that duplicate hw-id was detected. This caused registration with number being possible on this object even without device configuration.<br/><br/>solution: Check for empty name<br/><br/>files: pbx.cpp<br/><br/>products: all with PBX<br/><br/>risks: None
Problem: When calling another PBX user, it's presence activity is displayed at the callers phone screen. Presenting called user's presence note is more appropriate.<br/><br/>Solution: Prefer 'note' over 'activity'.<br/><br/>Files: app_disp.cpp<br/><br/>Products affected: H.323 Phones<br/><br/>Risk: No risk.
      
      
=== PBX: 'Route Internal Calls to' only works for internal destinations being users or slaves ===
=== Setup wizard does not accept new XML formatted license files ===


{|
{|
Line 1,261: Line 1,125:
|-
|-
|Id
|Id
|[http://mantis.innovaphone.com/view.php?id=50068 50068]
|[http://mantis.innovaphone.com/view.php?id=48401 48401]
|}
|}
problem: It was explicitly implemented that 'Route Internal Calls to' was only executed for Users or Slaves. This was does not seem to be a usefull restriction.<br/><br/>solution: Restriction removed<br/><br/>files: pbx.cpp<br/><br/>products: all with PBX<br/><br/>risks: Could be that this restrictions turns out to be usefull
Problem: When trying to upload an XML formatted license file while stepping through setup wizard no licenses are accepted. No error indicated neither.<br/><br/>Solution: Delegate upload to new XML style license handler.<br/><br/>Files: setup_lics.xsl<br/><br/>Products affected: All devices.<br/><br/>Risk: No risk.
      
      
=== PBX: On CFB configured at Slave PBX executed on max_calls, additional digits were added to called number ===
=== Presence: Added overlay activity attribute ===


{|
{|
Line 1,272: Line 1,136:
|-
|-
|Id
|Id
|[http://mantis.innovaphone.com/view.php?id=50083 50083]
|[http://mantis.innovaphone.com/view.php?id=48563 48563]
|}
|}
problem: If a CFB on a Slave PBX was executed because max-calls, the original dialed digits should be added to the diverted to number. If the original dialed number did not exactly match a user in the slave, but additional digits were dialed, these digits were added twice.<br/><br/>solution: Add digits once only<br/><br/>files: pbx.cpp<br/><br/>products: all with PBX<br/><br/>risks: None
Problem: External applications want to set/reset "on-the-phone" activity for a PBX user.<br/><br/>Solution: Added overlay activity attribute for each PBX user.<br/><br/>Files: pbx.cpp/h<br/><br/>Products affected: PBX<br/><br/>Risk: No risk.
      
      
=== Trap if doing Pickup from analog interface with Feature Code ===
=== RTP is sent to wrong destination ===


{|
{|
Line 1,283: Line 1,147:
|-
|-
|Id
|Id
|[http://mantis.innovaphone.com/view.php?id=50107 50107]
|[http://mantis.innovaphone.com/view.php?id=48798 48798]
|}
|}
problem: If a Pickup was performed from an anlog interface using Feature Codes, the gateway restarted. This was caused by an invalid cast.<br/><br/>solution: Cast fixed<br/><br/>files: relayfty.cpp, relay_api.h, relay.cpp<br/><br/>products: all gateway products with analog interfaces<br/><br/>risks: None
Problem: A single packet causes the RTP stream to be redirected to a new destination (workaround for NAT). May cause no-media in case of late packet arrival after call transfer.<br/><br/>Solution: Only a continuous packet stream can cause the RTP redirection.<br/><br/>Files: media.cpp/h<br/><br/>Products affected: All devices<br/><br/>Risk: No risk.
      
      
=== Mobility: Reject of call to mobile endpoint did not work ===
=== Missing Tooltips in web ui for licenses ===


{|
{|
Line 1,294: Line 1,158:
|-
|-
|Id
|Id
|[http://mantis.innovaphone.com/view.php?id=50239 50239]
|[http://mantis.innovaphone.com/view.php?id=47930 47930]
|}
|}
problem: If a call on a mobile endpoint was rejected, on the calling side there was still ringback. Also a CFB was not executed in this case.<br/><br/>solution: Reject on mobile phone fixed<br/><br/>files: pbx.cpp, pbx.h, pbx_api.h, pbx_mobility.cpp, pbx_mobility.h<br/><br/>products: all with PBX<br/><br/>risks: Risk of collateral damage with Mobility
Problem: Missing Tooltips in web ui for licenses.<br/><br/>Solution: Added tooltips.<br/><br/>Files: license.xsl<br/><br/>Products affected: All Gateway/PBX devices<br/><br/>Risk: No risk.
      
      
=== Mobility: Call to obeject within other PBX not in root node failed ===
=== Reject of ectLinkIdRequest not handled ===


{|
{|
Line 1,305: Line 1,169:
|-
|-
|Id
|Id
|[http://mantis.innovaphone.com/view.php?id=50241 50241]
|[http://mantis.innovaphone.com/view.php?id=48095 48095]
|}
|}
problem: Routing of calls from mobile endpoint, did not work with nodes on other PBXs<br/><br/>solution: Routing fixed<br/><br/>files: pbx.cpp, pbx.h, pbx_api.h, pbx_mobility.cpp, pbx_mobility.h<br/><br/>products: all with PBX<br/><br/>risks: Risk of collateral damage with Mobility
Problem: When trying to pass a call transfer of two ISDN calls to the ISDN network by means of ECT ("External Transfer"), a reject was not handled properly.<br/><br/>Solution: Decode an provide error code to gateway.<br/><br/>Files: fty.h/cpp q950.cpp relay.cpp<br/><br/>Products affected: ISDN gateways<br/><br/>Risk: No risk.
      
      
=== Mobility: Call forwarding on no response did not work for mobile endpoints if only mobile endpoint ===
=== Presence display on fkey 'Partner' stops updating ===


{|
{|
Line 1,316: Line 1,180:
|-
|-
|Id
|Id
|[http://mantis.innovaphone.com/view.php?id=50242 50242]
|[http://mantis.innovaphone.com/view.php?id=48569 48569]
|}
|}
problem: A call forward on no response, either as CFNR or as no response destination at a trunk failed if only a mobile endpoint was present for a given object.<br/><br/>solution: Forwarding fixed<br/><br/>files: pbx.cpp, pbx.h, pbx_api.h, pbx_mobility.cpp, pbx_mobility.h<br/><br/>products: all with PBX<br/><br/>risks: Risk of collateral damage with Mobility
Problem: Phone gives up on trying to to establish/re-establich presence subscription.<br/><br/>Solution: Don't stop trying to establish/re-establich presence subscription.<br/><br/>Files: phonesig.cpp<br/><br/>Products affected: Phones<br/><br/>Risk: No risk.
      
      
=== Trap if 'Escape Dialtone from' configured not being a User Object ===
=== Phone: Handling of failed attended transfer ===


{|
{|
Line 1,327: Line 1,191:
|-
|-
|Id
|Id
|[http://mantis.innovaphone.com/view.php?id=50267 50267]
|[http://mantis.innovaphone.com/view.php?id=48585 48585]
|}
|}
problem: If a 'Escape Dialtone from' destination was configured, which was not a User object (e.g. a Gwateway) a trap happend when a escape dialtone was to be played.<br/><br/>solution: NULL pointer access fixed<br/><br/>files: pbx.cpp, pbx.h, pbx_api.h<br/><br/>products: all with PBX<br/><br/>risks: Minimal
Problem: An attended transfer may fail. If an error is encountered the call legs may disappear in the background. This happened regularly when a phone tried to transfer calls bound to different SIP registrations or to a SIP and a H323 registration.<br/><br/>Solution: Terminate both calls if attended transfer failed. Don't initiate transfers which which cannot be handled by SIP protocol.<br/><br/>Files: sip.cpp, phonesig.cpp, app_call.cpp<br/><br/>Products affected: Phones<br/><br/>Risk: No risk.
      
      
=== Mobility: Send presence info of called user with ALERT at call to mobile endpoint ===
=== SIP: Fax and audio offer was rejected with 488 ===


{|
{|
Line 1,338: Line 1,202:
|-
|-
|Id
|Id
|[http://mantis.innovaphone.com/view.php?id=50349 50349]
|[http://mantis.innovaphone.com/view.php?id=47544 47544]
|}
|}
problem: When a mobile endpoint was called, the presence info of the mobile endpoint (typically there is no presence info available) was send to caller instead of the presence info of the related local user object.<br/><br/>solution: Send presence info of local user<br/><br/>files: pbx_mobility.cpp, pbx_api.h<br/><br/>products: all with PBX<br/><br/>risks: None
Problem: A combined SDP offer (fax and audio) was rejected with 488.<br/><br/>Solution: Answer with 200/OK and provide audio answer.<br/><br/>Files: sip.cpp/h<br/><br/>Products affected: SIP gateways<br/><br/>Risk: No risk.
      
      
=== PBX object device config lost, if invalid info added somewhere else (e.g. duplicate number) ===
=== SIP: INVITE rejected with 407 ===


{|
{|
Line 1,349: Line 1,213:
|-
|-
|Id
|Id
|[http://mantis.innovaphone.com/view.php?id=50415 50415]
|[http://mantis.innovaphone.com/view.php?id=47631 47631]
|}
|}
problem: If a PBX object editor is opened and invalid information is added, then after Apply or OK the error message is displayed and the devices list was empty. After correcting the error and Apply or OK again the object is saved without the device list.<br/><br/>solution: Fill in device list on error as well<br/><br/>files: pbx_admin.cpp<br/><br/>products: all with PBX<br/><br/>risks: None
Problem: Registered SIP interfaces reject incoming calls with 407 if the INVITE comes from a remote source addr/port that doesn't match addr/port where the REGISTER was sent to.<br/><br/>Solution: Do not check remote source port.<br/><br/>Files: siptrans.cpp<br/><br/>Products affected: SIP devices<br/><br/>Risk: No risk.
      
      
=== Potential trap with Mobility ===
=== SIP: Handling of weird simple-message-summary ===


{|
{|
Line 1,360: Line 1,224:
|-
|-
|Id
|Id
|[http://mantis.innovaphone.com/view.php?id=50989 50989]
|[http://mantis.innovaphone.com/view.php?id=47714 47714]
|}
|}
problem: A trap could happen with a collision of CFNR Timeout and call disconnect, when calling a mobile endpoint, because of NULL pointer access.<br/><br/>solution: Check for NULL pointer added<br/><br/>files: pbx_mobility.cpp<br/><br/>products: all with PBX<br/><br/>risks: None
Problem: "Messages-Waiting:yes;Voice-Message:/0" turned MWI off. "Messages-Waiting:no;Voice-Message:8/0" turned MWI on.<br/><br/>Solution: "Messages-Waiting:yes;Voice-Message:/0" turned MWI on. "Messages-Waiting:no;Voice-Message:8/0" turned MWI off.<br/><br/>Files: sip.cpp<br/><br/>Products affected: SIP Phones<br/><br/>Risk: No risk.
      
      
=== Mobility Object returns busy if called from a unknown mobile phone ===
=== SIP: Handling of transfer to different ip address ===


{|
{|
Line 1,371: Line 1,235:
|-
|-
|Id
|Id
|[http://mantis.innovaphone.com/view.php?id=51010 51010]
|[http://mantis.innovaphone.com/view.php?id=47919 47919]
|}
|}
problem: The mobility object answers calls only if called by a mobile phone which is configured as forking destination. Calls from other mobile phones are rejected. The cause "user busy" was used in this case, which was misleading.<br/><br/>solution: Use cause "Service unavailable, unspecified" instead.<br/><br/>files: pbx_mobility.cpp<br/><br/>products: all with PBX<br/><br/>risks: None
Problem: MS Exchange transfers fax calls to external fax servers with REFER.<br/><br/>Solution: Follow this transfer and send new INVITE to destination address.<br/><br/>Files: sip.cpp<br/><br/>Products affected: SIP devices<br/><br/>Risk: No risk
      
      
=== Potential trap when disconnecting call, WEBMEDIA-CH.5 default(82c09798): serial_event(814) ===
=== SIP: Problem with media negotiation after 488 ===


{|
{|
Line 1,382: Line 1,246:
|-
|-
|Id
|Id
|[http://mantis.innovaphone.com/view.php?id=51132 51132]
|[http://mantis.innovaphone.com/view.php?id=47956 47956]
|}
|}
problem: Under special timing conditions a trap could happen during call disconnect. This only happened if the call terminated at a physical interface on the given box.<br/><br/>solution: Cleaning up of media channel fixed<br/><br/>files: media.cpp<br/><br/>products: all<br/><br/>risks: None
Problem: After re-INVITE client transaction was rejected (e.g. 488) the next re-INVITE was not send. May result in one-way-audio.<br/><br/>Solution: Cleanup when handling reject for re-INVITE.<br/><br/>Files: sip.cpp<br/><br/>Products affected: SIP devices<br/><br/>Risk: No risk
      
      
=== PBX-CDR: Local Time wrong (same as UTC) ===
=== SIP: Media negotiation problem at Alcatel Omni PCX ===


{|
{|
Line 1,393: Line 1,257:
|-
|-
|Id
|Id
|[http://mantis.innovaphone.com/view.php?id=51415 51415]
|[http://mantis.innovaphone.com/view.php?id=48337 48337]
|}
|}
problem: In the CDRs from the PBX the local time was always set to UTC<br/><br/>solution: Use correct time<br/><br/>files: pbx.cpp<br/><br/>products: all with PBX<br/><br/>risks: None
Problem: Several provisional responses with changing remote RTP addresses may cause RTP to be sent to wrong destination.<br/><br/>Solution: Fix handling of updated SDP answers.<br/><br/>Files: sip.cpp<br/><br/>Products affected: SIP devices<br/><br/>Risk: No risk.
      
      
=== PBX: No Inband Disconnect for Gateway Object ===
=== SIP: Interoperability to Aastra endpoints ===


{|
{|
Line 1,404: Line 1,268:
|-
|-
|Id
|Id
|[http://mantis.innovaphone.com/view.php?id=51421 51421]
|[http://mantis.innovaphone.com/view.php?id=48406 48406]
|}
|}
problem: 'No Inband Disconnect' was not configurable for Gateway objects<br/><br/>solution: Configuration added<br/><br/>files: pbx_edit_gw.xsl<br/><br/>products: all with PBX<br/><br/>risks: None
Problem: Calls broadcasted by WQ cannot be accepted by Aastra phones. Aastra phones sending 180 Ringing with SDP offer while requesting PRACK with SDP answer. SDP answer cannot provided at this early stage.<br/><br/>Solution: Send dummy answer in PRACK. Re-Negotiation will happen anyway after connect.<br/><br/>Files: sip.cpp/h<br/><br/>Products affected: PBXs serving SIP Phones<br/><br/>Risk: No risk.
      
      
=== PBX CGPN missing with call to mobile endpoint, if not supplied by calling endpoint ===
=== SIP: No switch from local ringback tone to inband ringback tone ===


{|
{|
Line 1,415: Line 1,279:
|-
|-
|Id
|Id
|[http://mantis.innovaphone.com/view.php?id=51424 51424]
|[http://mantis.innovaphone.com/view.php?id=48438 48438]
|}
|}
problem: If a calling endpoint registered to the PBX, did not supply the calling number, the PBX did not set it, when calling a mobile endpoint<br/><br/>solution: PBX sets calling number<br/><br/>files: pbx_mobility.cpp<br/><br/>products: all with PBX<br/><br/>risks: None
Problem: No switch from local ringback tone to inband ringback tone, because 183/Progress response was not handled after 180/Ringing.<br/><br/>Solution: Handle 183 after 180.<br/><br/>Files: sipstate.cpp<br/><br/>Products affected: SIP devices<br/><br/>Risk: No risk.
      
      
=== no RTP-DTMF after rerouting ===
=== SIP: Problems with DTMF when interworking v5 devices to SIP ===


{|
{|
Line 1,426: Line 1,290:
|-
|-
|Id
|Id
|[http://mantis.innovaphone.com/view.php?id=51431 51431]
|[http://mantis.innovaphone.com/view.php?id=48441 48441]
|}
|}
problem: If rerouting happened from one media endpoint to another, for example if a TONE interface is used for a dialtone after one digit dialed there is a rerouting to another interface, RTP-DTMF does not work.<br/><br/>solution: Media renegotiation fixed for this case<br/><br/>files: ac_dsp.h, ac_dsp2.h, ac_dsp3.h<br/><br/>risks: none
Problem: A call initiated by a v5 device that is interworked to SIP may have problems with DTMF.<br/><br/>Solution: Send SDP offer in INVITE as one single media description.<br/><br/>Files: sip.cpp<br/><br/>Products affected: SIP gateway and PBXs<br/><br/>Risk: No risk.
      
      
=== dyn PBX General configuration page changes did not work sometime ===
=== SIP: CSeq not correct inside dialog ===


{|
{|
Line 1,437: Line 1,301:
|-
|-
|Id
|Id
|[http://mantis.innovaphone.com/view.php?id=51436 51436]
|[http://mantis.innovaphone.com/view.php?id=48533 48533]
|}
|}
problem: Sometimes strange behaviour, when removing config like 'Route Master calls if no Master to' or 'Max Calls to Master'<br/><br/>solution: editor fixed<br/><br/>files: pbx_admin.cpp<br/><br/>products: all with PBX<br/><br/>risks: None
Problem: Requests within a dialog MUST contain strictly monotonically    increasing and contiguous CSeq sequence numbers (increasing-by-one).<br/><br/>Solution: Keep a private CSeq counter at each call object, subscription object and registration object.<br/><br/>Files: sip.cpp/h siptrans.cpp/h<br/><br/>Products affected: SIP devices<br/><br/>Risk: No risk.
      
      
=== PBX: Retrieve was not sent in case of chained Waiting Queues ===
=== Memory Leak ===


{|
{|
Line 1,448: Line 1,312:
|-
|-
|Id
|Id
|[http://mantis.innovaphone.com/view.php?id=51450 51450]
|[http://mantis.innovaphone.com/view.php?id=48714 48714]
|}
|}
problem: When using DTMF destinations with Waiting Queues, the waiting queue is sending a Hold Notific when DTMF map destination is alerting. A Retrieve Notific must be sent when the destination connects. This was missing if the destination was another Waiting Queue.<br/><br/>solution: Send missing Retrieve<br/><br/>files: pbx.cpp, pbx.h, pbx_api.h<br/><br/>products: all with PBX<br/><br/>risks: None
Problem: Lost memory every time a registered SIP interface is deactivated.<br/><br/>Solution: Free allocated memory for authentication data.<br/><br/>Files: sip.cpp<br/><br/>Products affected: SIP endpoints<br/><br/>Risk: No risk.
      
      
=== PBX: Busy Name was not sent if busy because of 'Busy on ... calls' ===
== Bug Fixes ==
 
 
=== Other Bug Fixes ===


{|
{|
|Status
|<font><font color="green">Closed</font></font>
|-
|-
|Id
|valign=top nowrap=true|[http://mantis.innovaphone.com/view.php?id=49741 49741]
|[http://mantis.innovaphone.com/view.php?id=51451 51451]
|valign=top nowrap=true|pme
|}
|Number mistake if calls rerouted over ISDN by WAN overflow
problem: No Name Identification Facility was sent if call was busy because of 'Busy on ... calls'<br/><br/>solution: Send Name Id<br/><br/>files: pbx.cpp, pbx_api.h<br/><br/>products: all with PBX<br/><br/>risks: None
|-
|valign=top nowrap=true|[http://mantis.innovaphone.com/view.php?id=48781 48781]
|valign=top nowrap=true|sga
|Federation mit GW object in der PBX
|}
 
   
= V8 Hotfix  2 (80500.04) =
Fixes included in Version 8 hotfix2
[http://mantis.innovaphone.com/view.php?id=49093 Definition]
 
== New Features ==
 
 
      
      
=== Config Wizard Update ===
=== Configurable distinction of internal and external call ringing on analogue port ===


{|
{|
Line 1,470: Line 1,348:
|-
|-
|Id
|Id
|[http://mantis.innovaphone.com/view.php?id=51501 51501]
|[http://mantis.innovaphone.com/view.php?id=49344 49344]
|}
|}
problem: Several issues with config wizard: CLIP no screening mappings for international calls wrong, CLIP no screening mappings did not handle internal numbers matching Trunk/National/International Prefix, switchboard waiting object was not configured, extern only needed for insert mode<br/><br/>solution: config wizard fixed<br/><br/>files: setup.cpp, ip800/config_wizard.txt, ip6000/config_wizard.txt, ip6010/config_wizard.txt, ip24/config_wizard.txt<br/><br/>products: IP30x, IP800, IP6000, IP6010
For swiss users the internal call should be signaled with a ring sequence that is normally used for external calls and vice versa. Swiss seems to make an exception here. In addition it is now possible to configure 'always internal' and 'always external'.
      
      
=== Problems with Mobility and Nodes ===
=== wrong help url in ICP object ===


{|
{|
Line 1,481: Line 1,359:
|-
|-
|Id
|Id
|[http://mantis.innovaphone.com/view.php?id=51549 51549]
|[http://mantis.innovaphone.com/view.php?id=49411 49411]
|}
|}
problem: When calling from a mobile handset belonging to a user which is configured in a node a CLI without the node prefix was sent. Using a user configured in a node was not possible to use as mobile endpoint.<br/><br/>solution: handle node prefixes<br/><br/>files: pbx_mobility.cpp<br/><br/>products: all with PBX<br/><br/>risks: little risk of collateral damage with mobility
problem: wrong help url for ICP object<br/><br/>solution: change url<br/><br/>files: pbx_edit_icp.xsl<br/><br/>products: pbx<br/><br/>riscs: absolutely none
      
      
=== PBX: Pickup call did not show original called/parked endpoint ===
=== fat32 check disc trap ===


{|
{|
Line 1,492: Line 1,370:
|-
|-
|Id
|Id
|[http://mantis.innovaphone.com/view.php?id=51617 51617]
|[http://mantis.innovaphone.com/view.php?id=50204 50204]
|}
|}
problem: When doing pickup, the to be picked up call did not show what endpoint was called. This is especially a problem if group pickup is used with a function key without display<br/><br/>solution: Add ct_setup/leg2 info to pickup call<br/><br/>files: pbx.cpp<br/><br/>products: all with PBX<br/><br/>risks: None
Problem: After a firmware trap with a cf card, the afterwards check disk can cause a trap loop, if directory entries are corrupt because of the first trap.<br/><br/>Solution: Increment counter which caused the trap loop.<br/> <br/>Files: fat32.cpp<br/><br/>Products affected: All gateways with CF slot<br/><br/>Risk: minor risk
      
      
=== compatibility issue with PBX Waiting queue sending ct-complete before connect ===
=== wrong calculations causing check disc to damage data ===


{|
{|
Line 1,503: Line 1,381:
|-
|-
|Id
|Id
|[http://mantis.innovaphone.com/view.php?id=51620 51620]
|[http://mantis.innovaphone.com/view.php?id=51305 51305]
|}
|}
problem: If a call alerting at a PBX waiting queue is connected by a operator, the PBX is sending out a ct-complete message to indicate to the caller, which operator connected. This was sent right before the connect, but ct-complete is allowed by the standard only after connect. This created an interworking issue with when this was sent out to a QSIG PBX<br/><br/>solution: send ct-complete after connect<br/><br/>files: pbx_wait.cpp<br/><br/>products: all with PBX<br/>risks: none
Problem: check disc could produce damaged data in certain situations<br/><br/>Solution: correctly calculate partial records and clusters for next run. Also check if clusters are used multiple times.<br/><br/>Files: fat32.cpp, fat32.h, fat32.xsl<br/><br/>Risk: minor risk
      
      
=== PBX: SOAP initiated calls were sent with CT-SETUP ===
=== Possible trap when removing a cf card without previous unmount ===


{|
{|
Line 1,514: Line 1,392:
|-
|-
|Id
|Id
|[http://mantis.innovaphone.com/view.php?id=51622 51622]
|[http://mantis.innovaphone.com/view.php?id=51705 51705]
|}
|}
problem: If a call was initiated by SOAP to the PBX, the outgoing call contained a CT-SETUP facility. This way the call was displayed as transfered call by the destination, but it should be displayed just the same as a call initiated on the phone itself.<br/><br/>solution: remove CT-SETUP from outgoing call<br/><br/>files: pbx_xml.cpp<br/><br/>products: all with PBX<br/><br/>risks: None
Problem: events where queued to not exisiting serial<br/><br/>Solution: cf driver shouldn't answer outstanding events after removing the cf card, as the fat32 module won't wait for any events after receiving status removed event<br/><br/>Files: cf_drv.cpp<br/><br/>Risk: minor risk
      
      
=== PBX send call to mobile phone as diverted call ===
=== PBX: Reference to Config Template lost, when opening User from Registrations page ===


{|
{|
Line 1,525: Line 1,403:
|-
|-
|Id
|Id
|[http://mantis.innovaphone.com/view.php?id=51623 51623]
|[http://mantis.innovaphone.com/view.php?id=49089 49089]
|}
|}
problem: Billing applications need to associate a call to a mobile phone to the respective user. This can be done with the diverting leg info.<br/><br/>solution: Add diverting leg info 2 to call to mobile phone<br/><br/>files: pbx_mobility.cpp, pbx_gi.cpp<br/><br/>products: all with PBX<br/><br/>risks: none
problem: If a user object was opened from the Registrations page a configured config template was not displayed. By pressing Save or Apply the user object was written without the config template<br/><br/>solution: Display config template when opening user object from registrations page<br/><br/>files: pbx_regs.xsl<br/><br/>products: all with PBX<br/><br/>risks: None
      
      
=== Assertion to verify that access to license data structures is correct ===
=== Need to configure 'Route Root-Node External Calls to' in case of 'License Only' on Slave ===


{|
{|
Line 1,536: Line 1,414:
|-
|-
|Id
|Id
|[http://mantis.innovaphone.com/view.php?id=51752 51752]
|[http://mantis.innovaphone.com/view.php?id=49137 49137]
|}
|}
problem: There is a hint, that access to license data structures could corrupt memory.<br/><br/>solution: Verify that access to license data structures is correct with a assertion which results in a restart if this does happen.<br/><br/>files: inno_lic.cpp, pbx.cpp<br/><br/>products: all except phones<br/><br/>risks: Additional restarts could happen, but only in cases memory would be corrupt otherwise, so restart is the better choice
problem: A Slave or Standby-Slave PBX configured as 'License Only' did not allow to configure a Root Node Extern destination<br/><br/>solution: Allow configureation of Root-Node Extern<br/><br/>files: pbx_general.xsl<br/><br/>products: all with PBX<br/><br/>risks: None
      
      
=== Trap if some but not all interfaces of a given type are unlicensed ===
=== Media Renegotiation from H.323 Slowstart to H.323 EFC failed accross multiple PBXs ===


{|
{|
Line 1,547: Line 1,425:
|-
|-
|Id
|Id
|[http://mantis.innovaphone.com/view.php?id=51771 51771]
|[http://mantis.innovaphone.com/view.php?id=49147 49147]
|}
|}
problem: If some but not all interfaces are unlicensed (e.g. IP6000 with 4 PRI interfaces is licensed for 2 PRI interfaces) a trap could happen any time after the Gateway config was updated.<br/><br/>solution: Access to license structure fixed<br/><br/>files: inno_lic.cpp, gk.cpp<br/><br/>products: all gateway products<br/><br/>risks: None
problem: The message with the new FeatureSet, which indicated a switchover from non-EFC to EFC was not forwarded by the PBX. This happens if a slow-start endpoint located at a slave transfers a call originating from another slave so that both new endpoints are EFC. The master in this case did not forward the switchover FeatureSet.<br/><br/>solution: forward FeatureSet<br/><br/>files: h323ch.cpp<br/><br/>products: all<br/><br/>risks: None
      
      
=== Basic authentication support in HTTP client ===
=== Gateway: Feature Code Support Configuration fixed ===


{|
{|
Line 1,558: Line 1,436:
|-
|-
|Id
|Id
|[http://mantis.innovaphone.com/view.php?id=49450 49450]
|[http://mantis.innovaphone.com/view.php?id=49152 49152]
|}
|}
Problem: Currently the HTTP client does not support basic authentication but basic authentication is needed to access boxes that have Kerberos configured.<br/><br/>Solution: Integrate basic authentication into HTTP client.<br/><br/>Files: httpclient_i.h, httpclient_i.cpp<br/><br/>Risk: small
problem: Feature Code fieldset was displayed even if not Feature Code support available. Sometimes empty Feture Code Fieldset<br/><br/>solution: Better checking in UI<br/><br/>files: relay_edit_phys.xsl<br/><br/>products: all gateway products<br/><br/>risks: None
      
      
=== Trap in SRTP socket ===
=== Gateway: CGPN Map at route was executed even if the call using this route failed ===


{|
{|
Line 1,569: Line 1,447:
|-
|-
|Id
|Id
|[http://mantis.innovaphone.com/view.php?id=51146 51146]
|[http://mantis.innovaphone.com/view.php?id=49175 49175]
|}
|}
Problem: Under special conditions SRTP sockets send events to serials that are already deleted.<br/><br/>Solution: Check if the destination does still exist before sending the event.<br/><br/>Files: srtp_cipher.cpp<br/><br/>Risk: Small risk of damaging SRTP encryption on IP6000/IP2000<br/><br/>
problem: A CGPN Map at a route was executed even if the call using this route failed. This was confusing if rerouting was configured in case a destination was not available.<br/><br/>solution: CGPN map not executed if call failed, so rerouting could be done with the same CGPN<br/><br/>files: gk.cpp<br/><br/>products: all gateway products<br/><br/>risks: Could be that there are configs depending on old, wrong behaviour
      
      
=== One way media after SRTP renegotiation on IP6000 ===
=== PBX: Sending of multiple group indications after registration did not work ===


{|
{|
Line 1,580: Line 1,458:
|-
|-
|Id
|Id
|[http://mantis.innovaphone.com/view.php?id=51148 51148]
|[http://mantis.innovaphone.com/view.php?id=49190 49190]
|}
|}
Problem: On the IP6000 platform the SRTP ROC was not reset on media renegotiation.<br/><br/>Solution: Reset SRTP ROC when rtp_channel::set_media_config is called<br/><br/>Files: srtp_cipher.cpp<br/><br/>Risk: no risk known<br/><br/><br/><br/>
problem: If a phone registers to the PBX, the PBX is sending group indications for all active calls. If more then one call was active not all group indications were sent successful. This also happened with the update of Boolean function keys.<br/><br/>solution: Sending of Group Indications fixed<br/><br/>files: pbx_gi.cpp, pbx_gi.h<br/><br/>products: all with PBX<br/><br/>risks: Risk of collateral damage in the area of Group Indications
      
      
=== LDAP Searches for unsupported DNs disconnected all LDAP connections ===
=== PBX: After CFNR from Waiting with end of first announcement no MOH during call proceeding/alerting ===


{|
{|
Line 1,591: Line 1,469:
|-
|-
|Id
|Id
|[http://mantis.innovaphone.com/view.php?id=50934 50934]
|[http://mantis.innovaphone.com/view.php?id=49458 49458]
|}
|}
problem: LDAP Searches for unsupported Distinguished Names (DN) disconnected all LDAP connections<br/><br/>solution: Remove (meanwhile surplus) v7 code<br/><br/>files: ldapsrv.cpp<br/><br/>products: all PBX products<br/><br/>risks: None
problem: If a CFNR is executed at the end of the first announcement of a Waiting object (no second announcement), MOH should be played during call proceeding/alerting of the forwarded call. This did not happen, because MOH was turned off by accident with clearing of the announcement call.<br/><br/>solution: Don't turn off MOH<br/><br/>files: pbx.cpp<br/><br/>products: all with PBX<br/><br/>risks: litte risk of other media problems within PBX
      
      
=== RELAY: Remove config parameter "mask" from GUI ===
=== H.323, PROGRESS with cause treated as DISC causes problems ===


{|
{|
Line 1,602: Line 1,480:
|-
|-
|Id
|Id
|[http://mantis.innovaphone.com/view.php?id=48127 48127]
|[http://mantis.innovaphone.com/view.php?id=49889 49889]
|}
|}
ENUM/SIP interfaces shall accept all call sources (no filtering).<br/>No-Reg-IFs shall use addr/mask as filter for call sources.<br/>(Remove old mask logic for outgoing calls in gk.cpp)
problem: In H.323 no DISC message is defined. Because of that a PROGRESS message with Cause code was treated as a DISC message. This behaviour causes problems, because there is H.323 equipment sending PROGRESS with Cause even if no DISC is intended<br/><br/>solution: No special handling of PROGRESS with cause anymore<br/><br/>files: h323_tbl.h, h323sig.cpp<br/><br/>products: all<br/><br/>risks: old behaviour could be expected by other equipment
      
      
=== SIP: Remote number update after pick-up does not work ===
=== Enblock flag not evaluated on Routes to MAP ===


{|
{|
Line 1,613: Line 1,491:
|-
|-
|Id
|Id
|[http://mantis.innovaphone.com/view.php?id=51268 51268]
|[http://mantis.innovaphone.com/view.php?id=49896 49896]
|}
|}
Problem: PBX send UPDATE with changed From URI (rfc4916) too early (interfering with ongoing INVITE transaction). UPDATE is rejected by picking party.<br/><br/>Solution: Postpone UPDATE(from-change) until INVITE transaction is complete.<br/> <br/>Files: sip.cpp/h<br/><br/>Products affected: PBXs with SIP endpoints doing call pick-up<br/><br/>Risk: No risk.
problem: The enblock flag on routes to MAP could be set, but it did not do anything<br/><br/>solution: Evaluate enblock flag on routes to MAP<br/><br/>files: gk.cpp<br/><br/>products: All gateway products<br/><br/>risks: None, no change if enblock flag not set
      
      
=== IP-DECT OEM compatibility with old MWI configuration ===
=== One-way-voice after unpark/pickup together with SRTP, H323 and Registration with password ===


{|
{|
Line 1,624: Line 1,502:
|-
|-
|Id
|Id
|[http://mantis.innovaphone.com/view.php?id=49518 49518]
|[http://mantis.innovaphone.com/view.php?id=49963 49963]
|}
|}
problem: The MWI configuration should be compatible with old configuration.<br/><br/>solution: Configuration added.<br/><br/>files: dectfty.h, dectfty.cpp.<br/><br/>products affected: All DECT devices.<br/><br/>risk: No risk of collateral damage.
problem: Within media renegotiation after unpark/pickup a wrong SRTP key was sent. This resulted in one-way media.<br/><br/>solution: Transmit correct SRTP key<br/><br/>files: h323sig.cpp<br/><br/>products: all<br/><br/>risk: Other media problems
      
      
=== IP800 conference ===
=== PBX: No default device definition was added to new object ===


{|
{|
Line 1,635: Line 1,513:
|-
|-
|Id
|Id
|[http://mantis.innovaphone.com/view.php?id=49800 49800]
|[http://mantis.innovaphone.com/view.php?id=49973 49973]
|}
|}
problem: Conference hardware initialization for channel ten does not work.<br/><br/>solution: Delay within initialization sequence inserted.<br/><br/>files: ipac_drv.cpp.<br/><br/>products affected: Devices with IPAC chip.<br/><br/>risk: No risk of collateral damage.
problem: If a new object was added to the PBX, with a Name, but without device hw-id, no default device definition was created containing name has hw-id. After an unknown enpoint was assigned to this user by dialing the number of the user a registration with name was not possible anymore.<br/><br/>solution: Create default device definition<br/><br/>files: pbx_admin.cpp<br/><br/>products: all with PBX<br/><br/>risks: None
      
      
=== H323 channel null pointer trap ===
=== Media Negotiation between SIP and H.323 failed if Offer from both sides available ===


{|
{|
Line 1,646: Line 1,524:
|-
|-
|Id
|Id
|[http://mantis.innovaphone.com/view.php?id=49813 49813]
|[http://mantis.innovaphone.com/view.php?id=50037 50037]
|}
|}
problem: Trap caused by null pointer access.<br/><br/>solution: Null pointer check added.<br/><br/>files: h323_ch.cpp.<br/><br/>products affected: All devices with H323 protocol.<br/><br/>risk: No risk of collateral damage.
problem: If a H.323 and a SIP call leg were to be connected and a media offer was available on both legs, nothing happend. The new offer should have been sent on the H.323 leg. This situation could happen in special cases with transfer and reverse media.<br/><br/>solution: Send offer on H.323 in this case<br/><br/>files: h323ch.cpp<br/><br/>products: all<br/><br/>risk: Small riks of collateral damage
      
      
=== IP-DECT OEM system name update ===
=== PBX device definition with empty hw-id was generated for a user without name ===


{|
{|
Line 1,657: Line 1,535:
|-
|-
|Id
|Id
|[http://mantis.innovaphone.com/view.php?id=49825 49825]
|[http://mantis.innovaphone.com/view.php?id=50043 50043]
|}
|}
problem: The OEM DECT needs update of the system name.<br/><br/>solution: Update added.<br/><br/>files: dectusers.cpp, dectlocalusers.cpp.<br/><br/>products affected: All DECT devices.<br/><br/>risk: Minimal risk of collateral damage.
problem: For objects without device configurations, a default device is generated with the hw-id being the same as the Name of the object. This is for v7 compatibility. This was done even if there was no Name. But it was done only for a single object, because after that duplicate hw-id was detected. This caused registration with number being possible on this object even without device configuration.<br/><br/>solution: Check for empty name<br/><br/>files: pbx.cpp<br/><br/>products: all with PBX<br/><br/>risks: None
      
      
=== IP-DECT unattended call transfer ===
=== PBX: 'Route Internal Calls to' only works for internal destinations being users or slaves ===


{|
{|
Line 1,668: Line 1,546:
|-
|-
|Id
|Id
|[http://mantis.innovaphone.com/view.php?id=49829 49829]
|[http://mantis.innovaphone.com/view.php?id=50068 50068]
|}
|}
problem: It should not be possible to enter the unattended call transfer mode if the second call is in ring-back state.<br/><br/>solution: Condition added.<br/><br/>files: dectradio.cpp.<br/><br/>products affected: All DECT devices.<br/><br/>risk: No risk of collateral damage.
problem: It was explicitly implemented that 'Route Internal Calls to' was only executed for Users or Slaves. This was does not seem to be a usefull restriction.<br/><br/>solution: Restriction removed<br/><br/>files: pbx.cpp<br/><br/>products: all with PBX<br/><br/>risks: Could be that this restrictions turns out to be usefull
      
      
=== IP-DECT old anonymous PPs ===
=== PBX: On CFB configured at Slave PBX executed on max_calls, additional digits were added to called number ===


{|
{|
Line 1,679: Line 1,557:
|-
|-
|Id
|Id
|[http://mantis.innovaphone.com/view.php?id=50064 50064]
|[http://mantis.innovaphone.com/view.php?id=50083 50083]
|}
|}
problem: The old anonymous PPs saved in the system object in firmware version 6 should not longer be used.<br/><br/>solution: Anonymous PPs in the system object are automatically deleted.<br/><br/>files: dectusers.h, dectusers.cpp.<br/><br/>products affected: All DECT devices.<br/><br/>risk: Minimal risk of collateral damage.
problem: If a CFB on a Slave PBX was executed because max-calls, the original dialed digits should be added to the diverted to number. If the original dialed number did not exactly match a user in the slave, but additional digits were dialed, these digits were added twice.<br/><br/>solution: Add digits once only<br/><br/>files: pbx.cpp<br/><br/>products: all with PBX<br/><br/>risks: None
      
      
=== IP-DECT Radio call statistics ===
=== Trap if doing Pickup from analog interface with Feature Code ===


{|
{|
Line 1,690: Line 1,568:
|-
|-
|Id
|Id
|[http://mantis.innovaphone.com/view.php?id=50736 50736]
|[http://mantis.innovaphone.com/view.php?id=50107 50107]
|}
|}
problem: Radio call statistics like call or handover counter are missed in the master radios overview GUI for DECT deployment.<br/><br/>solution: Radio call statistics added.<br/><br/>files: dectmaster.h, dectmaster.cpp, dectmaster_radios.xsl (OEM), dectradio.h, dectradio.cpp.<br/><br/>products affected: All DECT devices.<br/><br/>risk: Minimal risk of collateral damage.
problem: If a Pickup was performed from an anlog interface using Feature Codes, the gateway restarted. This was caused by an invalid cast.<br/><br/>solution: Cast fixed<br/><br/>files: relayfty.cpp, relay_api.h, relay.cpp<br/><br/>products: all gateway products with analog interfaces<br/><br/>risks: None
      
      
=== IP-DECT Handset's product number and software version ===
=== Mobility: Reject of call to mobile endpoint did not work ===


{|
{|
Line 1,701: Line 1,579:
|-
|-
|Id
|Id
|[http://mantis.innovaphone.com/view.php?id=50738 50738]
|[http://mantis.innovaphone.com/view.php?id=50239 50239]
|}
|}
problem: The DECT handset's product number and software version are not shown in the user list in the DECT master.<br/><br/>solution: Information is shown if available.<br/><br/>files: dect_users_right.xsl (OEM).<br/><br/>products affected: All DECT devices.<br/><br/>risk: No risk of collateral damage.
problem: If a call on a mobile endpoint was rejected, on the calling side there was still ringback. Also a CFB was not executed in this case.<br/><br/>solution: Reject on mobile phone fixed<br/><br/>files: pbx.cpp, pbx.h, pbx_api.h, pbx_mobility.cpp, pbx_mobility.h<br/><br/>products: all with PBX<br/><br/>risks: Risk of collateral damage with Mobility
      
      
=== IP-DECT memory leak ===
=== Mobility: Call to obeject within other PBX not in root node failed ===


{|
{|
Line 1,712: Line 1,590:
|-
|-
|Id
|Id
|[http://mantis.innovaphone.com/view.php?id=50975 50975]
|[http://mantis.innovaphone.com/view.php?id=50241 50241]
|}
|}
problem: There are memory leaks with update event of uninitialized radio registrations.<br/><br/>solution: Cleanup added.<br/><br/>files: dectmaster.cpp.<br/><br/>products affected: All DECT devices.<br/><br/>risk: No risk of collateral damage.
problem: Routing of calls from mobile endpoint, did not work with nodes on other PBXs<br/><br/>solution: Routing fixed<br/><br/>files: pbx.cpp, pbx.h, pbx_api.h, pbx_mobility.cpp, pbx_mobility.h<br/><br/>products: all with PBX<br/><br/>risks: Risk of collateral damage with Mobility
      
      
=== IP-DECT hanging calls ===
=== Mobility: Call forwarding on no response did not work for mobile endpoints if only mobile endpoint ===


{|
{|
Line 1,723: Line 1,601:
|-
|-
|Id
|Id
|[http://mantis.innovaphone.com/view.php?id=51007 51007]
|[http://mantis.innovaphone.com/view.php?id=50242 50242]
|}
|}
problem: Sometime there are hanging calls in the radio.<br/><br/>solution: New timer added to check for hanging calls.<br/><br/>files: dectradio.h, dectradio.cpp.<br/><br/>products affected: All DECT devices.<br/><br/>risk: Minimal risk of collateral damage.
problem: A call forward on no response, either as CFNR or as no response destination at a trunk failed if only a mobile endpoint was present for a given object.<br/><br/>solution: Forwarding fixed<br/><br/>files: pbx.cpp, pbx.h, pbx_api.h, pbx_mobility.cpp, pbx_mobility.h<br/><br/>products: all with PBX<br/><br/>risks: Risk of collateral damage with Mobility
      
      
=== IP-DECT OEM module MSF trap ===
=== Trap if 'Escape Dialtone from' configured not being a User Object ===


{|
{|
Line 1,734: Line 1,612:
|-
|-
|Id
|Id
|[http://mantis.innovaphone.com/view.php?id=51008 51008]
|[http://mantis.innovaphone.com/view.php?id=50267 50267]
|}
|}
problem: Traps occur after using of the MSF module.<br/><br/>solution: Pointer cleanup added.<br/><br/>files: dectmsf.cpp.<br/><br/>products affected: All DECT devices.<br/><br/>risk: Minimal risk of collateral damage.
problem: If a 'Escape Dialtone from' destination was configured, which was not a User object (e.g. a Gwateway) a trap happend when a escape dialtone was to be played.<br/><br/>solution: NULL pointer access fixed<br/><br/>files: pbx.cpp, pbx.h, pbx_api.h<br/><br/>products: all with PBX<br/><br/>risks: Minimal
      
      
=== IP-DECT OEM multi-cast module support ===
=== Mobility: Send presence info of called user with ALERT at call to mobile endpoint ===


{|
{|
Line 1,745: Line 1,623:
|-
|-
|Id
|Id
|[http://mantis.innovaphone.com/view.php?id=51269 51269]
|[http://mantis.innovaphone.com/view.php?id=50349 50349]
|}
|}
problem: Some new functions are needed for the oem multi-cast module support.<br/><br/>solution: Function added.<br/><br/>files: signal.h, signal.cpp, dectusers_if.h, dectusers.h, dectusers.cpp, dectlocalusers.h, dectlocalusers.cpp, dectradio.cpp.<br/><br/>products affected: All DECT devices.<br/><br/>risk: Minimal risk of collateral damage.
problem: When a mobile endpoint was called, the presence info of the mobile endpoint (typically there is no presence info available) was send to caller instead of the presence info of the related local user object.<br/><br/>solution: Send presence info of local user<br/><br/>files: pbx_mobility.cpp, pbx_api.h<br/><br/>products: all with PBX<br/><br/>risks: None
      
      
=== IP-DECT OEM protocol display update ===
=== PBX object device config lost, if invalid info added somewhere else (e.g. duplicate number) ===


{|
{|
Line 1,756: Line 1,634:
|-
|-
|Id
|Id
|[http://mantis.innovaphone.com/view.php?id=51354 51354]
|[http://mantis.innovaphone.com/view.php?id=50415 50415]
|}
|}
problem: If a OEM protocol is used the display update wrongly inserts the last pre-dialed digit as post-dialed keypad info.<br/><br/>solution: Function fixed.<br/><br/>files: dectradio.cpp.<br/><br/>products affected: All DECT devices.<br/><br/>risk: No risk of collateral damage.
problem: If a PBX object editor is opened and invalid information is added, then after Apply or OK the error message is displayed and the devices list was empty. After correcting the error and Apply or OK again the object is saved without the device list.<br/><br/>solution: Fill in device list on error as well<br/><br/>files: pbx_admin.cpp<br/><br/>products: all with PBX<br/><br/>risks: None
      
      
=== IP-DECT wrong forward of internal information event ===
=== Potential trap with Mobility ===


{|
{|
Line 1,767: Line 1,645:
|-
|-
|Id
|Id
|[http://mantis.innovaphone.com/view.php?id=51418 51418]
|[http://mantis.innovaphone.com/view.php?id=50989 50989]
|}
|}
problem: A internal information event is wrongly forwarded to the PBX.<br/><br/>solution: Forward of this event is avoided.<br/><br/>files: dectradio.cpp.<br/><br/>products affected: All DECT devices.<br/><br/>risk: Minimal risk of collateral damage.
problem: A trap could happen with a collision of CFNR Timeout and call disconnect, when calling a mobile endpoint, because of NULL pointer access.<br/><br/>solution: Check for NULL pointer added<br/><br/>files: pbx_mobility.cpp<br/><br/>products: all with PBX<br/><br/>risks: None
      
      
=== PBX BC Conference member type restriction / call information ===
=== Mobility Object returns busy if called from a unknown mobile phone ===


{|
{|
Line 1,778: Line 1,656:
|-
|-
|Id
|Id
|[http://mantis.innovaphone.com/view.php?id=51429 51429]
|[http://mantis.innovaphone.com/view.php?id=51010 51010]
|}
|}
problem: Some other PBX objects can not be called as conference members. Conference object call target is not shown correctly in the PBX call list. This information is also used as calling party number for the other conference member calls, useful for recording with the VM object and several conference objects.<br/><br/>solution: PBX object type restriction removed and remote endpoint information (cgpn) fixed.<br/><br/>files: pbx_bc_conf.cpp.<br/><br/>products affected: All devices with PBX.<br/><br/>risk: Minimal risk of collateral damage.
problem: The mobility object answers calls only if called by a mobile phone which is configured as forking destination. Calls from other mobile phones are rejected. The cause "user busy" was used in this case, which was misleading.<br/><br/>solution: Use cause "Service unavailable, unspecified" instead.<br/><br/>files: pbx_mobility.cpp<br/><br/>products: all with PBX<br/><br/>risks: None
      
      
=== PBX BC conference object TAPI feature clear call ===
=== Potential trap when disconnecting call, WEBMEDIA-CH.5 default(82c09798): serial_event(814) ===


{|
{|
Line 1,789: Line 1,667:
|-
|-
|Id
|Id
|[http://mantis.innovaphone.com/view.php?id=51434 51434]
|[http://mantis.innovaphone.com/view.php?id=51132 51132]
|}
|}
problem: The TAPI connection of the broadcast conference object does not support clearing calls.<br/><br/>solution: Feature added.<br/><br/>files: pbx_bc_conf.h, pbx_bc_conf.cpp.<br/><br/>products affected: All devices with PBX.<br/><br/>risk: Minimal risk of collateral damage.
problem: Under special timing conditions a trap could happen during call disconnect. This only happened if the call terminated at a physical interface on the given box.<br/><br/>solution: Cleaning up of media channel fixed<br/><br/>files: media.cpp<br/><br/>products: all<br/><br/>risks: None
      
      
=== IP-DECT IP-Master in IP6000 device ===
=== PBX-CDR: Local Time wrong (same as UTC) ===


{|
{|
Line 1,800: Line 1,678:
|-
|-
|Id
|Id
|[http://mantis.innovaphone.com/view.php?id=51509 51509]
|[http://mantis.innovaphone.com/view.php?id=51415 51415]
|}
|}
problem: For big DECT systems the IP-DECT IP-Master should be hosted in IP6000.<br/><br/>solution: IP-DECT module with IP-Master added to IP6000 firmware. Usable only with IP-DECT multi-cell license.<br/><br/>files: dectuser.cpp, config.h, ip6000.h, ip6000.cpp, ip6000.mak, left_menu.xml, trace.xsl, new: dect module files without dect radio files, dect_hdr.xml, dect_admin_hdr.xml, dect.xml, dect_admin.xml.<br/><br/>products affected: All DECT devices.<br/><br/>risk: Minimal risk of collateral damage.
problem: In the CDRs from the PBX the local time was always set to UTC<br/><br/>solution: Use correct time<br/><br/>files: pbx.cpp<br/><br/>products: all with PBX<br/><br/>risks: None
      
      
=== IP-DECT trap during call release and information message ===
=== PBX: No Inband Disconnect for Gateway Object ===


{|
{|
Line 1,811: Line 1,689:
|-
|-
|Id
|Id
|[http://mantis.innovaphone.com/view.php?id=51583 51583]
|[http://mantis.innovaphone.com/view.php?id=51421 51421]
|}
|}
problem: A trap occurs if the DECT handset sends a information message and the call is release by the PBX. Only the channel is released, but not yet the call.<br/><br/>solution: Null pointer check added.<br/><br/>files: dectmaster.cpp.<br/><br/>products affected: All DECT devices.<br/><br/>risk: No risk of collateral damage.
problem: 'No Inband Disconnect' was not configurable for Gateway objects<br/><br/>solution: Configuration added<br/><br/>files: pbx_edit_gw.xsl<br/><br/>products: all with PBX<br/><br/>risks: None
      
      
=== IP-DECT configuration option 'Redirection with GK ID' ===
=== PBX CGPN missing with call to mobile endpoint, if not supplied by calling endpoint ===


{|
{|
Line 1,822: Line 1,700:
|-
|-
|Id
|Id
|[http://mantis.innovaphone.com/view.php?id=51616 51616]
|[http://mantis.innovaphone.com/view.php?id=51424 51424]
|}
|}
problem: Configuration option needed to append the GK ID if the registration is redirected by the PBX.<br/><br/>solution: Configuration option added.<br/><br/>files: dectmaster.h, dectmaster.cpp, dectmaster.xsl.<br/><br/>products affected: All DECT devices.<br/><br/>risk: No risk of collateral damage.
problem: If a calling endpoint registered to the PBX, did not supply the calling number, the PBX did not set it, when calling a mobile endpoint<br/><br/>solution: PBX sets calling number<br/><br/>files: pbx_mobility.cpp<br/><br/>products: all with PBX<br/><br/>risks: None
      
      
=== IP6000 LE newer kernel support ===
=== no RTP-DTMF after rerouting ===


{|
{|
Line 1,833: Line 1,711:
|-
|-
|Id
|Id
|[http://mantis.innovaphone.com/view.php?id=51712 51712]
|[http://mantis.innovaphone.com/view.php?id=51431 51431]
|}
|}
problem: Newer Linux kernel included in Debian does not work.<br/><br/>solution: Support for linux kuser helper functions added.<br/><br/>files: startup_littleendian.S.<br/><br/>products affected: Only IP6000 little-endian firmware.<br/><br/>risk: No risk of collateral damage.
problem: If rerouting happened from one media endpoint to another, for example if a TONE interface is used for a dialtone after one digit dialed there is a rerouting to another interface, RTP-DTMF does not work.<br/><br/>solution: Media renegotiation fixed for this case<br/><br/>files: ac_dsp.h, ac_dsp2.h, ac_dsp3.h<br/><br/>risks: none
      
      
=== IP-DECT logging release code ===
=== dyn PBX General configuration page changes did not work sometime ===


{|
{|
Line 1,844: Line 1,722:
|-
|-
|Id
|Id
|[http://mantis.innovaphone.com/view.php?id=51759 51759]
|[http://mantis.innovaphone.com/view.php?id=51436 51436]
|}
|}
problem: The release code is not correctly shown in logging events.<br/><br/>solution: Fixed.<br/><br/>files: dectmaster.cpp.<br/><br/>products affected: All DECT devices.<br/><br/>risk: No risk of collateral damage.
problem: Sometimes strange behaviour, when removing config like 'Route Master calls if no Master to' or 'Max Calls to Master'<br/><br/>solution: editor fixed<br/><br/>files: pbx_admin.cpp<br/><br/>products: all with PBX<br/><br/>risks: None
      
      
=== IP72 announcement calls should be routed to headset if plugged ===
=== PBX: Retrieve was not sent in case of chained Waiting Queues ===


{|
{|
Line 1,855: Line 1,733:
|-
|-
|Id
|Id
|[http://mantis.innovaphone.com/view.php?id=49587 49587]
|[http://mantis.innovaphone.com/view.php?id=51450 51450]
|}
|}
problem: IP72 announcement calls should be routed to headset if plugged. currently announced calls are always received with handset. <br/><br/>solution: fixed in code, has to be explicitly enabled in phone's web-ui: "Administration/Phone/Preferences/Route Automatically Connected Inbound Calls to Headset (if enabled)"<br/><br/>files: phone/sig/phonesig.* phone/user/phone_pref.xsl<br/><br/>products: all telephones<br/><br/>risks: none<br/>
problem: When using DTMF destinations with Waiting Queues, the waiting queue is sending a Hold Notific when DTMF map destination is alerting. A Retrieve Notific must be sent when the destination connects. This was missing if the destination was another Waiting Queue.<br/><br/>solution: Send missing Retrieve<br/><br/>files: pbx.cpp, pbx.h, pbx_api.h<br/><br/>products: all with PBX<br/><br/>risks: None
      
      
=== presence function key usage on phone traps with non-presence-available pbx ===
=== PBX: Busy Name was not sent if busy because of 'Busy on ... calls' ===


{|
{|
Line 1,866: Line 1,744:
|-
|-
|Id
|Id
|[http://mantis.innovaphone.com/view.php?id=50034 50034]
|[http://mantis.innovaphone.com/view.php?id=51451 51451]
|}
|}
problem: presence function key usage traps with non-presence-available pbx<br/><br/>solution: fixed in code (check)<br/><br/>files: phone/app/app_disp.cpp<br/><br/>products: all telephones<br/><br/>risks: none<br/>
problem: No Name Identification Facility was sent if call was busy because of 'Busy on ... calls'<br/><br/>solution: Send Name Id<br/><br/>files: pbx.cpp, pbx_api.h<br/><br/>products: all with PBX<br/><br/>risks: None
      
      
=== Better norwegian translation for telephone text entries ===
=== Config Wizard Update ===


{|
{|
Line 1,877: Line 1,755:
|-
|-
|Id
|Id
|[http://mantis.innovaphone.com/view.php?id=50941 50941]
|[http://mantis.innovaphone.com/view.php?id=51501 51501]
|}
|}
problem: Better norwegian translation for telephone text entries<br/><br/>solution: Changed translation file<br/><br/>files: phone/txt/phonetxt.base<br/><br/>products: All telephones<br/><br/>risks: none<br/><br/>
problem: Several issues with config wizard: CLIP no screening mappings for international calls wrong, CLIP no screening mappings did not handle internal numbers matching Trunk/National/International Prefix, switchboard waiting object was not configured, extern only needed for insert mode<br/><br/>solution: config wizard fixed<br/><br/>files: setup.cpp, ip800/config_wizard.txt, ip6000/config_wizard.txt, ip6010/config_wizard.txt, ip24/config_wizard.txt<br/><br/>products: IP30x, IP800, IP6000, IP6010
      
      
=== Ringing style upon incoming message is not configurable via web - ui ===
=== Problems with Mobility and Nodes ===


{|
{|
Line 1,888: Line 1,766:
|-
|-
|Id
|Id
|[http://mantis.innovaphone.com/view.php?id=50963 50963]
|[http://mantis.innovaphone.com/view.php?id=51549 51549]
|}
|}
problem: Ringing style upon incoming message is not configurable via web - ui <br/><br/>solution: fixed in xsl<br/><br/>files: reg_edit_general.xsl<br/><br/>products: all telephones<br/><br/>risks: none<br/><br/>
problem: When calling from a mobile handset belonging to a user which is configured in a node a CLI without the node prefix was sent. Using a user configured in a node was not possible to use as mobile endpoint.<br/><br/>solution: handle node prefixes<br/><br/>files: pbx_mobility.cpp<br/><br/>products: all with PBX<br/><br/>risks: little risk of collateral damage with mobility
      
      
=== Ringing tone used for incoming message can not be reconfigured permanently ===
=== PBX: Pickup call did not show original called/parked endpoint ===


{|
{|
Line 1,899: Line 1,777:
|-
|-
|Id
|Id
|[http://mantis.innovaphone.com/view.php?id=50976 50976]
|[http://mantis.innovaphone.com/view.php?id=51617 51617]
|}
|}
problem: Ringing tone used for incoming message can not be reconfigured permanently. It switches back to default after ringing once without user interaction.<br/><br/>solution: fixed in code<br/><br/>files: phone/app/app_ctl.cpp<br/><br/>products: all telephones<br/><br/>risks: none<br/><br/><br/><br/>
problem: When doing pickup, the to be picked up call did not show what endpoint was called. This is especially a problem if group pickup is used with a function key without display<br/><br/>solution: Add ct_setup/leg2 info to pickup call<br/><br/>files: pbx.cpp<br/><br/>products: all with PBX<br/><br/>risks: None
      
      
=== IP72: beacon recv time now configurable through command line ===
=== compatibility issue with PBX Waiting queue sending ct-complete before connect ===


{|
{|
Line 1,910: Line 1,788:
|-
|-
|Id
|Id
|[http://mantis.innovaphone.com/view.php?id=51452 51452]
|[http://mantis.innovaphone.com/view.php?id=51620 51620]
|}
|}
problem: beacon recv time now configurable through command line. This is required for a special Meru Networks interop. (config change WLAN0 /beacon-recv-time 10)<br/><br/>solution: fixed in code<br/><br/>files: ascom-drivers/WLAN_drv.cpp<br/><br/>products: IP72<br/><br/>risks: none<br/>
problem: If a call alerting at a PBX waiting queue is connected by a operator, the PBX is sending out a ct-complete message to indicate to the caller, which operator connected. This was sent right before the connect, but ct-complete is allowed by the standard only after connect. This created an interworking issue with when this was sent out to a QSIG PBX<br/><br/>solution: send ct-complete after connect<br/><br/>files: pbx_wait.cpp<br/><br/>products: all with PBX<br/>risks: none
      
      
=== IP72: Upgrade WLAN subsystem to Ascom 1.7.10 ===
=== PBX: SOAP initiated calls were sent with CT-SETUP ===


{|
{|
Line 1,921: Line 1,799:
|-
|-
|Id
|Id
|[http://mantis.innovaphone.com/view.php?id=51516 51516]
|[http://mantis.innovaphone.com/view.php?id=51622 51622]
|}
|}
problem: Upgrade WLAN subsystem to Ascom 1.7.10<br/>Ascom i75 v1.7.10 release.<br/>- Beacon reception time can be changed.<br/>- Scan interval can be changed.<br/>- Null data keep alive period can be changed.<br/>- Two different site filters can be chosen.<br/>- RSSI filter parameters is changed: 25% new value + 75% old value (previous releases use 10% + 90%).<br/>- Roaming threshold is changed to -67 dBm (from -70).<br/>- Authentication timeout changed to 100 ms (from 500 ms).<br/><br/>solution: upgraded shared code<br/><br/>files: WLAN/* ascom-drivers/WLAN_drv.*<br/><br/>products: IP72<br/><br/>risks: none known<br/>
problem: If a call was initiated by SOAP to the PBX, the outgoing call contained a CT-SETUP facility. This way the call was displayed as transfered call by the destination, but it should be displayed just the same as a call initiated on the phone itself.<br/><br/>solution: remove CT-SETUP from outgoing call<br/><br/>files: pbx_xml.cpp<br/><br/>products: all with PBX<br/><br/>risks: None
      
      
=== IP72: ring though handset ===
=== PBX send call to mobile phone as diverted call ===


{|
{|
Line 1,932: Line 1,810:
|-
|-
|Id
|Id
|[http://mantis.innovaphone.com/view.php?id=51624 51624]
|[http://mantis.innovaphone.com/view.php?id=51623 51623]
|}
|}
problem: IP72 feature: ring through handset if configured so and handset plugged<br/><br/>solution: fixed in code<br/><br/>files: box/omap/omap_dsp.* box/omap/omap_codec.cpp<br/><br/>products: IP72<br/><br/>risks: none<br/><br/>
problem: Billing applications need to associate a call to a mobile phone to the respective user. This can be done with the diverting leg info.<br/><br/>solution: Add diverting leg info 2 to call to mobile phone<br/><br/>files: pbx_mobility.cpp, pbx_gi.cpp<br/><br/>products: all with PBX<br/><br/>risks: none
      
      
=== IP72: function keys only available in idle mode ===
=== Assertion to verify that access to license data structures is correct ===


{|
{|
Line 1,943: Line 1,821:
|-
|-
|Id
|Id
|[http://mantis.innovaphone.com/view.php?id=51798 51798]
|[http://mantis.innovaphone.com/view.php?id=51752 51752]
|}
|}
problem: IP72: function keys only available in idle mode<br/><br/>solution: option /softkey-mode now defines whether a predefined function key overlays a softkey in idle mode, in active mode, or not at all <br/><br/>files: phone/forms/forms*<br/><br/>products: IP72<br/><br/>risks: none<br/><br/>
problem: There is a hint, that access to license data structures could corrupt memory.<br/><br/>solution: Verify that access to license data structures is correct with a assertion which results in a restart if this does happen.<br/><br/>files: inno_lic.cpp, pbx.cpp<br/><br/>products: all except phones<br/><br/>risks: Additional restarts could happen, but only in cases memory would be corrupt otherwise, so restart is the better choice
      
      
=== IP800: V8 Firmware upload not possible after V7 licenseses are returned to myinnovaphone  ===
=== Trap if some but not all interfaces of a given type are unlicensed ===


{|
{|
|Status
|Status
|<font><font color="red">Assigned</font></font>
|<font><font color="green">Closed</font></font>
|-
|-
|Id
|Id
|[http://mantis.innovaphone.com/view.php?id=49888 49888]
|[http://mantis.innovaphone.com/view.php?id=51771 51771]
|}
|}
problem: Missing label to identify new license scheme with certificates.<br/><br/>solution: fixed in makefile<br/><br/>files: ip800.mak<br/><br/>products: ip800<br/><br/>risks: low risk
problem: If some but not all interfaces are unlicensed (e.g. IP6000 with 4 PRI interfaces is licensed for 2 PRI interfaces) a trap could happen any time after the Gateway config was updated.<br/><br/>solution: Access to license structure fixed<br/><br/>files: inno_lic.cpp, gk.cpp<br/><br/>products: all gateway products<br/><br/>risks: None
      
      
=== DTMF digits missing during DTMF generation  ===
=== Basic authentication support in HTTP client ===


{|
{|
|Status
|Status
|<font><font color="orange">To-decide</font></font>
|<font><font color="green">Closed</font></font>
|-
|-
|Id
|Id
|[http://mantis.innovaphone.com/view.php?id=49588 49588]
|[http://mantis.innovaphone.com/view.php?id=49450 49450]
|}
|}
problem: Tones are not send out after channel init with a undefined coder <br/><br/>solution: fixed in code, ignore DSP status packets for timing calculation, DSP message trace function fixed<br/><br/>files: ac_dsp2.cpp Recordpck.h ac48xhi.c<br/><br/>products: ip6000/800/1200/1201/4001<br/>risks: low risk
Problem: Currently the HTTP client does not support basic authentication but basic authentication is needed to access boxes that have Kerberos configured.<br/><br/>Solution: Integrate basic authentication into HTTP client.<br/><br/>Files: httpclient_i.h, httpclient_i.cpp<br/><br/>Risk: small
      
      
=== IP302/IP305: PCM connected channels disconnect other channels media ===
=== Trap in SRTP socket ===


{|
{|
|Status
|Status
|<font><font color="orange">To-decide</font></font>
|<font><font color="green">Closed</font></font>
|-
|-
|Id
|Id
|[http://mantis.innovaphone.com/view.php?id=49879 49879]
|[http://mantis.innovaphone.com/view.php?id=51146 51146]
|}
|}
problem: disconnect is sent to wrong channel<br/><br/>solution: fixed in code<br/><br/>files: ac_dsp3.cpp <br/><br/>products: ip302 ip305 <br/><br/>risks: low risk
Problem: Under special conditions SRTP sockets send events to serials that are already deleted.<br/><br/>Solution: Check if the destination does still exist before sending the event.<br/><br/>Files: srtp_cipher.cpp<br/><br/>Risk: Small risk of damaging SRTP encryption on IP6000/IP2000<br/><br/>
      
      
=== IP2x IP30x: unreliable V.34 modem  ===
=== One way media after SRTP renegotiation on IP6000 ===


{|
{|
|Status
|Status
|<font><font color="red">Assigned</font></font>
|<font><font color="green">Closed</font></font>
|-
|-
|Id
|Id
|[http://mantis.innovaphone.com/view.php?id=49883 49883]
|[http://mantis.innovaphone.com/view.php?id=51148 51148]
|}
|}
problem: echo canceller needs to be off, DSP jitter buffer must be static, output volume must be reduced<br/><br/>solution: fixed in code. Use "disable echo canceller flag" to enable this features. Use http://addr/AC-DSP0/mod_cmd.xml?cmd=form&amp;xsl=dsp.xsl to tune the volume and disable modem-bypass.<br/><br/><br/>files: ac_dsp3.cpp ac_dsp.h <br/><br/>products: ip2x ip30x<br/><br/>risks: low risk
Problem: On the IP6000 platform the SRTP ROC was not reset on media renegotiation.<br/><br/>Solution: Reset SRTP ROC when rtp_channel::set_media_config is called<br/><br/>Files: srtp_cipher.cpp<br/><br/>Risk: no risk known<br/><br/><br/><br/>
      
      
=== Manufacturer URL is needed in static HTML pages  ===
=== LDAP Searches for unsupported DNs disconnected all LDAP connections ===


{|
{|
|Status
|Status
|<font><font color="orange">To-decide</font></font>
|<font><font color="green">Closed</font></font>
|-
|-
|Id
|Id
|[http://mantis.innovaphone.com/view.php?id=50950 50950]
|[http://mantis.innovaphone.com/view.php?id=50934 50934]
|}
|}
problem: Manufacturer URL is needed in static HTML pages <br/><br/>solution: added %U option to servlet_vars.cpp<br/><br/>files: servlet_vars.cpp<br/>products: all<br/><br/>risks: low risk
problem: LDAP Searches for unsupported Distinguished Names (DN) disconnected all LDAP connections<br/><br/>solution: Remove (meanwhile surplus) v7 code<br/><br/>files: ldapsrv.cpp<br/><br/>products: all PBX products<br/><br/>risks: None
      
      
=== HTTP client header access ===
=== RELAY: Remove config parameter "mask" from GUI ===


{|
{|
|Status
|Status
|<font><font color="orange">To-decide</font></font>
|<font><font color="green">Closed</font></font>
|-
|-
|Id
|Id
|[http://mantis.innovaphone.com/view.php?id=51715 51715]
|[http://mantis.innovaphone.com/view.php?id=48127 48127]
|}
|}
problem: access to received  httpclient headers needed in some applications,OEM Manufacturer  in httpclients user agent header needed<br/><br/>solution: added virtual function to access received http headers, user agent header uses OEM struct manufacturer as user agent string<br/>files: httpclient_i.cpp httpclient_i.h httpclient.h<br/>products: all<br/><br/>risks: low risk
ENUM/SIP interfaces shall accept all call sources (no filtering).<br/>No-Reg-IFs shall use addr/mask as filter for call sources.<br/>(Remove old mask logic for outgoing calls in gk.cpp)
      
      
=== DSP debug ===
=== SIP: Remote number update after pick-up does not work ===


{|
{|
|Status
|Status
|<font><font color="red">Assigned</font></font>
|<font><font color="green">Closed</font></font>
|-
|-
|Id
|Id
|[http://mantis.innovaphone.com/view.php?id=52124 52124]
|[http://mantis.innovaphone.com/view.php?id=51268 51268]
|}
|}
problem: sporadic trap in ac-dsp, defect return address<br/><br/>solution: debug added to show packets sent to DSP. Enable on IP6000 with config+change+AC_DSP11+/dtrace  config+write and restart. Use not with SRTP, since CPU load with 60channel RTP is increased on the IP6000 from 66% to 77% <br/><br/>files: ac_48xhi.c<br/><br/>products: ip800 ip6000 ip1200 ip1201 ip4001<br/><br/>risks: low risk  
Problem: PBX send UPDATE with changed From URI (rfc4916) too early (interfering with ongoing INVITE transaction). UPDATE is rejected by picking party.<br/><br/>Solution: Postpone UPDATE(from-change) until INVITE transaction is complete.<br/> <br/>Files: sip.cpp/h<br/><br/>Products affected: PBXs with SIP endpoints doing call pick-up<br/><br/>Risk: No risk.
      
      
=== IP72 DSP acoustic web page not storing changes upon "OK" ===
=== IP-DECT OEM compatibility with old MWI configuration ===


{|
{|
Line 2,031: Line 1,909:
|-
|-
|Id
|Id
|[http://mantis.innovaphone.com/view.php?id=49576 49576]
|[http://mantis.innovaphone.com/view.php?id=49518 49518]
|}
|}
problem: IP72 DSP acoustic web page not storing changes upon "OK"<br/><br/>solution: fixed in code<br/><br/>files: box/omap/omap_code.cpp<br/><br/>products: IP72<br/><br/>risks: none<br/><br/>
problem: The MWI configuration should be compatible with old configuration.<br/><br/>solution: Configuration added.<br/><br/>files: dectfty.h, dectfty.cpp.<br/><br/>products affected: All DECT devices.<br/><br/>risk: No risk of collateral damage.
      
      
=== IP72: WLAN code upgrade ===
=== IP800 conference ===


{|
{|
Line 2,042: Line 1,920:
|-
|-
|Id
|Id
|[http://mantis.innovaphone.com/view.php?id=49577 49577]
|[http://mantis.innovaphone.com/view.php?id=49800 49800]
|}
|}
problem: IP72: WLAN code upgrade to latst from Ascom (Meru fixes)<br/><br/>solution: <br/><br/>files: ./WLAN/Supplicant/obj/libodSupp_O.a ./WLAN/esta_dk/obj/libestadrv.a ./WLAN/esta_dk/obj/firmware.o ./WLAN/esta_dk/inc/wspVer.h ./WLAN/esta_dk/inc/TI_IPC_Api.h ./WLAN/esta_dk/inc/paramOut.h ascom-drivers/WLAN_drv.cpp<br/><br/>products: IP72<br/><br/>risks: none<br/>
problem: Conference hardware initialization for channel ten does not work.<br/><br/>solution: Delay within initialization sequence inserted.<br/><br/>files: ipac_drv.cpp.<br/><br/>products affected: Devices with IPAC chip.<br/><br/>risk: No risk of collateral damage.
      
      
=== PPP IP header compression traps ===
=== H323 channel null pointer trap ===


{|
{|
Line 2,053: Line 1,931:
|-
|-
|Id
|Id
|[http://mantis.innovaphone.com/view.php?id=49221 49221]
|[http://mantis.innovaphone.com/view.php?id=49813 49813]
|}
|}
problem: PPP IP header compression traps because a word aligned buffer is addressed by a struct ip_hdr pointer and the GCC optimizer replaced a memcpy by inline long register assignments) <br/> <br/>solution: fix in code<br/> <br/>files: iphc.cpp, iphc.h<br/><br/>products: all<br/><br/>risks: None<br/>
problem: Trap caused by null pointer access.<br/><br/>solution: Null pointer check added.<br/><br/>files: h323_ch.cpp.<br/><br/>products affected: All devices with H323 protocol.<br/><br/>risk: No risk of collateral damage.  
''Status:''
checked in to 9.00,8.00,09-80500
      
      
=== NTP Server must respond to SYNC clients even if the device has no correct time from an official server  ===
=== IP-DECT OEM system name update ===


{|
{|
Line 2,066: Line 1,942:
|-
|-
|Id
|Id
|[http://mantis.innovaphone.com/view.php?id=49267 49267]
|[http://mantis.innovaphone.com/view.php?id=49825 49825]
|}
|}
problem: when the NTP server is used to syncronize devices (SYNC client) a correct time is not required but the server must respond. <br/><br/>solution: don't ask for correct time on a client request.<br/><br/>files: ntp.cpp<br/><br/>products: all<br/><br/>risks: None, responses with a time lower Y2K are ignored by the NTP client (but not by the SYNC client)<br/>
problem: The OEM DECT needs update of the system name.<br/><br/>solution: Update added.<br/><br/>files: dectusers.cpp, dectlocalusers.cpp.<br/><br/>products affected: All DECT devices.<br/><br/>risk: Minimal risk of collateral damage.  
''Status:''
checked in to 9.00,8.00,09-80500
      
      
=== RAS registration over a PPTP connection fails - association of server-local addr to PPTP interface wrong ===
=== IP-DECT unattended call transfer ===


{|
{|
Line 2,079: Line 1,953:
|-
|-
|Id
|Id
|[http://mantis.innovaphone.com/view.php?id=49308 49308]
|[http://mantis.innovaphone.com/view.php?id=49829 49829]
|}
|}
problem: RAS registration via a PPTP interface failed because a wrong rasAddress was returned in GatekeeperConfirm. Instead of the servers defaut IP address the remote endpoint address was associated to an interface without a configured server-local address.<br/><br/>solution: fix in code<br/><br/>files: ipproc.cpp<br/><br/>products: all<br/><br/>riscs: none<br/>
problem: It should not be possible to enter the unattended call transfer mode if the second call is in ring-back state.<br/><br/>solution: Condition added.<br/><br/>files: dectradio.cpp.<br/><br/>products affected: All DECT devices.<br/><br/>risk: No risk of collateral damage.  
''Status:''
checked in to 9.00,8.00,09-80500
      
      
=== headset mode must be kept when a knocking call is accepted via operator while a disconnected call is pending ===
=== IP-DECT old anonymous PPs ===


{|
{|
Line 2,092: Line 1,964:
|-
|-
|Id
|Id
|[http://mantis.innovaphone.com/view.php?id=49796 49796]
|[http://mantis.innovaphone.com/view.php?id=50064 50064]
|}
|}
problem: a knocking call accepted via operator was routed to speaker instead to headset when the phone was in headset mode playing the busy tone for a call which was disconnected from remote.<br/><br/>solution: fix in code<br/><br/>files: app_ctl.cpp<br/><br/>products: all phones<br/><br/>riscs: none<br/>
problem: The old anonymous PPs saved in the system object in firmware version 6 should not longer be used.<br/><br/>solution: Anonymous PPs in the system object are automatically deleted.<br/><br/>files: dectusers.h, dectusers.cpp.<br/><br/>products affected: All DECT devices.<br/><br/>risk: Minimal risk of collateral damage.  
''Status:''
checked in to 9.00,8.00,09-80500 
      
      
=== Wrong calling party info on CTI initiated calls from a phone to a Trunk Object with 'Set Calling=Diverting No' checked ===
=== IP-DECT Radio call statistics ===


{|
{|
Line 2,105: Line 1,975:
|-
|-
|Id
|Id
|[http://mantis.innovaphone.com/view.php?id=50309 50309]
|[http://mantis.innovaphone.com/view.php?id=50736 50736]
|}
|}
problem: When a CTI application (TAPI or other SOAP based application) initiates a call from a phone to a Trunk Object with 'Set Calling=Diverting No' checked the the called party receives a wrong calling party info.<br/><br/>solution: when a CT-INITIATE is received on a RC-CONNECT call the cdpn in the CT-SETUP facility sent with the newly created outbound call is set to the phones own number (i.e. identical to the SETUP cgpn). <br/><br/>files: phonesig.cpp<br/><br/>products: all phones<br/><br/>riscs: none<br/>
problem: Radio call statistics like call or handover counter are missed in the master radios overview GUI for DECT deployment.<br/><br/>solution: Radio call statistics added.<br/><br/>files: dectmaster.h, dectmaster.cpp, dectmaster_radios.xsl (OEM), dectradio.h, dectradio.cpp.<br/><br/>products affected: All DECT devices.<br/><br/>risk: Minimal risk of collateral damage.  
''Status:''
checked in to 8.00,9.00,09-80500
      
      
=== In some countries the ring tone timing patterns for internal/external calls need to be swapped to meet country defaults ===
=== IP-DECT Handset's product number and software version ===


{|
{|
Line 2,118: Line 1,986:
|-
|-
|Id
|Id
|[http://mantis.innovaphone.com/view.php?id=50328 50328]
|[http://mantis.innovaphone.com/view.php?id=50738 50738]
|}
|}
problem: the builtin ring tone timing patterns for internal/external calls which are applied to the builtin ring melodies don't meet the country specific preferences for example in switzerland. swapping the patterns may help.<br/><br/>solution: "config add RING /swap-i-x" to swap patterns<br/><br/>files: ring.cpp, phone_pref.xsl<br/><br/>products: all phones<br/><br/>riscs: none
problem: The DECT handset's product number and software version are not shown in the user list in the DECT master.<br/><br/>solution: Information is shown if available.<br/><br/>files: dect_users_right.xsl (OEM).<br/><br/>products affected: All DECT devices.<br/><br/>risk: No risk of collateral damage.  
''Status:''
checked in to 8.00,9.00,09-80500
      
      
=== INCA phones - monitoring a headset conversation via handset (headset-spy) did not work ===
=== IP-DECT memory leak ===


{|
{|
Line 2,131: Line 1,997:
|-
|-
|Id
|Id
|[http://mantis.innovaphone.com/view.php?id=50673 50673]
|[http://mantis.innovaphone.com/view.php?id=50975 50975]
|}
|}
problem: the /headset-spy option was skipped because of a bug in the driver option handler<br/> <br/>solution: fix in code<br/> <br/>files: inca_dsp.cpp<br/><br/>products: all phones<br/><br/>risks: None<br/>
problem: There are memory leaks with update event of uninitialized radio registrations.<br/><br/>solution: Cleanup added.<br/><br/>files: dectmaster.cpp.<br/><br/>products affected: All DECT devices.<br/><br/>risk: No risk of collateral damage.  
''Status:''
checked in to 9.00,8.00,09-80500
      
      
=== in  any phone recording mode the recorder gets number and/or h323id of the  currently connected remote party ===
=== IP-DECT hanging calls ===


{|
{|
Line 2,144: Line 2,008:
|-
|-
|Id
|Id
|[http://mantis.innovaphone.com/view.php?id=50827 50827]
|[http://mantis.innovaphone.com/view.php?id=51007 51007]
|}
|}
problem: without this infomation the identification of the remote party in an recorded call requires syncronisation with log files not directly available in the recorder.<br/> <br/>solution: a CT-COMPLETE with number/h323id of the remote party is sent to the recorder whenever the remote party changes because of a consultation call or a call transfer.<br/> <br/>files: appp_form.cpp, app_fkey.cpp, app_disp.cpp, app_ctl.cpp, app_ctl.h, app_call.cpp <br/><br/>products: all phones<br/><br/>risks: Minimal for recorders not able to deal with CT-COMPLETE info<br/>
problem: Sometime there are hanging calls in the radio.<br/><br/>solution: New timer added to check for hanging calls.<br/><br/>files: dectradio.h, dectradio.cpp.<br/><br/>products affected: All DECT devices.<br/><br/>risk: Minimal risk of collateral damage.  
''Status:''
checked in to 8.00,9.00,09-80500
      
      
=== Phone: access to PBX directories failed if the PBX System Name contained non ascii characters (&gt;= 128) ===
=== IP-DECT OEM module MSF trap ===


{|
{|
Line 2,157: Line 2,019:
|-
|-
|Id
|Id
|[http://mantis.innovaphone.com/view.php?id=50974 50974]
|[http://mantis.innovaphone.com/view.php?id=51008 51008]
|}
|}
problem: the LDAP API expects latin1 but the name was utf8 encoded<br/><br/>solution: convert name to latin1 before passing to API<br/><br/>files: phone_dir.cpp<br/><br/>products: all phones<br/><br/>risks: none<br/>
problem: Traps occur after using of the MSF module.<br/><br/>solution: Pointer cleanup added.<br/><br/>files: dectmsf.cpp.<br/><br/>products affected: All DECT devices.<br/><br/>risk: Minimal risk of collateral damage.  
''Status:''
checked in to 8.00,9.00,09-80500
      
      
=== When upgrading a phone to V8 directories having been disabled in V7 may come up enabled in V8 ===
=== IP-DECT OEM multi-cast module support ===


{|
{|
Line 2,170: Line 2,030:
|-
|-
|Id
|Id
|[http://mantis.innovaphone.com/view.php?id=51381 51381]
|[http://mantis.innovaphone.com/view.php?id=51269 51269]
|}
|}
problem: to save space in flash the default V8 directory configuration is not stored in xml-config. When a V7 config is merged to a default V8 config a default enable='1' may override an enable='0' from V7 (V7 does not write bools with a value '0' to xml config) <br/><br/>solution: fix wrong overrides by checking for V7 specific config patterns<br/><br/>files: phone_user.cpp<br/><br/>products: all phones<br/><br/>riscs: none<br/>
problem: Some new functions are needed for the oem multi-cast module support.<br/><br/>solution: Function added.<br/><br/>files: signal.h, signal.cpp, dectusers_if.h, dectusers.h, dectusers.cpp, dectlocalusers.h, dectlocalusers.cpp, dectradio.cpp.<br/><br/>products affected: All DECT devices.<br/><br/>risk: Minimal risk of collateral damage.  
''Status:''
checked in to 8.00,9.00,09-80500
      
      
=== function keys defined in a config template could not be overloaded by an associated user object ===
=== IP-DECT OEM protocol display update ===


{|
{|
Line 2,183: Line 2,041:
|-
|-
|Id
|Id
|[http://mantis.innovaphone.com/view.php?id=51506 51506]
|[http://mantis.innovaphone.com/view.php?id=51354 51354]
|}
|}
problem: a function key defined in a template could not be overridden by an associated user object, the key in the template did always win. <br/><br/>solution: the changed function key must be kept in user object<br/><br/>files: phone_config.cpp<br/><br/>products: all PBX and phones<br/><br/>riscs: none<br/>
problem: If a OEM protocol is used the display update wrongly inserts the last pre-dialed digit as post-dialed keypad info.<br/><br/>solution: Function fixed.<br/><br/>files: dectradio.cpp.<br/><br/>products affected: All DECT devices.<br/><br/>risk: No risk of collateral damage.  
''Status:''
checked in to 8.00,9.00,09-80500
      
      
=== AD Replicator, Searches to Global Catalog Server weren't possible ===
=== IP-DECT wrong forward of internal information event ===


{|
{|
Line 2,196: Line 2,052:
|-
|-
|Id
|Id
|[http://mantis.innovaphone.com/view.php?id=50129 50129]
|[http://mantis.innovaphone.com/view.php?id=51418 51418]
|}
|}
problem: Searches to Global Catalog Server weren't possible<br/><br/>solution: Fix configuration for LDAP port<br/><br/>files: ldaprep.cpp<br/><br/>products: all PBX-,Dect products<br/><br/>risks: None
problem: A internal information event is wrongly forwarded to the PBX.<br/><br/>solution: Forward of this event is avoided.<br/><br/>files: dectradio.cpp.<br/><br/>products affected: All DECT devices.<br/><br/>risk: Minimal risk of collateral damage.
      
      
=== Flashdir: Comparison for 'guid' could fail ===
=== PBX BC Conference member type restriction / call information ===


{|
{|
Line 2,207: Line 2,063:
|-
|-
|Id
|Id
|[http://mantis.innovaphone.com/view.php?id=50965 50965]
|[http://mantis.innovaphone.com/view.php?id=51429 51429]
|}
|}
problem: Comparison for 'guid' could fail<br/><br/>solution: apply binary comparison (was case insensitive)<br/><br/>files: flashdir.cpp<br/><br/>products: all PBX products<br/><br/>risks: None<br/>
problem: Some other PBX objects can not be called as conference members. Conference object call target is not shown correctly in the PBX call list. This information is also used as calling party number for the other conference member calls, useful for recording with the VM object and several conference objects.<br/><br/>solution: PBX object type restriction removed and remote endpoint information (cgpn) fixed.<br/><br/>files: pbx_bc_conf.cpp.<br/><br/>products affected: All devices with PBX.<br/><br/>risk: Minimal risk of collateral damage.
      
      
=== LDAP/Replicator-Status  "There is no replicator active" ===
=== PBX BC conference object TAPI feature clear call ===


{|
{|
Line 2,218: Line 2,074:
|-
|-
|Id
|Id
|[http://mantis.innovaphone.com/view.php?id=51733 51733]
|[http://mantis.innovaphone.com/view.php?id=51434 51434]
|}
|}
Problem: When no replicator is enabled the replicator status window is showing<br/>an empty drop-down list. It should be a message shown indicating that<br/>no replicator is enabled.<br/><br/>Solution: Display "There is no replicator active"<br/><br/>Files: ldaprep_status.xsl<br/><br/>Risk: none<br/>
problem: The TAPI connection of the broadcast conference object does not support clearing calls.<br/><br/>solution: Feature added.<br/><br/>files: pbx_bc_conf.h, pbx_bc_conf.cpp.<br/><br/>products affected: All devices with PBX.<br/><br/>risk: Minimal risk of collateral damage.
      
      
=== Cleanup gateway interface config ===
=== IP-DECT IP-Master in IP6000 device ===


{|
{|
Line 2,229: Line 2,085:
|-
|-
|Id
|Id
|[http://mantis.innovaphone.com/view.php?id=49181 49181]
|[http://mantis.innovaphone.com/view.php?id=51509 51509]
|}
|}
Problem: Config option 'mask' could not be used as filter for incoming calls.<br/><br/>Solution: Accept configured 'mask' and use it as filter (together with 'addr') for incoming calls on interfaces without registration.<br/><br/>Files: gk_if.h gk.h/cpp relay.cpp<br/><br/>Products affected: SIP devices<br/><br/>Risk: Long forgotton feature "dial the remote ip address" not available anymore.
problem: For big DECT systems the IP-DECT IP-Master should be hosted in IP6000.<br/><br/>solution: IP-DECT module with IP-Master added to IP6000 firmware. Usable only with IP-DECT multi-cell license.<br/><br/>files: dectuser.cpp, config.h, ip6000.h, ip6000.cpp, ip6000.mak, left_menu.xml, trace.xsl, new: dect module files without dect radio files, dect_hdr.xml, dect_admin_hdr.xml, dect.xml, dect_admin.xml.<br/><br/>products affected: All DECT devices.<br/><br/>risk: Minimal risk of collateral damage.  
      
      
=== PBX Waiting Queue did not provide diverting party display name ===
=== IP-DECT trap during call release and information message ===


{|
{|
Line 2,240: Line 2,096:
|-
|-
|Id
|Id
|[http://mantis.innovaphone.com/view.php?id=49786 49786]
|[http://mantis.innovaphone.com/view.php?id=51583 51583]
|}
|}
Problem: PBX Waiting Queue did not provide diverting party display name when forwarding/distributing calls.<br/><br/>Solution: Provide diverting party name.<br/><br/>Files: pbx_wait.cpp/h<br/><br/>Products affected: PBX<br/><br/>Risk: No risk.
problem: A trap occurs if the DECT handset sends a information message and the call is release by the PBX. Only the channel is released, but not yet the call.<br/><br/>solution: Null pointer check added.<br/><br/>files: dectmaster.cpp.<br/><br/>products affected: All DECT devices.<br/><br/>risk: No risk of collateral damage.  
      
      
=== GUI: Registration indicator not aligned ===
=== IP-DECT configuration option 'Redirection with GK ID' ===


{|
{|
Line 2,251: Line 2,107:
|-
|-
|Id
|Id
|[http://mantis.innovaphone.com/view.php?id=50070 50070]
|[http://mantis.innovaphone.com/view.php?id=51616 51616]
|}
|}
Problem: The registration indicator (arrow) was not aligned on Gateway/GK page.<br/><br/>Solution: Make it aligned.<br/> <br/>Files: relay_ifs.xsl<br/><br/>Products affected: All gateways<br/><br/>Risk: No risk.  
problem: Configuration option needed to append the GK ID if the registration is redirected by the PBX.<br/><br/>solution: Configuration option added.<br/><br/>files: dectmaster.h, dectmaster.cpp, dectmaster.xsl.<br/><br/>products affected: All DECT devices.<br/><br/>risk: No risk of collateral damage.  
      
      
=== PBX: Presence subscription was rejected by object type 'Executive' ===
=== IP6000 LE newer kernel support ===


{|
{|
Line 2,262: Line 2,118:
|-
|-
|Id
|Id
|[http://mantis.innovaphone.com/view.php?id=50091 50091]
|[http://mantis.innovaphone.com/view.php?id=51712 51712]
|}
|}
Problem: Watching presence of an 'Executive' user was not possible. Subscription was rejected.<br/><br/>Solution: Accept presence subscription at 'Executive' user .<br/> <br/>Files: pbx.cpp<br/><br/>Products affected: All PBX devices<br/><br/>Risk: No risk.
problem: Newer Linux kernel included in Debian does not work.<br/><br/>solution: Support for linux kuser helper functions added.<br/><br/>files: startup_littleendian.S.<br/><br/>products affected: Only IP6000 little-endian firmware.<br/><br/>risk: No risk of collateral damage.  
      
      
=== Control calls without facility elements were forwarded on ISDN ===
=== IP-DECT logging release code ===


{|
{|
Line 2,273: Line 2,129:
|-
|-
|Id
|Id
|[http://mantis.innovaphone.com/view.php?id=50199 50199]
|[http://mantis.innovaphone.com/view.php?id=51759 51759]
|}
|}
Problem: Control calls (calls without media channel) without facility elements were forwarded on ISDN. Seems to causes trouble on some ISDN switches<br/><br/>Solution: Reject control calls without facility elements with "Invalid information element contents".<br/> <br/>Files: relay.cpp<br/><br/>Products affected: All gateways<br/><br/>Risk: No risk.  
problem: The release code is not correctly shown in logging events.<br/><br/>solution: Fixed.<br/><br/>files: dectmaster.cpp.<br/><br/>products affected: All DECT devices.<br/><br/>risk: No risk of collateral damage.  
      
      
=== Wrong presence status in PBX admin dialog ===
=== IP72 announcement calls should be routed to headset if plugged ===


{|
{|
Line 2,284: Line 2,140:
|-
|-
|Id
|Id
|[http://mantis.innovaphone.com/view.php?id=50268 50268]
|[http://mantis.innovaphone.com/view.php?id=49587 49587]
|}
|}
Problem: Presence status 'open' is displayed when no presence status is available.<br/><br/>Solution: Fix presence dialog.<br/> <br/>Files: pbx_edit_presence.xsl<br/><br/>Products affected: All PBXs<br/><br/>Risk: No risk.
problem: IP72 announcement calls should be routed to headset if plugged. currently announced calls are always received with handset. <br/><br/>solution: fixed in code, has to be explicitly enabled in phone's web-ui: "Administration/Phone/Preferences/Route Automatically Connected Inbound Calls to Headset (if enabled)"<br/><br/>files: phone/sig/phonesig.* phone/user/phone_pref.xsl<br/><br/>products: all telephones<br/><br/>risks: none<br/>
      
      
=== Phone: Fkey "Partner" should light up LED when partner's presence activity is "on-the-phone" ===
=== presence function key usage on phone traps with non-presence-available pbx ===


{|
{|
Line 2,295: Line 2,151:
|-
|-
|Id
|Id
|[http://mantis.innovaphone.com/view.php?id=50389 50389]
|[http://mantis.innovaphone.com/view.php?id=50034 50034]
|}
|}
Problem: Fkey "Partner" does not light up LED when partner's presence activity is "on-the-phone".<br/><br/>Solution: Light up LED on partner key when partner's presence activity is "on-the-phone".<br/> <br/>Files: app_disp.cpp<br/><br/>Products affected: Phones with partner keys only<br/><br/>Risk: No risk.
problem: presence function key usage traps with non-presence-available pbx<br/><br/>solution: fixed in code (check)<br/><br/>files: phone/app/app_disp.cpp<br/><br/>products: all telephones<br/><br/>risks: none<br/>
      
      
=== Gateway: Cannot use SIP interfaces without having "Media-Relay" and "Exclusive Coder" enabled ===
=== Better norwegian translation for telephone text entries ===


{|
{|
Line 2,306: Line 2,162:
|-
|-
|Id
|Id
|[http://mantis.innovaphone.com/view.php?id=50425 50425]
|[http://mantis.innovaphone.com/view.php?id=50941 50941]
|}
|}
Problem: Cannot use SIP interfaces without having "Media-Relay" and "Exclusive Coder" enabled. Installations with many SIP interfaces and heavy load will suffer from RTP traffic.<br/><br/>Solution: Do not enforce "Media-Relay" and "Exclusive Coder" in SIP interfaces.<br/><br/>Files: relay_edit_sip.xsl<br/><br/>Products affected: Gateways with SIP interface<br/><br/>Risk: No risk.
problem: Better norwegian translation for telephone text entries<br/><br/>solution: Changed translation file<br/><br/>files: phone/txt/phonetxt.base<br/><br/>products: All telephones<br/><br/>risks: none<br/><br/>
      
      
=== Make LCD dump to be displayed in browser ===
=== Ringing style upon incoming message is not configurable via web - ui ===


{|
{|
Line 2,317: Line 2,173:
|-
|-
|Id
|Id
|[http://mantis.innovaphone.com/view.php?id=51485 51485]
|[http://mantis.innovaphone.com/view.php?id=50963 50963]
|}
|}
Problem: LCD dump was displayed by external program.<br/><br/>Solution: Fix Content-Type of lcd_dump.bmp to make browsers display it.<br/> <br/>Files: http.cpp<br/><br/>Products affected: All phones<br/><br/>Risk: No risk.
problem: Ringing style upon incoming message is not configurable via web - ui <br/><br/>solution: fixed in xsl<br/><br/>files: reg_edit_general.xsl<br/><br/>products: all telephones<br/><br/>risks: none<br/><br/>
      
      
=== ISDN: Sending of CEI facilities as Point to Multipoint endpoint did not work ===
=== Ringing tone used for incoming message can not be reconfigured permanently ===


{|
{|
Line 2,328: Line 2,184:
|-
|-
|Id
|Id
|[http://mantis.innovaphone.com/view.php?id=51744 51744]
|[http://mantis.innovaphone.com/view.php?id=50976 50976]
|}
|}
Problem: Call independent signaling did not work on Point to Multipoint interfaces. Required for Call Completion.<br/><br/>Solution: Fixed.<br/> <br/>Files: q931.cpp<br/><br/>Products affected: BRI Gateways<br/><br/>Risk: Small risk of collateral damage.
problem: Ringing tone used for incoming message can not be reconfigured permanently. It switches back to default after ringing once without user interaction.<br/><br/>solution: fixed in code<br/><br/>files: phone/app/app_ctl.cpp<br/><br/>products: all telephones<br/><br/>risks: none<br/><br/><br/><br/>
      
      
=== Phone: Local coder config was not used on outgoing phone calls ===
=== IP72: beacon recv time now configurable through command line ===


{|
{|
Line 2,339: Line 2,195:
|-
|-
|Id
|Id
|[http://mantis.innovaphone.com/view.php?id=49899 49899]
|[http://mantis.innovaphone.com/view.php?id=51452 51452]
|}
|}
Problem: Local coder config was not applied to outgoing phone calls, but is required when it comes to media re-negotiation.<br/><br/>Solution: Give local coder config to all kind of calls.<br/><br/>Files: phonesig.cpp/h<br/><br/>Products affected: All phones.<br/><br/>Risk: No risk.
problem: beacon recv time now configurable through command line. This is required for a special Meru Networks interop. (config change WLAN0 /beacon-recv-time 10)<br/><br/>solution: fixed in code<br/><br/>files: ascom-drivers/WLAN_drv.cpp<br/><br/>products: IP72<br/><br/>risks: none<br/>
      
      
=== Phone: Stop trying to subscribe for own presence ===
=== IP72: Upgrade WLAN subsystem to Ascom 1.7.10 ===


{|
{|
Line 2,350: Line 2,206:
|-
|-
|Id
|Id
|[http://mantis.innovaphone.com/view.php?id=50346 50346]
|[http://mantis.innovaphone.com/view.php?id=51516 51516]
|}
|}
Problem: On PBX's not supporting presence subscription (v7 or earlier) the phone endlessly tries to subscribe for own presence.<br/><br/>Solution: Stop trying to subscribe for own presence.<br/> <br/>Files: phonesig.cpp<br/><br/>Products affected: All SIP phones<br/><br/>Risk: No risk.
problem: Upgrade WLAN subsystem to Ascom 1.7.10<br/>Ascom i75 v1.7.10 release.<br/>- Beacon reception time can be changed.<br/>- Scan interval can be changed.<br/>- Null data keep alive period can be changed.<br/>- Two different site filters can be chosen.<br/>- RSSI filter parameters is changed: 25% new value + 75% old value (previous releases use 10% + 90%).<br/>- Roaming threshold is changed to -67 dBm (from -70).<br/>- Authentication timeout changed to 100 ms (from 500 ms).<br/><br/>solution: upgraded shared code<br/><br/>files: WLAN/* ascom-drivers/WLAN_drv.*<br/><br/>products: IP72<br/><br/>risks: none known<br/>
      
      
=== Phone: Fkey "Partner" should try to subscribe for Presence only if checkmark set ===
=== IP72: ring though handset ===


{|
{|
Line 2,361: Line 2,217:
|-
|-
|Id
|Id
|[http://mantis.innovaphone.com/view.php?id=50857 50857]
|[http://mantis.innovaphone.com/view.php?id=51624 51624]
|}
|}
Problem: Fkey "Partner" tries to subscribe for partner's presence. Even on PBXs not supporting Presence.<br/><br/>Solution: Added checkmark to Partner fkey config.<br/> <br/>Files: phone_config.h/cpp phone_edit.cpp app_fkey.cpp fkey_edit_partner.xsl <br/><br/>Products affected: Phones with partner keys only<br/><br/>Risk: No risk.
problem: IP72 feature: ring through handset if configured so and handset plugged<br/><br/>solution: fixed in code<br/><br/>files: box/omap/omap_dsp.* box/omap/omap_codec.cpp<br/><br/>products: IP72<br/><br/>risks: none<br/><br/>
      
      
=== Phone: Fkey "Partner" show presence activity even if partners presence status is "closed" ===
=== IP72: function keys only available in idle mode ===


{|
{|
Line 2,372: Line 2,228:
|-
|-
|Id
|Id
|[http://mantis.innovaphone.com/view.php?id=50952 50952]
|[http://mantis.innovaphone.com/view.php?id=51798 51798]
|}
|}
Problem: Fkey "Partner" does not show presence activity if partners presence status is "closed" (not registered).<br/><br/>Solution: Show presence activity regardless of the status.<br/> <br/>Files: app_disp.cpp<br/><br/>Products affected: Phones with partner keys only<br/><br/>Risk: No risk.
problem: IP72: function keys only available in idle mode<br/><br/>solution: option /softkey-mode now defines whether a predefined function key overlays a softkey in idle mode, in active mode, or not at all <br/><br/>files: phone/forms/forms*<br/><br/>products: IP72<br/><br/>risks: none<br/><br/>
      
      
=== Phone: Presence subscription of partner fkey not created sometimes ===
=== IP800: V8 Firmware upload not possible after V7 licenseses are returned to myinnovaphone  ===


{|
{|
|Status
|Status
|<font><font color="green">Closed</font></font>
|<font><font color="red">Assigned</font></font>
|-
|-
|Id
|Id
|[http://mantis.innovaphone.com/view.php?id=51519 51519]
|[http://mantis.innovaphone.com/view.php?id=49888 49888]
|}
|}
Problem: In some cases the presence subscription of the partner fkey was not established.<br/><br/>Solution: Fix lookup of existing presence subscription.<br/> <br/>Files: phonesig.cpp<br/><br/>Products affected: Phones with partner fkeys<br/><br/>Risk: No risk.
problem: Missing label to identify new license scheme with certificates.<br/><br/>solution: fixed in makefile<br/><br/>files: ip800.mak<br/><br/>products: ip800<br/><br/>risks: low risk  
      
      
=== Phone: Trap when re-creating presence call ===
=== DTMF digits missing during DTMF generation  ===


{|
{|
|Status
|Status
|<font><font color="green">Closed</font></font>
|<font><font color="orange">To-decide</font></font>
|-
|-
|Id
|Id
|[http://mantis.innovaphone.com/view.php?id=51588 51588]
|[http://mantis.innovaphone.com/view.php?id=49588 49588]
|}
|}
Problem: Trap when re-creating presence call, because facility entity did not exist.<br/><br/>Solution: Re-create facility entity when re-creating call object.<br/> <br/>Files: phonesig.cpp<br/><br/>Products affected: All phones<br/><br/>Risk: No risk.
problem: Tones are not send out after channel init with a undefined coder <br/><br/>solution: fixed in code, ignore DSP status packets for timing calculation, DSP message trace function fixed<br/><br/>files: ac_dsp2.cpp Recordpck.h ac48xhi.c<br/><br/>products: ip6000/800/1200/1201/4001<br/>risks: low risk  
      
      
=== SIP: Handling of re-INVITE collision ===
=== IP302/IP305: PCM connected channels disconnect other channels media ===


{|
{|
|Status
|Status
|<font><font color="green">Closed</font></font>
|<font><font color="orange">To-decide</font></font>
|-
|-
|Id
|Id
|[http://mantis.innovaphone.com/view.php?id=49135 49135]
|[http://mantis.innovaphone.com/view.php?id=49879 49879]
|}
|}
Problem: After re-INVITE collision at Mitel-PBX, every incoming re-try was rejected with 491 until outgoing re-try was successful.<br/><br/>Solution: Accept incoming re-try while having a postponed re-INVITE client transaction.<br/><br/>Files: sip.cpp<br/><br/>Products affected: SIP devices<br/><br/>Risk: No risk.
problem: disconnect is sent to wrong channel<br/><br/>solution: fixed in code<br/><br/>files: ac_dsp3.cpp <br/><br/>products: ip302 ip305 <br/><br/>risks: low risk  
      
      
=== Memory Leak ===
=== IP2x IP30x: unreliable V.34 modem  ===


{|
{|
|Status
|Status
|<font><font color="green">Closed</font></font>
|<font><font color="red">Assigned</font></font>
|-
|-
|Id
|Id
|[http://mantis.innovaphone.com/view.php?id=49164 49164]
|[http://mantis.innovaphone.com/view.php?id=49883 49883]
|}
|}
Problem: When closing a SIP interface a small buffer containing the proxy name was not freed.<br/><br/>Solution: Free proxy name buffer.<br/><br/>Files: sip.cpp<br/><br/>Products affected: SIP endpoints<br/><br/>Risk: No risk.
problem: echo canceller needs to be off, DSP jitter buffer must be static, output volume must be reduced<br/><br/>solution: fixed in code. Use "disable echo canceller flag" to enable this features. Use http://addr/AC-DSP0/mod_cmd.xml?cmd=form&amp;xsl=dsp.xsl to tune the volume and disable modem-bypass.<br/><br/><br/>files: ac_dsp3.cpp ac_dsp.h <br/><br/>products: ip2x ip30x<br/><br/>risks: low risk  
      
      
=== ENUM/SIP interfaces shall accept incoming calls ===
=== Manufacturer URL is needed in static HTML pages  ===


{|
{|
|Status
|Status
|<font><font color="green">Closed</font></font>
|<font><font color="orange">To-decide</font></font>
|-
|-
|Id
|Id
|[http://mantis.innovaphone.com/view.php?id=49198 49198]
|[http://mantis.innovaphone.com/view.php?id=50950 50950]
|}
|}
Problem: Gateway interfaces of type ENUM/SIP did not accept incoming calls.<br/><br/>Solution: Make ENUM/SIP interfaces accept incoming calls.<br/><br/>Files: siptrans.cpp<br/><br/>Products affected: Gateway devices<br/><br/>Risk: No risk.
problem: Manufacturer URL is needed in static HTML pages <br/><br/>solution: added %U option to servlet_vars.cpp<br/><br/>files: servlet_vars.cpp<br/>products: all<br/><br/>risks: low risk  
      
      
=== Trap when SIP closes unused transport connections ===
=== HTTP client header access ===


{|
{|
|Status
|Status
|<font><font color="green">Closed</font></font>
|<font><font color="orange">To-decide</font></font>
|-
|-
|Id
|Id
|[http://mantis.innovaphone.com/view.php?id=49257 49257]
|[http://mantis.innovaphone.com/view.php?id=51715 51715]
|}
|}
Problem: Rare trap when SIP closes transport connections that failed to establish.<br/><br/>Solution: Fix cleanup of unused transport connections.<br/><br/>Files: siptrans.cpp<br/><br/>Products affected: SIP devices using SIP/TCP or SIP/TLS (not SIP/UDP)<br/><br/>Risk: No risk.
problem: access to received  httpclient headers needed in some applications,OEM Manufacturer  in httpclients user agent header needed<br/><br/>solution: added virtual function to access received http headers, user agent header uses OEM struct manufacturer as user agent string<br/>files: httpclient_i.cpp httpclient_i.h httpclient.h<br/>products: all<br/><br/>risks: low risk  
      
      
=== SIP: 180/Ringing was not re-transmitted ===
=== DSP debug ===


{|
{|
|Status
|Status
|<font><font color="green">Closed</font></font>
|<font><font color="red">Assigned</font></font>
|-
|-
|Id
|Id
|[http://mantis.innovaphone.com/view.php?id=49461 49461]
|[http://mantis.innovaphone.com/view.php?id=52124 52124]
|}
|}
Problem: If 180/Ringing got lost and the caller re-transmitted INVITE, re-transmission of 180/Ringing was missing.<br/><br/>Solution: Re-transmit last sent provisional response.<br/><br/>Files: siptrans.cpp<br/><br/>Products affected: SIP devices<br/><br/>Risk: No risk.
problem: sporadic trap in ac-dsp, defect return address<br/><br/>solution: debug added to show packets sent to DSP. Enable on IP6000 with config+change+AC_DSP11+/dtrace  config+write and restart. Use not with SRTP, since CPU load with 60channel RTP is increased on the IP6000 from 66% to 77% <br/><br/>files: ac_48xhi.c<br/><br/>products: ip800 ip6000 ip1200 ip1201 ip4001<br/><br/>risks: low risk  
      
      
=== SIP: Incoming calls not accepted by PBX ===
=== IP72 DSP acoustic web page not storing changes upon "OK" ===


{|
{|
Line 2,460: Line 2,316:
|-
|-
|Id
|Id
|[http://mantis.innovaphone.com/view.php?id=49473 49473]
|[http://mantis.innovaphone.com/view.php?id=49576 49576]
|}
|}
Problem: Incoming SIP calls are rejected with 407, if lookup of active registration fails due to display-name in Contact header of INVITE.<br/><br/>Solution: Skip display-name of Contact header when performing registration lookup for incoming call.<br/><br/>Files: siptrans.cpp<br/><br/>Products affected: SIP devices<br/><br/>Risk: Low risk of collateral damage.
problem: IP72 DSP acoustic web page not storing changes upon "OK"<br/><br/>solution: fixed in code<br/><br/>files: box/omap/omap_code.cpp<br/><br/>products: IP72<br/><br/>risks: none<br/><br/>
      
      
=== Trap when switching off SIP phone ===
=== IP72: WLAN code upgrade ===


{|
{|
Line 2,471: Line 2,327:
|-
|-
|Id
|Id
|[http://mantis.innovaphone.com/view.php?id=49556 49556]
|[http://mantis.innovaphone.com/view.php?id=49577 49577]
|}
|}
Problem: Switching off causes unregistration. It traps when receiving REGISTER response.<br/><br/>Solution: Wait for response before deleting interface.<br/><br/>Files: sip.cpp/h<br/><br/>Products affected: SIP devices<br/><br/>Risk: Small risk of collateral damage.
problem: IP72: WLAN code upgrade to latst from Ascom (Meru fixes)<br/><br/>solution: <br/><br/>files: ./WLAN/Supplicant/obj/libodSupp_O.a ./WLAN/esta_dk/obj/libestadrv.a ./WLAN/esta_dk/obj/firmware.o ./WLAN/esta_dk/inc/wspVer.h ./WLAN/esta_dk/inc/TI_IPC_Api.h ./WLAN/esta_dk/inc/paramOut.h ascom-drivers/WLAN_drv.cpp<br/><br/>products: IP72<br/><br/>risks: none<br/>
      
      
=== SIP: INVITE after REFER for blind transfer missed Referred-By header ===
=== PPP IP header compression traps ===


{|
{|
Line 2,482: Line 2,338:
|-
|-
|Id
|Id
|[http://mantis.innovaphone.com/view.php?id=49854 49854]
|[http://mantis.innovaphone.com/view.php?id=49221 49221]
|}
|}
Problem: After receiving REFER for blind transfer a new INVITE is sent without Referred-By header.<br/><br/>Solution: Save Referred-By header of received REFER on existing call and send it in INVITE for new call.<br/><br/>Files: sip.cpp/h siptrans.cpp/h<br/><br/>Products affected: SIP devices<br/><br/>Risk: No risk.
problem: PPP IP header compression traps because a word aligned buffer is addressed by a struct ip_hdr pointer and the GCC optimizer replaced a memcpy by inline long register assignments) <br/> <br/>solution: fix in code<br/> <br/>files: iphc.cpp, iphc.h<br/><br/>products: all<br/><br/>risks: None<br/>
''Status:''
checked in to 9.00,8.00,09-80500
      
      
=== SIP: Incoming calls with anonymous From-URI were not tagged as CLIR ===
=== NTP Server must respond to SYNC clients even if the device has no correct time from an official server  ===


{|
{|
Line 2,493: Line 2,351:
|-
|-
|Id
|Id
|[http://mantis.innovaphone.com/view.php?id=50058 50058]
|[http://mantis.innovaphone.com/view.php?id=49267 49267]
|}
|}
Problem: Incoming SIP calls with anonymous From-URI were not tagged as CLIR.<br/><br/>Solution: Honour "anonymous" in From-URI and set Presentation Restricted flag in CGPN.<br/> <br/>Files: sip.cpp<br/><br/>Products affected: All SIP devices<br/><br/>Risk: No risk.
problem: when the NTP server is used to syncronize devices (SYNC client) a correct time is not required but the server must respond. <br/><br/>solution: don't ask for correct time on a client request.<br/><br/>files: ntp.cpp<br/><br/>products: all<br/><br/>risks: None, responses with a time lower Y2K are ignored by the NTP client (but not by the SYNC client)<br/>
''Status:''
checked in to 9.00,8.00,09-80500
      
      
=== Gateway sends calls to wrong registered SIP endpoint ===
=== RAS registration over a PPTP connection fails - association of server-local addr to PPTP interface wrong ===


{|
{|
Line 2,504: Line 2,364:
|-
|-
|Id
|Id
|[http://mantis.innovaphone.com/view.php?id=50102 50102]
|[http://mantis.innovaphone.com/view.php?id=49308 49308]
|}
|}
Problem: If the addressed endpoint is currently not registered at the registrar interface at the gateway, calls are delivered to another registered SIP endpoint.<br/><br/>Solution: Reject calls if addressed endpoint is not registered.<br/> <br/>Files: siptrans.cpp<br/><br/>Products affected: All gateways<br/><br/>Risk: No risk.
problem: RAS registration via a PPTP interface failed because a wrong rasAddress was returned in GatekeeperConfirm. Instead of the servers defaut IP address the remote endpoint address was associated to an interface without a configured server-local address.<br/><br/>solution: fix in code<br/><br/>files: ipproc.cpp<br/><br/>products: all<br/><br/>riscs: none<br/>
''Status:''
checked in to 9.00,8.00,09-80500
      
      
=== Phone: Changes to option 'Proposed Registration Interval' were applied after reboot only ===
=== headset mode must be kept when a knocking call is accepted via operator while a disconnected call is pending ===


{|
{|
Line 2,515: Line 2,377:
|-
|-
|Id
|Id
|[http://mantis.innovaphone.com/view.php?id=50214 50214]
|[http://mantis.innovaphone.com/view.php?id=49796 49796]
|}
|}
Problem: Changes to option 'Proposed Registration Interval' had no effect until reboot. Demand for reboot was not indicated.<br/><br/>Solution: Apply configured registration interval at runtime. No reboot required.<br/> <br/>Files: phonesig.cpp<br/><br/>Products affected: All SIP phones<br/><br/>Risk: No risk.
problem: a knocking call accepted via operator was routed to speaker instead to headset when the phone was in headset mode playing the busy tone for a call which was disconnected from remote.<br/><br/>solution: fix in code<br/><br/>files: app_ctl.cpp<br/><br/>products: all phones<br/><br/>riscs: none<br/>
''Status:''
checked in to 9.00,8.00,09-80500 
      
      
=== SIP: Signaling not sent to non-standard port ===
=== Wrong calling party info on CTI initiated calls from a phone to a Trunk Object with 'Set Calling=Diverting No' checked ===


{|
{|
Line 2,526: Line 2,390:
|-
|-
|Id
|Id
|[http://mantis.innovaphone.com/view.php?id=50394 50394]
|[http://mantis.innovaphone.com/view.php?id=50309 50309]
|}
|}
Problem: Even if non-standard remote port is configured, signaling is sent to 5060.<br/><br/>Solution: Apply configured remote port.<br/><br/>Files: sip.cpp<br/><br/>Products affected: SIP devices<br/><br/>Risk: No risk.
problem: When a CTI application (TAPI or other SOAP based application) initiates a call from a phone to a Trunk Object with 'Set Calling=Diverting No' checked the the called party receives a wrong calling party info.<br/><br/>solution: when a CT-INITIATE is received on a RC-CONNECT call the cdpn in the CT-SETUP facility sent with the newly created outbound call is set to the phones own number (i.e. identical to the SETUP cgpn). <br/><br/>files: phonesig.cpp<br/><br/>products: all phones<br/><br/>riscs: none<br/>
''Status:''
checked in to 8.00,9.00,09-80500
      
      
=== SIP: Problems parsing exotic SIP URIs ===
=== In some countries the ring tone timing patterns for internal/external calls need to be swapped to meet country defaults ===


{|
{|
Line 2,537: Line 2,403:
|-
|-
|Id
|Id
|[http://mantis.innovaphone.com/view.php?id=50421 50421]
|[http://mantis.innovaphone.com/view.php?id=50328 50328]
|}
|}
Problem: Failed to decode destination port from a redirect URI like this: <sip:2204;phone-context=cdp.udp@livio.nl:16618;maddr=10.2.10.3;transport=udp;x-nt-redirect=redirect-server><br/><br/>Solution: Fix URI parsing.<br/><br/>Files: sipmsg.cpp<br/><br/>Products affected: All SIP devices<br/><br/>Risk: No risk
problem: the builtin ring tone timing patterns for internal/external calls which are applied to the builtin ring melodies don't meet the country specific preferences for example in switzerland. swapping the patterns may help.<br/><br/>solution: "config add RING /swap-i-x" to swap patterns<br/><br/>files: ring.cpp, phone_pref.xsl<br/><br/>products: all phones<br/><br/>riscs: none
''Status:''
checked in to 8.00,9.00,09-80500
      
      
=== SIP: NOTIFY(message-summary) not handled by PBX ===
=== INCA phones - monitoring a headset conversation via handset (headset-spy) did not work ===


{|
{|
Line 2,548: Line 2,416:
|-
|-
|Id
|Id
|[http://mantis.innovaphone.com/view.php?id=51443 51443]
|[http://mantis.innovaphone.com/view.php?id=50673 50673]
|}
|}
Problem: NOTIFY(message-summary) was not handled by PBX (server side). Only by phones (client side)<br/><br/>Solution: Implement handling of unsolicited NOTIFY(message-summary) at server side.<br/> <br/>Files: sip.cpp/h<br/><br/>Products affected: PBX with SIP clients<br/><br/>Risk: No risk.  
problem: the /headset-spy option was skipped because of a bug in the driver option handler<br/> <br/>solution: fix in code<br/> <br/>files: inca_dsp.cpp<br/><br/>products: all phones<br/><br/>risks: None<br/>
''Status:''
checked in to 9.00,8.00,09-80500
      
      
=== SIP: Send Call-Info header with "answer-after=0" for auto answer signaling ===
=== in  any phone recording mode the recorder gets number and/or h323id of the  currently connected remote party ===


{|
{|
Line 2,559: Line 2,429:
|-
|-
|Id
|Id
|[http://mantis.innovaphone.com/view.php?id=51554 51554]
|[http://mantis.innovaphone.com/view.php?id=50827 50827]
|}
|}
Problem: Snom phones (and others) do not support Answer-Mode header (RFC-5373). But they honour "anser-after" parameter in Call-Info header.<br/><br/>Solution: Send Call-Info header with "answer-after" header.<br/> <br/>Files: sipmsg.cpp/h siptrans.cpp<br/><br/>Products affected: All SIP PBXs<br/><br/>Risk: No risk.
problem: without this infomation the identification of the remote party in an recorded call requires syncronisation with log files not directly available in the recorder.<br/> <br/>solution: a CT-COMPLETE with number/h323id of the remote party is sent to the recorder whenever the remote party changes because of a consultation call or a call transfer.<br/> <br/>files: appp_form.cpp, app_fkey.cpp, app_disp.cpp, app_ctl.cpp, app_ctl.h, app_call.cpp <br/><br/>products: all phones<br/><br/>risks: Minimal for recorders not able to deal with CT-COMPLETE info<br/>
=== Other new Features ===
''Status:''
checked in to 8.00,9.00,09-80500
   
=== Phone: access to PBX directories failed if the PBX System Name contained non ascii characters (&gt;= 128) ===


{|
{|
|Status
|<font><font color="green">Closed</font></font>
|-
|-
|valign=top nowrap=true|[http://mantis.innovaphone.com/view.php?id=49678 49678]
|Id
|valign=top nowrap=true|sga
|[http://mantis.innovaphone.com/view.php?id=50974 50974]
|Media relay  &amp;amp; Exclusive Haken bei SipTrunk
|}
|}
 
problem: the LDAP API expects latin1 but the name was utf8 encoded<br/><br/>solution: convert name to latin1 before passing to API<br/><br/>files: phone_dir.cpp<br/><br/>products: all phones<br/><br/>risks: none<br/>
''Status:''
checked in to 8.00,9.00,09-80500
      
      
== Bug Fixes ==
=== When upgrading a phone to V8 directories having been disabled in V7 may come up enabled in V8 ===
 
 
=== Other Bug Fixes ===


{|
{|
|Status
|<font><font color="green">Closed</font></font>
|-
|-
|valign=top nowrap=true|[http://mantis.innovaphone.com/view.php?id=50108 50108]
|Id
|valign=top nowrap=true|cmu
|[http://mantis.innovaphone.com/view.php?id=51381 51381]
|Country settings in 'TELx/Physical' cannot select lines containing '+' character
|-
|valign=top nowrap=true|[http://mantis.innovaphone.com/view.php?id=50581 50581]
|valign=top nowrap=true|pme
|Presence on Partner Function Key
|}
|}
 
problem: to save space in flash the default V8 directory configuration is not stored in xml-config. When a V7 config is merged to a default V8 config a default enable='1' may override an enable='0' from V7 (V7 does not write bools with a value '0' to xml config) <br/><br/>solution: fix wrong overrides by checking for V7 specific config patterns<br/><br/>files: phone_user.cpp<br/><br/>products: all phones<br/><br/>riscs: none<br/>
''Status:''
checked in to 8.00,9.00,09-80500
      
      
= V8 Hotfix  3 =
=== function keys defined in a config template could not be overloaded by an associated user object ===
Fixes included in Version 8 hotfix2
[http://mantis.innovaphone.com/view.php?id=51967 Definition]
 
== New Features ==
 
 
   
=== Option added to configure DTMF detection sensitivy ===


{|
{|
|Status
|Status
|<font><font color="orange">To-decide</font></font>
|<font><font color="green">Closed</font></font>
|-
|-
|Id
|Id
|[http://mantis.innovaphone.com/view.php?id=52879 52879]
|[http://mantis.innovaphone.com/view.php?id=51506 51506]
|}
|}
problem: sporadic false DTMF detect<br/><br/>solution: Option added to configure DTMF detection sensitivy. Use <br/> config change AC-DSP0 /dtmf-threshold <val><br/> config write<br/> reset <br/>to change the sensitivity. <br/>0 selects -38dBm ( default), <br/>1 selects -28dBm, <br/>2 selects -33dBm,<br/>3 selects -43dBm, <br/>4 selects -48dBm<br/>During boot a non-default sensitivity is shown in the trace<br/><br/>files: ac_dsp2.cpp/h ac48xlo.c ac48xdef.h <br/><br/>products: ip800 ip6000<br/><br/>
problem: a function key defined in a template could not be overridden by an associated user object, the key in the template did always win.  <br/><br/>solution: the changed function key must be kept in user object<br/><br/>files: phone_config.cpp<br/><br/>products: all PBX and phones<br/><br/>riscs: none<br/>
''Status:''
checked in to 8.00,9.00,09-80500
      
      
=== PBX dtmf object selects wrong mobility user for feature codes ===
=== AD Replicator, Searches to Global Catalog Server weren't possible ===


{|
{|
Line 2,615: Line 2,481:
|-
|-
|Id
|Id
|[http://mantis.innovaphone.com/view.php?id=51811 51811]
|[http://mantis.innovaphone.com/view.php?id=50129 50129]
|}
|}
Problem: e.g. calling cfu activate activates cfu on any user with a mobility fork and not just on the mobility user who is calling<br/><br/>Solution: use correct number to determine mobility user<br/><br/>Files: pbx_dtmf.cpp<br/><br/>Risk: no risk
problem: Searches to Global Catalog Server weren't possible<br/><br/>solution: Fix configuration for LDAP port<br/><br/>files: ldaprep.cpp<br/><br/>products: all PBX-,Dect products<br/><br/>risks: None
      
      
=== PBX dtmf/icp object couldn't assign e164 without node/pbx if another object already has this e164 ===
=== Flashdir: Comparison for 'guid' could fail ===


{|
{|
Line 2,626: Line 2,492:
|-
|-
|Id
|Id
|[http://mantis.innovaphone.com/view.php?id=51812 51812]
|[http://mantis.innovaphone.com/view.php?id=50965 50965]
|}
|}
Problem: setting an e164 for features in an object without node/pbx didn't work if another object already had this number, but with configured node/pbx<br/><br/>Solution: use a new method for determining existing e164<br/><br/>Files: pbx_dtmf.cpp, pbx_icp.cpp, pbx.cpp, pbx.h, pbx_api.h<br/><br/>Risk: no risk
problem: Comparison for 'guid' could fail<br/><br/>solution: apply binary comparison (was case insensitive)<br/><br/>files: flashdir.cpp<br/><br/>products: all PBX products<br/><br/>risks: None<br/>
      
      
=== Ignore calls from gateway objects to dtmf object if no mobility user is found for incoming number ===
=== LDAP/Replicator-Status  "There is no replicator active" ===


{|
{|
Line 2,637: Line 2,503:
|-
|-
|Id
|Id
|[http://mantis.innovaphone.com/view.php?id=51871 51871]
|[http://mantis.innovaphone.com/view.php?id=51733 51733]
|}
|}
Problem: If one would call the dtmf object over a gateway object and no mobility user is found for the caller, the feature codes would be applied to the gateway object.<br/><br/>Solution: Reject calls over gateway objects without mobility user for incoming number.<br/><br/>Files: pbx_dtmf.cpp<br/><br/>Risk: no risk
Problem: When no replicator is enabled the replicator status window is showing<br/>an empty drop-down list. It should be a message shown indicating that<br/>no replicator is enabled.<br/><br/>Solution: Display "There is no replicator active"<br/><br/>Files: ldaprep_status.xsl<br/><br/>Risk: none<br/>
      
      
=== innovaphone endpoints which do not support group indications can turn off sending of group indications in PBX ===
=== Cleanup gateway interface config ===


{|
{|
Line 2,648: Line 2,514:
|-
|-
|Id
|Id
|[http://mantis.innovaphone.com/view.php?id=51799 51799]
|[http://mantis.innovaphone.com/view.php?id=49181 49181]
|}
|}
problem: High load can be generated by group indications on endpoints which do not support group indications (e.g. IP-DECT).<br/><br/>solution: These endpoints can turn off sending of group indications in the PBX<br/><br/>files: gk.cpp, pbx_api.h, pbx.cpp, pbx_gi.cpp, h323sig.cpp, h323ras.cpp, h323.h, voip.h, dectmaster.cpp<br/><br/>products: all<br/><br/>risks: Small risk of collateral damage
Problem: Config option 'mask' could not be used as filter for incoming calls.<br/><br/>Solution: Accept configured 'mask' and use it as filter (together with 'addr') for incoming calls on interfaces without registration.<br/><br/>Files: gk_if.h gk.h/cpp relay.cpp<br/><br/>Products affected: SIP devices<br/><br/>Risk: Long forgotton feature "dial the remote ip address" not available anymore.
      
      
=== Potential trap when disconnecting call, WEBMEDIA-CH.5 default(82c09798): serial_event(814) ===
=== PBX Waiting Queue did not provide diverting party display name ===


{|
{|
|Status
|Status
|<font><font color="orange">To-decide</font></font>
|<font><font color="green">Closed</font></font>
|-
|-
|Id
|Id
|[http://mantis.innovaphone.com/view.php?id=51945 51945]
|[http://mantis.innovaphone.com/view.php?id=49786 49786]
|}
|}
problem: Under special timing conditions a trap could happen during call disconnect. This only happened if the call terminated at a physical interface on the given box.<br/><br/>solution: Cleaning up of media channel fixed<br/><br/>files: media.cpp, media.h, medialib.h<br/><br/>products: all<br/><br/>risks: Other problems with media negotiation
Problem: PBX Waiting Queue did not provide diverting party display name when forwarding/distributing calls.<br/><br/>Solution: Provide diverting party name.<br/><br/>Files: pbx_wait.cpp/h<br/><br/>Products affected: PBX<br/><br/>Risk: No risk.
      
      
=== PBX: Filter needed for Gateway or Trunk objects ===
=== GUI: Registration indicator not aligned ===


{|
{|
|Status
|Status
|<font><font color="orange">To-decide</font></font>
|<font><font color="green">Closed</font></font>
|-
|-
|Id
|Id
|[http://mantis.innovaphone.com/view.php?id=51947 51947]
|[http://mantis.innovaphone.com/view.php?id=50070 50070]
|}
|}
problem: Filter configuration was removed from the user interface of Trunk and Gateway objects, but there are applications for which Filters are needed for these objects.<br/><br/>solution: Filter configuration added for Trunk and Gateway<br/><br/>files: pbx_edit_trunk.xsl, pbx_edit_gw.xsl<br/><br/>products: all with PBX<br/><br/>risks: None
Problem: The registration indicator (arrow) was not aligned on Gateway/GK page.<br/><br/>Solution: Make it aligned.<br/> <br/>Files: relay_ifs.xsl<br/><br/>Products affected: All gateways<br/><br/>Risk: No risk.
      
      
=== PBX: Successive diversion activate/deactivate and dynamic group status sometimes failed ===
=== PBX: Presence subscription was rejected by object type 'Executive' ===


{|
{|
Line 2,681: Line 2,547:
|-
|-
|Id
|Id
|[http://mantis.innovaphone.com/view.php?id=52037 52037]
|[http://mantis.innovaphone.com/view.php?id=50091 50091]
|}
|}
problem: If a diversion activate/deactivate from an endpoint arrived before the last was written to flashdir, update was performed based on information in dram not information being written into flash<br/><br/>solution: Update information in dram before writing to flashdir<br/><br/>files: pbx.cpp, pbx.h, pbx_api.h, pbx_dtmf.cpp<br/><br/>products: all with PBX<br/><br/>risks: Collateral damage with diversion/dynamic group updates
Problem: Watching presence of an 'Executive' user was not possible. Subscription was rejected.<br/><br/>Solution: Accept presence subscription at 'Executive' user .<br/> <br/>Files: pbx.cpp<br/><br/>Products affected: All PBX devices<br/><br/>Risk: No risk.
      
      
=== H.323 RAS Registration thru NAT to PBX does not work with password ===
=== Control calls without facility elements were forwarded on ISDN ===


{|
{|
Line 2,692: Line 2,558:
|-
|-
|Id
|Id
|[http://mantis.innovaphone.com/view.php?id=52126 52126]
|[http://mantis.innovaphone.com/view.php?id=50199 50199]
|}
|}
problem: If registration with password is done, the client is sending a GatekeeperRequest as first message. Response to this message is sent to the (private) address contained in the message itself and not to source address<br/><br/>solution: Send response back to source<br/><br/>files: h323ras.cpp, h323.h<br/><br/>products: all<br/><br/>risks: Minimal
Problem: Control calls (calls without media channel) without facility elements were forwarded on ISDN. Seems to causes trouble on some ISDN switches<br/><br/>Solution: Reject control calls without facility elements with "Invalid information element contents".<br/> <br/>Files: relay.cpp<br/><br/>Products affected: All gateways<br/><br/>Risk: No risk.
      
      
=== Gateway: Potential Trap with collision of transfer an call clearing ===
=== Wrong presence status in PBX admin dialog ===


{|
{|
Line 2,703: Line 2,569:
|-
|-
|Id
|Id
|[http://mantis.innovaphone.com/view.php?id=52213 52213]
|[http://mantis.innovaphone.com/view.php?id=50268 50268]
|}
|}
problem: If a transfer is attempted to a call to the gateway at the same time this call is release an NULL pointer access could happen<br/><br/>solution: Check for this situation added<br/><br/>files: gk.cpp<br/><br/>products: all with gateway<br/><br/>risks: Nonen
Problem: Presence status 'open' is displayed when no presence status is available.<br/><br/>Solution: Fix presence dialog.<br/> <br/>Files: pbx_edit_presence.xsl<br/><br/>Products affected: All PBXs<br/><br/>Risk: No risk.
      
      
=== Allow to limit license usage of slave PBX ===
=== Phone: Fkey "Partner" should light up LED when partner's presence activity is "on-the-phone" ===


{|
{|
Line 2,714: Line 2,580:
|-
|-
|Id
|Id
|[http://mantis.innovaphone.com/view.php?id=52238 52238]
|[http://mantis.innovaphone.com/view.php?id=50389 50389]
|}
|}
problem: In some configuration it is desireable that it can be ensured, that a slave PBX cannot use up too many licenses from the master. This is esspecially the case with dynamic slave PBXs managed by the customer in a hosted environment.<br/><br/>solution: Limits configurable by admin login to the Host box only<br/><br/>files: pbx.cpp, pbx.h, pbx_general.xsl, config_options.cpp, config_options.h<br/><br/>products: all with PBX<br/><br/>risks: Risk of collateral damage, no trivial fix.
Problem: Fkey "Partner" does not light up LED when partner's presence activity is "on-the-phone".<br/><br/>Solution: Light up LED on partner key when partner's presence activity is "on-the-phone".<br/> <br/>Files: app_disp.cpp<br/><br/>Products affected: Phones with partner keys only<br/><br/>Risk: No risk.  
      
      
=== innovaphone parameters were not sent with H.323 ras registration confirm, if the confirm was lost the first time ===
=== Gateway: Cannot use SIP interfaces without having "Media-Relay" and "Exclusive Coder" enabled ===


{|
{|
Line 2,725: Line 2,591:
|-
|-
|Id
|Id
|[http://mantis.innovaphone.com/view.php?id=52240 52240]
|[http://mantis.innovaphone.com/view.php?id=50425 50425]
|}
|}
problem: If a RasRegistrationRequest needed to be retransmitted, because the RegistrationConfirm was lost, the second RegistrationConfirm did not contain innovaphone parameters and the client did not detect it was connected to a innovaphone PBX/Gatekeeper.<br/><br/>solution: Send innovaphone parameters in this case also<br/><br/>files: h323.h, h323ras.cpp<br/><br/>products: all<br/><br/>risks: None
Problem: Cannot use SIP interfaces without having "Media-Relay" and "Exclusive Coder" enabled. Installations with many SIP interfaces and heavy load will suffer from RTP traffic.<br/><br/>Solution: Do not enforce "Media-Relay" and "Exclusive Coder" in SIP interfaces.<br/><br/>Files: relay_edit_sip.xsl<br/><br/>Products affected: Gateways with SIP interface<br/><br/>Risk: No risk.
      
      
=== Potential hanging h323 signaling (Mem Leak) on collision of removing a signaling entity with outg. call ===
=== Make LCD dump to be displayed in browser ===


{|
{|
Line 2,736: Line 2,602:
|-
|-
|Id
|Id
|[http://mantis.innovaphone.com/view.php?id=52252 52252]
|[http://mantis.innovaphone.com/view.php?id=51485 51485]
|}
|}
problem: If a signaling entity is being removed (e.g. by configuration change) and at the same time an outgoing call is attempted at this interface, it could happen that the remove of the signaling interface failed.<br/><br/>solution: handle this collision<br/><br/>files: h323sig.cpp<br/><br/>products: all<br/><br/>risks: None
Problem: LCD dump was displayed by external program.<br/><br/>Solution: Fix Content-Type of lcd_dump.bmp to make browsers display it.<br/> <br/>Files: http.cpp<br/><br/>Products affected: All phones<br/><br/>Risk: No risk.
      
      
=== Avoid reboot when reading traces, if trap happens after firmware update ===
=== ISDN: Sending of CEI facilities as Point to Multipoint endpoint did not work ===


{|
{|
|Status
|Status
|<font><font color="orange">To-decide</font></font>
|<font><font color="green">Closed</font></font>
|-
|-
|Id
|Id
|[http://mantis.innovaphone.com/view.php?id=52311 52311]
|[http://mantis.innovaphone.com/view.php?id=51744 51744]
|}
|}
problem: If a firmware update is done and before a regular restart a trap happens, the next reading of the trace buffer could generate another trap, because firmware dependent content is accessed in trace buffer.<br/><br/>solution: Avoid trap, by reading save info only from trace buffer in this case<br/><br/>files: debug.cpp, debug.h, arm.cpp, mips.cpp<br/><br/>products: all<br/><br/>risks: None
Problem: Call independent signaling did not work on Point to Multipoint interfaces. Required for Call Completion.<br/><br/>Solution: Fixed.<br/> <br/>Files: q931.cpp<br/><br/>Products affected: BRI Gateways<br/><br/>Risk: Small risk of collateral damage.
      
      
=== PBX: Potential Trap if changing groups ===
=== Phone: Local coder config was not used on outgoing phone calls ===


{|
{|
Line 2,758: Line 2,624:
|-
|-
|Id
|Id
|[http://mantis.innovaphone.com/view.php?id=52312 52312]
|[http://mantis.innovaphone.com/view.php?id=49899 49899]
|}
|}
problem: If group memberships are changed esspecially at Waiting Queues or Waiting Queue operators a trap could happen, because PBX internal information could get inconsistent.<br/><br/>solution: Fixed update of internal information<br/><br/>files: pbx.cpp<br/><br/>products: all with PBX<br/><br/>risks: Other traps, complex operations, so it is possibly still wrong
Problem: Local coder config was not applied to outgoing phone calls, but is required when it comes to media re-negotiation.<br/><br/>Solution: Give local coder config to all kind of calls.<br/><br/>Files: phonesig.cpp/h<br/><br/>Products affected: All phones.<br/><br/>Risk: No risk.
      
      
=== PBX: Unknown Registrations did not display name _UNKNOWN_ on the phone anymore ===
=== Phone: Stop trying to subscribe for own presence ===


{|
{|
Line 2,769: Line 2,635:
|-
|-
|Id
|Id
|[http://mantis.innovaphone.com/view.php?id=52417 52417]
|[http://mantis.innovaphone.com/view.php?id=50346 50346]
|}
|}
problem: By accident the name _UNKNOWN_ was removed for unknown registration<br/><br/>solution: Name _UNKNOWN_ added<br/><br/>files: pbx.cpp<br/><br/>products: all with PBX<br/><br/>risks: None
Problem: On PBX's not supporting presence subscription (v7 or earlier) the phone endlessly tries to subscribe for own presence.<br/><br/>Solution: Stop trying to subscribe for own presence.<br/> <br/>Files: phonesig.cpp<br/><br/>Products affected: All SIP phones<br/><br/>Risk: No risk.
      
      
=== PBX SOAP FindUser did not work correctly with users not in root node ===
=== Phone: Fkey "Partner" should try to subscribe for Presence only if checkmark set ===


{|
{|
|Status
|Status
|<font><font color="orange">To-decide</font></font>
|<font><font color="green">Closed</font></font>
|-
|-
|Id
|Id
|[http://mantis.innovaphone.com/view.php?id=52498 52498]
|[http://mantis.innovaphone.com/view.php?id=50857 50857]
|}
|}
problem: A library function adding prefixes to a number did not work correctly. This was used within the FindUser SOAP function of the PBX<br/><br/>solution: library function fixed<br/><br/>files: q931lib.cpp<br/><br/>products: all<br/><br/>risks: None
Problem: Fkey "Partner" tries to subscribe for partner's presence. Even on PBXs not supporting Presence.<br/><br/>Solution: Added checkmark to Partner fkey config.<br/> <br/>Files: phone_config.h/cpp phone_edit.cpp app_fkey.cpp fkey_edit_partner.xsl <br/><br/>Products affected: Phones with partner keys only<br/><br/>Risk: No risk.
      
      
=== H.323 Signal IE when sent once during a call, was then sent with each subsequent message ===
=== Phone: Fkey "Partner" show presence activity even if partners presence status is "closed" ===


{|
{|
|Status
|Status
|<font><font color="orange">To-decide</font></font>
|<font><font color="green">Closed</font></font>
|-
|-
|Id
|Id
|[http://mantis.innovaphone.com/view.php?id=52517 52517]
|[http://mantis.innovaphone.com/view.php?id=50952 50952]
|}
|}
problem: A Signal IE sent with one message was repeated with all the messages. This could cause the a Signal IE indicating Ringback sent with Alert was repeated with Disc, so that no busy tone was played with Disc, but Ringback<br/><br/>solution: Send Signal IE once only<br/><br/>files: h323sig.cpp<br/><br/>products: all<br/><br/>risks: Minimal risk of collateral damage
Problem: Fkey "Partner" does not show presence activity if partners presence status is "closed" (not registered).<br/><br/>Solution: Show presence activity regardless of the status.<br/> <br/>Files: app_disp.cpp<br/><br/>Products affected: Phones with partner keys only<br/><br/>Risk: No risk.
      
      
=== Call Intrusion across PBXs did not work ===
=== Phone: Presence subscription of partner fkey not created sometimes ===


{|
{|
|Status
|Status
|<font><font color="orange">To-decide</font></font>
|<font><font color="green">Closed</font></font>
|-
|-
|Id
|Id
|[http://mantis.innovaphone.com/view.php?id=52556 52556]
|[http://mantis.innovaphone.com/view.php?id=51519 51519]
|}
|}
problem: If a call was to be intruded with the destination of the intrusion (which is one of the endpoints of the call to be intruded call) on a different PBX the intrusion failed in a strange way, because the intrusion facilities were not correctly forwarded between the PBXs<br/><br/>solution: Fix forwarding of intrusion facilities<br/><br/>files: pbx.cpp, pbx.h, pbx_api.h<br/><br/>products: all with PBX<br/><br/>risks: Small risk of collateral damage with intrusion
Problem: In some cases the presence subscription of the partner fkey was not established.<br/><br/>Solution: Fix lookup of existing presence subscription.<br/> <br/>Files: phonesig.cpp<br/><br/>Products affected: Phones with partner fkeys<br/><br/>Risk: No risk.
      
      
=== PBX Trunk automatic disconnect did not work if user was monitored by SOAP ===
=== Phone: Trap when re-creating presence call ===


{|
{|
|Status
|Status
|<font><font color="orange">To-decide</font></font>
|<font><font color="green">Closed</font></font>
|-
|-
|Id
|Id
|[http://mantis.innovaphone.com/view.php?id=52574 52574]
|[http://mantis.innovaphone.com/view.php?id=51588 51588]
|}
|}
problem: If a user was monitored by SOAP a automatic hangup was not sent to the endpoint<br/><br/>solution: Send automatic hangup<br/><br/>files: pbx.cpp<br/><br/>products: all with PBX<br/><br/>risks: None
Problem: Trap when re-creating presence call, because facility entity did not exist.<br/><br/>Solution: Re-create facility entity when re-creating call object.<br/> <br/>Files: phonesig.cpp<br/><br/>Products affected: All phones<br/><br/>Risk: No risk.
      
      
=== Potential trap if HTTP session is closed while command is still pending ===
=== SIP: Handling of re-INVITE collision ===


{|
{|
Line 2,824: Line 2,690:
|-
|-
|Id
|Id
|[http://mantis.innovaphone.com/view.php?id=52576 52576]
|[http://mantis.innovaphone.com/view.php?id=49135 49135]
|}
|}
problem: The command processor was deleted in this case without waiting for result of the command<br/><br/>solution: Wait for result until deleting command processor<br/><br/>files: command.cpp, command.h<br/><br/>products: all<br/><br/>risks: Hanging command processors if check wrong
Problem: After re-INVITE collision at Mitel-PBX, every incoming re-try was rejected with 491 until outgoing re-try was successful.<br/><br/>Solution: Accept incoming re-try while having a postponed re-INVITE client transaction.<br/><br/>Files: sip.cpp<br/><br/>Products affected: SIP devices<br/><br/>Risk: No risk.
      
      
=== IP-DECT/Analog: CC was lost if initiating endpoint busy ===
=== Memory Leak ===


{|
{|
|Status
|Status
|<font><font color="orange">To-decide</font></font>
|<font><font color="green">Closed</font></font>
|-
|-
|Id
|Id
|[http://mantis.innovaphone.com/view.php?id=52595 52595]
|[http://mantis.innovaphone.com/view.php?id=49164 49164]
|}
|}
problem: If with an anlog phone connected to a IP24/28/... gateway or an IP-DECT phone initiated a call-completion but was busy itself at the time the call-completion could be executed, the call-completion was silently discarded<br/><br/>solution: delay call-completion until not busy<br/><br/>files: dtmffty.cpp, dtmffty.h<br/><br/>products: DECT and Analog gateways<br/><br/>risks: Minimal risk of collateral damage
Problem: When closing a SIP interface a small buffer containing the proxy name was not freed.<br/><br/>Solution: Free proxy name buffer.<br/><br/>Files: sip.cpp<br/><br/>Products affected: SIP endpoints<br/><br/>Risk: No risk.
      
      
=== Switch-PCM together with Media-Relay caused disconnect of call ===
=== ENUM/SIP interfaces shall accept incoming calls ===


{|
{|
|Status
|Status
|<font><font color="orange">To-decide</font></font>
|<font><font color="green">Closed</font></font>
|-
|-
|Id
|Id
|[http://mantis.innovaphone.com/view.php?id=52614 52614]
|[http://mantis.innovaphone.com/view.php?id=49198 49198]
|}
|}
problem: If a call from one ISDN interface to another ISDN interface on the same box with Switch-PCM enabled (so that normaly the PCM Switch should be used), was routed thru a PBX with Media-Relay, the call was disconnected.<br/><br/>solution: In case of Media-Relay the PCM-Switch should not be used<br/><br/>files: h323ch.cpp<br/><br/>products: all<br/><br/>risks: None
Problem: Gateway interfaces of type ENUM/SIP did not accept incoming calls.<br/><br/>Solution: Make ENUM/SIP interfaces accept incoming calls.<br/><br/>Files: siptrans.cpp<br/><br/>Products affected: Gateway devices<br/><br/>Risk: No risk.
      
      
=== Registration with Name or Number was only possible if Device with hw-id identical to name was configured ===
=== Trap when SIP closes unused transport connections ===


{|
{|
|Status
|Status
|<font><font color="red">Assigned</font></font>
|<font><font color="green">Closed</font></font>
|-
|-
|Id
|Id
|[http://mantis.innovaphone.com/view.php?id=52634 52634]
|[http://mantis.innovaphone.com/view.php?id=49257 49257]
|}
|}
problem: In v8 devices were introduced into PBX configuration, which allow much better control of SOAP applications on which devices are used and also a mechanism to prohibt registration by Name or Number was built in. Even if this is useful in some cases, this mechanism was so obscur that it generated problems.<br/><br/>solution: Allow registrtation with name or number again independent of configured devices. If no device is configured with hw-id matching the name of the object, such a registration is associated to the first configured device.<br/><br/>files: pbx.cpp, pbx_admin.cpp<br/><br/>products: all with PBX<br/><br/>risks: In some installation the new feature may have been used already.
Problem: Rare trap when SIP closes transport connections that failed to establish.<br/><br/>Solution: Fix cleanup of unused transport connections.<br/><br/>Files: siptrans.cpp<br/><br/>Products affected: SIP devices using SIP/TCP or SIP/TLS (not SIP/UDP)<br/><br/>Risk: No risk.
      
      
=== PBX Mobility: Unexpected restart if 3 or more mobility destinations configured at a user ===
=== SIP: 180/Ringing was not re-transmitted ===


{|
{|
|Status
|Status
|<font><font color="orange">To-decide</font></font>
|<font><font color="green">Closed</font></font>
|-
|-
|Id
|Id
|[http://mantis.innovaphone.com/view.php?id=52782 52782]
|[http://mantis.innovaphone.com/view.php?id=49461 49461]
|}
|}
problem: The binary tree used to keep track of the mobility calls at a user got corrupted because of a typo in the Mobility object code. For some strange reasons this only happened with 3 ot more mobile destinations<br/><br/>solution: typo corrected<br/><br/>files: pbx_mobility.cpp<br/><br/>products: all with PBX<br/><br/>risks: None
Problem: If 180/Ringing got lost and the caller re-transmitted INVITE, re-transmission of 180/Ringing was missing.<br/><br/>Solution: Re-transmit last sent provisional response.<br/><br/>Files: siptrans.cpp<br/><br/>Products affected: SIP devices<br/><br/>Risk: No risk.
      
      
=== PBX Mobility: No media if 3 or more forking/mobility destinations without delay configured ===
=== SIP: Incoming calls not accepted by PBX ===


{|
{|
|Status
|Status
|<font><font color="orange">To-decide</font></font>
|<font><font color="green">Closed</font></font>
|-
|-
|Id
|Id
|[http://mantis.innovaphone.com/view.php?id=52783 52783]
|[http://mantis.innovaphone.com/view.php?id=49473 49473]
|}
|}
problem: The media path was not switched correctly when calling mobile endpoints. More or less by accident it worked anyway for the first and the last forking destination<br/><br/>solution: media path switrching fixed<br/><br/>files: pbx_mobility.cpp<br/><br/>products: all with PBX<br/><br/>risks: None
Problem: Incoming SIP calls are rejected with 407, if lookup of active registration fails due to display-name in Contact header of INVITE.<br/><br/>Solution: Skip display-name of Contact header when performing registration lookup for incoming call.<br/><br/>Files: siptrans.cpp<br/><br/>Products affected: SIP devices<br/><br/>Risk: Low risk of collateral damage.
      
      
=== PBX Mobility: Trap if consultation call is cleared by remote side and user attempts to switch back to first call ===
=== Trap when switching off SIP phone ===


{|
{|
|Status
|Status
|<font><font color="orange">To-decide</font></font>
|<font><font color="green">Closed</font></font>
|-
|-
|Id
|Id
|[http://mantis.innovaphone.com/view.php?id=52860 52860]
|[http://mantis.innovaphone.com/view.php?id=49556 49556]
|}
|}
problem: If a consultation call is cleared by remote side an attempt to switch back to the first call (by sending R-Key pattern) leads to a trap<br/><br/>solution: Handle switch back to first call better<br/><br/>files: pbx_mobility.cpp<br/><br/>products: all with PBX<br/><br/>risks: None
Problem: Switching off causes unregistration. It traps when receiving REGISTER response.<br/><br/>Solution: Wait for response before deleting interface.<br/><br/>Files: sip.cpp/h<br/><br/>Products affected: SIP devices<br/><br/>Risk: Small risk of collateral damage.
      
      
=== Kerberos trap when turning off standby PBX with replication ===
=== SIP: INVITE after REFER for blind transfer missed Referred-By header ===


{|
{|
|Status
|Status
|<font><font color="orange">To-decide</font></font>
|<font><font color="green">Closed</font></font>
|-
|-
|Id
|Id
|[http://mantis.innovaphone.com/view.php?id=52415 52415]
|[http://mantis.innovaphone.com/view.php?id=49854 49854]
|}
|}
problem: The box traps when a standby PBX with LDAP replication is turned off. <br/><br/>solution: Fix event flow in kerberos_ldap_realm_tree.<br/><br/>products: all with PBX<br/><br/>files: kerberos_ldap.cpp, pbx.cpp<br/><br/>risk: no risk known
Problem: After receiving REFER for blind transfer a new INVITE is sent without Referred-By header.<br/><br/>Solution: Save Referred-By header of received REFER on existing call and send it in INVITE for new call.<br/><br/>Files: sip.cpp/h siptrans.cpp/h<br/><br/>Products affected: SIP devices<br/><br/>Risk: No risk.
      
      
=== mem info for TLS socket ===
=== SIP: Incoming calls with anonymous From-URI were not tagged as CLIR ===


{|
{|
|Status
|Status
|<font><font color="orange">To-decide</font></font>
|<font><font color="green">Closed</font></font>
|-
|-
|Id
|Id
|[http://mantis.innovaphone.com/view.php?id=52476 52476]
|[http://mantis.innovaphone.com/view.php?id=50058 50058]
|}
|}
description: Implement mem info for tls_socket objects for debugging purposes.<br/><br/>products: all<br/><br/>files: tls.h, tls.cpp<br/><br/>risk: no risk
Problem: Incoming SIP calls with anonymous From-URI were not tagged as CLIR.<br/><br/>Solution: Honour "anonymous" in From-URI and set Presentation Restricted flag in CGPN.<br/> <br/>Files: sip.cpp<br/><br/>Products affected: All SIP devices<br/><br/>Risk: No risk.
      
      
=== Problems with TLS event handling ===
=== Gateway sends calls to wrong registered SIP endpoint ===


{|
{|
|Status
|Status
|<font><font color="orange">To-decide</font></font>
|<font><font color="green">Closed</font></font>
|-
|-
|Id
|Id
|[http://mantis.innovaphone.com/view.php?id=52537 52537]
|[http://mantis.innovaphone.com/view.php?id=50102 50102]
|}
|}
problem: Two problems with the TLS state machine were found: <br/>A) SOCKET_SHUTDOWN from application is ignored if it is received between SOCKET_CONNECT from application and SOCKET_CONNECT_COMPLETE from TCP.<br/>b) When the TCP connection is closed during TLS handshake, TLS tries to send a SOCKET_RECV_RESULT(fin) to the application instead of SOCKET_SHUTDOWN.<br/><br/>solution: fix state machine<br/><br/>products: all<br/><br/>files: tls.cpp, tls.h<br/><br/>risk: risk of damaging applications using TLS
Problem: If the addressed endpoint is currently not registered at the registrar interface at the gateway, calls are delivered to another registered SIP endpoint.<br/><br/>Solution: Reject calls if addressed endpoint is not registered.<br/> <br/>Files: siptrans.cpp<br/><br/>Products affected: All gateways<br/><br/>Risk: No risk.
      
      
=== Control calls without facility elements were forwarded on ISDN ===
=== Phone: Changes to option 'Proposed Registration Interval' were applied after reboot only ===


{|
{|
|Status
|Status
|<font><font color="orange">To-decide</font></font>
|<font><font color="green">Closed</font></font>
|-
|-
|Id
|Id
|[http://mantis.innovaphone.com/view.php?id=52095 52095]
|[http://mantis.innovaphone.com/view.php?id=50214 50214]
|}
|}
Problem: Control calls (calls without media channel) without facility elements were forwarded on ISDN. Seems to causes trouble on some ISDN switches<br/><br/>Solution: Reject control calls without facility elements with cause "Invalid information element contents".<br/> <br/>Files: q931.cpp/h nt_tbl.tbl te_tbl.tbl<br/><br/>Products affected: All gateways<br/><br/>Risk: No risk.
Problem: Changes to option 'Proposed Registration Interval' had no effect until reboot. Demand for reboot was not indicated.<br/><br/>Solution: Apply configured registration interval at runtime. No reboot required.<br/> <br/>Files: phonesig.cpp<br/><br/>Products affected: All SIP phones<br/><br/>Risk: No risk.
''Status:''
      
Neuauflage von http://mantis.innovaphone.com/view.php?id=50199<br/><br/>Ich hatte für v8hf2 etwas in relay.cpp gemacht,<br/>damit keine Ctrl-Calls ohne Fty-Elemente ins ISDN geroutet werden.<br/>(Durch Presence-Subscriptions zu externen Teilnehmer passierte das<br/>und hatte eine Vermittlung nachhaltig verwirrt.)<br/><br/>Nun stellt sich heraus, dass das Problem sub-optimal gelöst wurde.<br/>Ich habe den eingegangegen Call gleich ganz released.<br/>Wenn man aber abgehende Calls immer erst über TONE schleift,<br/>dann schlägt mein Hack genau da gnadenlos zu,<br/>und CC-Requests kommen dann nie ins ISDN.<br/>:-(<br/><br/>Erste Idee war, statt zu rejecten, zu re-routen.<br/>Das verhält sich dann etwas besser, aber dann bin ich noch auf etwas gestoßen,<br/>was den ganzen Trick im Relay unmöglich macht:<br/><br/>Wenn an der Route zum ISDN nicht das Interworking-Flag gesetzt ist,<br/>dann reicht das RELAY sehr wohl eine Fty-Liste zum ISDN-Signaling.<br/>Fürs RELAY ist das also kein Ctrl-Call ohne Ftys!<br/>Aber das ISDN-Signaling schmeißt die H450-Ftys trotzdem weg<br/>und jagt den Ctrl-Call ohne Ftys raus.<br/><br/>Erkenntnis:<br/>Man muss sowas doch im Signaling abfangen.<br/>Q931 muss selbst erkennen, dass das kein Sinn mancht und den Ruf<br/>mit einem passenden Cause rejecten.<br/>Dann klappt auch das Re-Routing zum nächsten IF.<br/><br/>/Thomas
=== SIP: Signaling not sent to non-standard port ===
      
=== IP-DECT Master potential trap ===


{|
{|
Line 2,947: Line 2,811:
|-
|-
|Id
|Id
|[http://mantis.innovaphone.com/view.php?id=51983 51983]
|[http://mantis.innovaphone.com/view.php?id=50394 50394]
|}
|}
problem: There is a potential trap if the IP-DECT Master is used in the IP6000.<br/><br/>solution: Condition added.<br/><br/>files: dectmaster.cpp.<br/><br/>products affected: All DECT devices.<br/><br/>risk: Minimal risk of collateral damage.
Problem: Even if non-standard remote port is configured, signaling is sent to 5060.<br/><br/>Solution: Apply configured remote port.<br/><br/>Files: sip.cpp<br/><br/>Products affected: SIP devices<br/><br/>Risk: No risk.
      
      
=== H323 potential trap during signaling cleanup ===
=== SIP: Problems parsing exotic SIP URIs ===


{|
{|
Line 2,958: Line 2,822:
|-
|-
|Id
|Id
|[http://mantis.innovaphone.com/view.php?id=52030 52030]
|[http://mantis.innovaphone.com/view.php?id=50421 50421]
|}
|}
problem: A trap can occur if a call is still active in accept state and its signaling is cleaned-up.<br/><br/>solution: Call membership fixed.<br/><br/>files: h323sig.cpp.<br/><br/>products affected: All devices.<br/><br/>risk: Minimal risk of collateral damage.
Problem: Failed to decode destination port from a redirect URI like this: <sip:2204;phone-context=cdp.udp@livio.nl:16618;maddr=10.2.10.3;transport=udp;x-nt-redirect=redirect-server><br/><br/>Solution: Fix URI parsing.<br/><br/>Files: sipmsg.cpp<br/><br/>Products affected: All SIP devices<br/><br/>Risk: No risk
      
      
=== IP-DECT OEM location recovery ===
=== SIP: NOTIFY(message-summary) not handled by PBX ===


{|
{|
Line 2,969: Line 2,833:
|-
|-
|Id
|Id
|[http://mantis.innovaphone.com/view.php?id=52146 52146]
|[http://mantis.innovaphone.com/view.php?id=51443 51443]
|}
|}
problem: No location cancel acknowledge response message is sent back if the endpoint is unknown. Needed in OEM system.<br/><br/>solution: Location cancel acknowledge response message added.<br/><br/>files: dectradio.cpp.<br/><br/>products affected: All DECT devices.<br/><br/>risk: No risk of collateral damage. OEM devices only.
Problem: NOTIFY(message-summary) was not handled by PBX (server side). Only by phones (client side)<br/><br/>Solution: Implement handling of unsolicited NOTIFY(message-summary) at server side.<br/> <br/>Files: sip.cpp/h<br/><br/>Products affected: PBX with SIP clients<br/><br/>Risk: No risk.  
      
      
=== IP-DECT trap during debugging ===
=== SIP: Send Call-Info header with "answer-after=0" for auto answer signaling ===


{|
{|
Line 2,980: Line 2,844:
|-
|-
|Id
|Id
|[http://mantis.innovaphone.com/view.php?id=52157 52157]
|[http://mantis.innovaphone.com/view.php?id=51554 51554]
|}
|}
problem: Trap occurs if endpoints are listed for debugging in DECT radio.<br/><br/>solution: Pointer check added.<br/><br/>files: dectlocalusers.cpp.<br/><br/>products affected: All DECT devices.<br/><br/>risk: No risk of collateral damage.
Problem: Snom phones (and others) do not support Answer-Mode header (RFC-5373). But they honour "anser-after" parameter in Call-Info header.<br/><br/>Solution: Send Call-Info header with "answer-after" header.<br/> <br/>Files: sipmsg.cpp/h siptrans.cpp<br/><br/>Products affected: All SIP PBXs<br/><br/>Risk: No risk.
   
=== Other new Features ===
=== IP-DECT call counter ===


{|
{|
|Status
|<font><font color="green">Closed</font></font>
|-
|-
|Id
|valign=top nowrap=true|[http://mantis.innovaphone.com/view.php?id=49678 49678]
|[http://mantis.innovaphone.com/view.php?id=52347 52347]
|valign=top nowrap=true|sga
|Media relay  &amp;amp; Exclusive Haken bei SipTrunk
|}
|}
problem: The call counter for maximum cpu load for SRTP should count radio calls and handover-ins together.<br/><br/>solution: Call counter changed. Handover-in calls aren't counted separately.<br/><br/>files: dectradio.cpp.<br/><br/>products affected: All DECT devices.<br/><br/>risk: No risk of collateral damage.
 
      
      
=== IP-DECT call counter busy state ===
== Bug Fixes ==
 
 
=== Other Bug Fixes ===


{|
{|
|Status
|<font><font color="green">Closed</font></font>
|-
|-
|Id
|valign=top nowrap=true|[http://mantis.innovaphone.com/view.php?id=50108 50108]
|[http://mantis.innovaphone.com/view.php?id=52406 52406]
|valign=top nowrap=true|cmu
|Country settings in 'TELx/Physical' cannot select lines containing '+' character
|-
|valign=top nowrap=true|[http://mantis.innovaphone.com/view.php?id=50581 50581]
|valign=top nowrap=true|pme
|Presence on Partner Function Key
|}
|}
problem: The last possible call from master is not accepted by DECT because the DECT is switched to busy state before sending this call setup.<br/><br/>solution: Sequence of signaling setup and busy message changed.<br/><br/>files: dectradio.h, dectradio.cpp.<br/><br/>products affected: All DECT devices.<br/><br/>risk: Minimal risk of collateral damage.  
 
   
= V8 Hotfix  3 =
Fixes included in Version 8 hotfix2
[http://mantis.innovaphone.com/view.php?id=51967 Definition]
 
== New Features ==
 
 
      
      
=== IP-DECT OEM protocol memory leaks ===
=== Option added to configure DTMF detection sensitivy ===


{|
{|
Line 3,013: Line 2,889:
|-
|-
|Id
|Id
|[http://mantis.innovaphone.com/view.php?id=52466 52466]
|[http://mantis.innovaphone.com/view.php?id=52879 52879]
|}
|}
problem: There are memory leaks if Skinny protocol is used.<br/><br/>solution: Cleanup fixed.<br/><br/>files: skinny.h, skinny.cpp, skinny_signaling.cpp, skinny_translation.cpp.<br/><br/>products affected: All DECT devices.<br/><br/>risk: Minimal risk of collateral damage.
problem: sporadic false DTMF detect<br/><br/>solution: Option added to configure DTMF detection sensitivy. Use <br/> config change AC-DSP0 /dtmf-threshold <val><br/> config write<br/> reset <br/>to change the sensitivity. <br/>0 selects -38dBm ( default), <br/>1 selects -28dBm, <br/>2 selects -33dBm,<br/>3 selects -43dBm, <br/>4 selects -48dBm<br/>During boot a non-default sensitivity is shown in the trace<br/><br/>files: ac_dsp2.cpp/h ac48xlo.c ac48xdef.h <br/><br/>products: ip800 ip6000<br/><br/>
      
      
=== IP-DECT IP6000  DECT module ===
=== PBX dtmf object selects wrong mobility user for feature codes ===


{|
{|
Line 3,024: Line 2,900:
|-
|-
|Id
|Id
|[http://mantis.innovaphone.com/view.php?id=52486 52486]
|[http://mantis.innovaphone.com/view.php?id=51811 51811]
|}
|}
problem: Unused OEM DECT module should not be available in IP6000.<br/><br/>solution: Configuration changed.<br/><br/>files: config.h, changed OEM files, removed files.<br/><br/>products affected: All DECT devices.<br/><br/>risk: Minimal risk of collateral damage.
Problem: e.g. calling cfu activate activates cfu on any user with a mobility fork and not just on the mobility user who is calling<br/><br/>Solution: use correct number to determine mobility user<br/><br/>Files: pbx_dtmf.cpp<br/><br/>Risk: no risk
      
      
=== IP-DECT BMC trace off command ===
=== PBX dtmf/icp object couldn't assign e164 without node/pbx if another object already has this e164 ===


{|
{|
|Status
|Status
|<font><font color="orange">To-decide</font></font>
|<font><font color="green">Closed</font></font>
|-
|-
|Id
|Id
|[http://mantis.innovaphone.com/view.php?id=52528 52528]
|[http://mantis.innovaphone.com/view.php?id=51812 51812]
|}
|}
problem: The BMC should be able to stop the trace for debugging.<br/><br/>solution: BMC message and handler added.<br/><br/>files: dect.h, dect.cpp.<br/><br/>products affected: All OEM DECT devices.<br/><br/>risk: No risk of collateral damage.
Problem: setting an e164 for features in an object without node/pbx didn't work if another object already had this number, but with configured node/pbx<br/><br/>Solution: use a new method for determining existing e164<br/><br/>Files: pbx_dtmf.cpp, pbx_icp.cpp, pbx.cpp, pbx.h, pbx_api.h<br/><br/>Risk: no risk  
      
      
=== IP-DECT interface functions for OEM modules ===
=== Ignore calls from gateway objects to dtmf object if no mobility user is found for incoming number ===


{|
{|
|Status
|Status
|<font><font color="orange">To-decide</font></font>
|<font><font color="green">Closed</font></font>
|-
|-
|Id
|Id
|[http://mantis.innovaphone.com/view.php?id=52920 52920]
|[http://mantis.innovaphone.com/view.php?id=51871 51871]
|}
|}
problem: New interface functions for OEM modules needed.<br/><br/>solution: Interface functions added.<br/><br/>files: dectusers_if.h, dectusers.h, decctmaster_if.h.<br/><br/>products affected: All DECT devices.<br/><br/>risk: No risk of collateral damage.
Problem: If one would call the dtmf object over a gateway object and no mobility user is found for the caller, the feature codes would be applied to the gateway object.<br/><br/>Solution: Reject calls over gateway objects without mobility user for incoming number.<br/><br/>Files: pbx_dtmf.cpp<br/><br/>Risk: no risk  
      
      
=== HTTP client head request waits for data ===
=== innovaphone endpoints which do not support group indications can turn off sending of group indications in PBX ===


{|
{|
|Status
|Status
|<font><font color="red">Assigned</font></font>
|<font><font color="green">Closed</font></font>
|-
|-
|Id
|Id
|[http://mantis.innovaphone.com/view.php?id=51978 51978]
|[http://mantis.innovaphone.com/view.php?id=51799 51799]
|}
|}
problem: HTTP client head request waits for data since a content_len is set in the HTTP header. That data is not sent during a head request<br/><br/>solution: ignore content-len header on a head request<br/><br/>files: httpclient_i.cpp <br/><br/>products: all<br/><br/>risks: low risk  
problem: High load can be generated by group indications on endpoints which do not support group indications (e.g. IP-DECT).<br/><br/>solution: These endpoints can turn off sending of group indications in the PBX<br/><br/>files: gk.cpp, pbx_api.h, pbx.cpp, pbx_gi.cpp, h323sig.cpp, h323ras.cpp, h323.h, voip.h, dectmaster.cpp<br/><br/>products: all<br/><br/>risks: Small risk of collateral damage
      
      
=== DSP fix sporadic trap ===
=== Potential trap when disconnecting call, WEBMEDIA-CH.5 default(82c09798): serial_event(814) ===


{|
{|
|Status
|Status
|<font><font color="red">Assigned</font></font>
|<font><font color="orange">To-decide</font></font>
|-
|-
|Id
|Id
|[http://mantis.innovaphone.com/view.php?id=52247 52247]
|[http://mantis.innovaphone.com/view.php?id=51945 51945]
|}
|}
problem: sporadic trap in ac-dsp, defect return address<br/><br/>solution: fax buffer size increased, buffer check added, dsp receive packet relase done later <br/><br/>files: ac_fax2.cpp ac_dsp2.cpp<br/><br/>products: ip800 ip6000 ip1200 ip1201 ip4001<br/><br/>risks: low risk
problem: Under special timing conditions a trap could happen during call disconnect. This only happened if the call terminated at a physical interface on the given box.<br/><br/>solution: Cleaning up of media channel fixed<br/><br/>files: media.cpp, media.h, medialib.h<br/><br/>products: all<br/><br/>risks: Other problems with media negotiation
      
      
=== DHCP client must check if an address provided by the server or a kept/reused address  is not already in use ===
=== PBX: Filter needed for Gateway or Trunk objects ===


{|
{|
Line 3,079: Line 2,955:
|-
|-
|Id
|Id
|[http://mantis.innovaphone.com/view.php?id=52076 52076]
|[http://mantis.innovaphone.com/view.php?id=51947 51947]
|}
|}
problem: some DHCP servers may deliver addresses which are already used by another device in the network. This may happen if the server does not check the addresses before delivery and either the server crashed and forgot previous assignments or there is a statically configured device with this address in the network<br/><br/>solution: if there is ARP reply for the provided address send a DHCPDECLINE to the server and restart discovery<br/><br/>files: dhcp.cpp, dhcp.h, arp_p.cpp<br/><br/>products: all<br/><br/>riscs: none
problem: Filter configuration was removed from the user interface of Trunk and Gateway objects, but there are applications for which Filters are needed for these objects.<br/><br/>solution: Filter configuration added for Trunk and Gateway<br/><br/>files: pbx_edit_trunk.xsl, pbx_edit_gw.xsl<br/><br/>products: all with PBX<br/><br/>risks: None
''Status:''
checked in to 8.00
      
      
=== socket bind/connect sometimes failed because of  duplicate assignment of local wildcard port ===
=== PBX: Successive diversion activate/deactivate and dynamic group status sometimes failed ===


{|
{|
|Status
|Status
|<font><font color="orange">To-decide</font></font>
|<font><font color="green">Closed</font></font>
|-
|-
|Id
|Id
|[http://mantis.innovaphone.com/view.php?id=52341 52341]
|[http://mantis.innovaphone.com/view.php?id=52037 52037]
|}
|}
problem: a local wildcard port could be assigned twice in case a socket using this port did exist over a period where all port numbers above and below this number had been assigned once.<br/><br/>solution: fix in code<br/><br/>files: tcp.cpp, tcp.h<br/><br/>products: all<br/><br/>riscs: none<br/>
problem: If a diversion activate/deactivate from an endpoint arrived before the last was written to flashdir, update was performed based on information in dram not information being written into flash<br/><br/>solution: Update information in dram before writing to flashdir<br/><br/>files: pbx.cpp, pbx.h, pbx_api.h, pbx_dtmf.cpp<br/><br/>products: all with PBX<br/><br/>risks: Collateral damage with diversion/dynamic group updates
''Status:''
checked in to 9.00,8.00
      
      
=== local call forwarding on busy for already alerting calls ===
=== H.323 RAS Registration thru NAT to PBX does not work with password ===


{|
{|
|Status
|Status
|<font><font color="orange">To-decide</font></font>
|<font><font color="green">Closed</font></font>
|-
|-
|Id
|Id
|[http://mantis.innovaphone.com/view.php?id=52541 52541]
|[http://mantis.innovaphone.com/view.php?id=52126 52126]
|}
|}
problem: local call forwarding on busy was supported only for calls rejected with cause busy before entering alerting state, i.e. when call waiting was disabled and the phone was busy with another call. there seems to be a need to forward already alerting calls too when the disconnect button is  pressed to get rid of the call. <br/><br/>solution: implement in code<br/><br/>files: phonesig.cpp<br/><br/>products: all phones<br/><br/>riscs: none, only used when local call forwarding is enabled
problem: If registration with password is done, the client is sending a GatekeeperRequest as first message. Response to this message is sent to the (private) address contained in the message itself and not to source address<br/><br/>solution: Send response back to source<br/><br/>files: h323ras.cpp, h323.h<br/><br/>products: all<br/><br/>risks: Minimal
''Status:''
checked in to 9.00,8.00
      
      
=== phone: DHCP configuration of a non-automatic primary registration fails when the registration is created before DHCP completion ===
=== Gateway: Potential Trap with collision of transfer an call clearing ===


{|
{|
|Status
|Status
|<font><font color="orange">To-decide</font></font>
|<font><font color="green">Closed</font></font>
|-
|-
|Id
|Id
|[http://mantis.innovaphone.com/view.php?id=52543 52543]
|[http://mantis.innovaphone.com/view.php?id=52213 52213]
|}
|}
problem: when DHCP completed after creation of a non-automatic primary registration some parameters provided in phonesig_if::create_phone_reg() were overriden (non-automatic primary registration: a primary registration not created automatically by phonesig.cpp with the parameters given on the "config change PHONE SIG ..." command line but by an application).  <br/><br/>solution: fix in code<br/><br/>files: phonesig.cpp<br/><br/>products: all phones<br/><br/>riscs: none<br/>
problem: If a transfer is attempted to a call to the gateway at the same time this call is release an NULL pointer access could happen<br/><br/>solution: Check for this situation added<br/><br/>files: gk.cpp<br/><br/>products: all with gateway<br/><br/>risks: Nonen
''Status:''
checked in to 9.00,8.00
      
      
=== phone: names containing non-ascii characters entered in the registration menu of secondary registrations are garbled ===
=== Allow to limit license usage of slave PBX ===


{|
{|
|Status
|Status
|<font><font color="orange">To-decide</font></font>
|<font><font color="green">Closed</font></font>
|-
|-
|Id
|Id
|[http://mantis.innovaphone.com/view.php?id=52674 52674]
|[http://mantis.innovaphone.com/view.php?id=52238 52238]
|}
|}
problem: if any name containing non-ascii characters was entered in the registration menu of a secondary registration (Registration 2...6/Registration) the text was stored in wrong encoding. in this case it was not not possible to register via 'Name' or to access a gatekeeper via 'Gatekeeper Identifier'.<br/><br/>solution: fix in code<br/><br/>files: phonesig_if.cpp, phonesig_if.h, phone_edit.cpp, phonesig.cpp, phonesig.h, app_fkey.cpp<br/><br/>products: all phones<br/><br/>riscs: none<br/>
problem: In some configuration it is desireable that it can be ensured, that a slave PBX cannot use up too many licenses from the master. This is esspecially the case with dynamic slave PBXs managed by the customer in a hosted environment.<br/><br/>solution: Limits configurable by admin login to the Host box only<br/><br/>files: pbx.cpp, pbx.h, pbx_general.xsl, config_options.cpp, config_options.h<br/><br/>products: all with PBX<br/><br/>risks: Risk of collateral damage, no trivial fix.
''Status:''
      
checked in to 9.00,8.00
=== innovaphone parameters were not sent with H.323 ras registration confirm, if the confirm was lost the first time ===
      
=== phone: passwords containing non-ascii characters did not work for the primary registration ===


{|
{|
|Status
|Status
|<font><font color="orange">To-decide</font></font>
|<font><font color="green">Closed</font></font>
|-
|-
|Id
|Id
|[http://mantis.innovaphone.com/view.php?id=52788 52788]
|[http://mantis.innovaphone.com/view.php?id=52240 52240]
|}
|}
problem: if a password containing non-ascii characters was entered in the registration menu of a primary registration (Registration 1) the password was stored in wrong encoding and thus did not match the password configured at PBX. <br/><br/>solution: fix in code<br/><br/>files: phonesig_if.cpp, phonesig_if.h, phone_edit.cpp, phonesig.cpp, phonesig.h, app_fkey.cpp<br/><br/>products: all phones<br/><br/>riscs: none<br/>
problem: If a RasRegistrationRequest needed to be retransmitted, because the RegistrationConfirm was lost, the second RegistrationConfirm did not contain innovaphone parameters and the client did not detect it was connected to a innovaphone PBX/Gatekeeper.<br/><br/>solution: Send innovaphone parameters in this case also<br/><br/>files: h323.h, h323ras.cpp<br/><br/>products: all<br/><br/>risks: None
''Status:''
checked in to 9.00,8.00
      
      
=== directory entries displayed duplicate when using delayed input with slow LDAP-servers ===
=== Potential hanging h323 signaling (Mem Leak) on collision of removing a signaling entity with outg. call ===


{|
{|
|Status
|Status
|<font><font color="orange">To-decide</font></font>
|<font><font color="green">Closed</font></font>
|-
|-
|Id
|Id
|[http://mantis.innovaphone.com/view.php?id=52877 52877]
|[http://mantis.innovaphone.com/view.php?id=52252 52252]
|}
|}
problem: with delayed keyboard input the number of queries sent to the LDAP server when typing a name is reduced. The first query is sent after the number of characters configured by 'delay-count' or the timeout configured by 'delay-ticks'. If another character was typed before the response arrived a new search was started but the previous search results were not cleared.<br/><br/>solution: fix in code<br/><br/>files: phone_dir_ui.cpp<br/><br/>products: all phones<br/><br/>riscs: none<br/>
problem: If a signaling entity is being removed (e.g. by configuration change) and at the same time an outgoing call is attempted at this interface, it could happen that the remove of the signaling interface failed.<br/><br/>solution: handle this collision<br/><br/>files: h323sig.cpp<br/><br/>products: all<br/><br/>risks: None
''Status:''
checked in to 7.00,8.00,9.00
      
      
=== Trap of PBX when relasing webmedia call ===
=== Avoid reboot when reading traces, if trap happens after firmware update ===


{|
{|
Line 3,170: Line 3,032:
|-
|-
|Id
|Id
|[http://mantis.innovaphone.com/view.php?id=51938 51938]
|[http://mantis.innovaphone.com/view.php?id=52311 52311]
|}
|}
Problem: Trap when releasing a webmedia call (MOH, WQ announcement, Voicemail, etc).<br/><br/>Solution: Don't give events to channel object after CHANNEL_DISCONNECT.<br/> <br/>Files: dummysig.cpp<br/><br/>Products affected: All PBX devices<br/><br/>Risk: No risk.
problem: If a firmware update is done and before a regular restart a trap happens, the next reading of the trace buffer could generate another trap, because firmware dependent content is accessed in trace buffer.<br/><br/>solution: Avoid trap, by reading save info only from trace buffer in this case<br/><br/>files: debug.cpp, debug.h, arm.cpp, mips.cpp<br/><br/>products: all<br/><br/>risks: None
      
      
=== ISDN: Call completion could not be activated at point-to-point interfaces ===
=== PBX: Potential Trap if changing groups ===


{|
{|
|Status
|Status
|<font><font color="orange">To-decide</font></font>
|<font><font color="green">Closed</font></font>
|-
|-
|Id
|Id
|[http://mantis.innovaphone.com/view.php?id=51990 51990]
|[http://mantis.innovaphone.com/view.php?id=52312 52312]
|}
|}
Problem: Call completion could not be activated at point-to-point interfaces. ccbs_T_Request was badly encoded.<br/><br/>Solution: Fixed encoding ccbs_T_Request and added handling of ccbs_T_RequestResult.<br/><br/>Files: q932asn1.cpp relay.cpp q950.cpp/h fty.h<br/><br/>Products affected: BRI Gateways<br/><br/>Risk: No risk.
problem: If group memberships are changed esspecially at Waiting Queues or Waiting Queue operators a trap could happen, because PBX internal information could get inconsistent.<br/><br/>solution: Fixed update of internal information<br/><br/>files: pbx.cpp<br/><br/>products: all with PBX<br/><br/>risks: Other traps, complex operations, so it is possibly still wrong
      
      
=== Phone: Mis-configuration may cause phone to try presence subscription for nobody ===
=== PBX: Unknown Registrations did not display name _UNKNOWN_ on the phone anymore ===


{|
{|
Line 3,192: Line 3,054:
|-
|-
|Id
|Id
|[http://mantis.innovaphone.com/view.php?id=51838 51838]
|[http://mantis.innovaphone.com/view.php?id=52417 52417]
|}
|}
Problem: Configuring a partner fkey without specifying partner's name or number causes the phone to subscribe for presence without name or number.<br/><br/>Solution: Never try to subscribe for presence without name or number.<br/> <br/>Files: phonesig.cpp<br/><br/>Products affected: All phones<br/><br/>Risk: No risk.
problem: By accident the name _UNKNOWN_ was removed for unknown registration<br/><br/>solution: Name _UNKNOWN_ added<br/><br/>files: pbx.cpp<br/><br/>products: all with PBX<br/><br/>risks: None
      
      
=== Phone: Presence fkey disappears and cannot be configured ===
=== PBX SOAP FindUser did not work correctly with users not in root node ===


{|
{|
Line 3,203: Line 3,065:
|-
|-
|Id
|Id
|[http://mantis.innovaphone.com/view.php?id=52036 52036]
|[http://mantis.innovaphone.com/view.php?id=52498 52498]
|}
|}
Problem: An already configured fkey "Presence" disappears and cannot be configured after uploading hotfix2.<br/><br/>Solution: Fixed presence fkey.<br/><br/>Files: phone_config.cpp phone_edit.cpp<br/><br/>Products affected: All phones<br/><br/>Risk: No risk.
problem: A library function adding prefixes to a number did not work correctly. This was used within the FindUser SOAP function of the PBX<br/><br/>solution: library function fixed<br/><br/>files: q931lib.cpp<br/><br/>products: all<br/><br/>risks: None
      
      
=== SIP: Unsolicited NOTIFY(message-summary) not handled ===
=== H.323 Signal IE when sent once during a call, was then sent with each subsequent message ===


{|
{|
Line 3,214: Line 3,076:
|-
|-
|Id
|Id
|[http://mantis.innovaphone.com/view.php?id=51636 51636]
|[http://mantis.innovaphone.com/view.php?id=52517 52517]
|}
|}
Problem: Unsolicited NOTIFY(message-summary) not handled when received before having tried to subscribe for message-summary.<br/><br/>Solution: Keep last received message-summary and give it to app after subscription was rejected by SIP server.<br/> <br/>Files: sip.cpp/h<br/><br/>Products affected: All phones<br/><br/>Risk: No risk.
problem: A Signal IE sent with one message was repeated with all the messages. This could cause the a Signal IE indicating Ringback sent with Alert was repeated with Disc, so that no busy tone was played with Disc, but Ringback<br/><br/>solution: Send Signal IE once only<br/><br/>files: h323sig.cpp<br/><br/>products: all<br/><br/>risks: Minimal risk of collateral damage
      
      
=== SIP: UPDATE with SDP with "sendrecv" wasn't handled ===
=== Call Intrusion across PBXs did not work ===


{|
{|
|Status
|Status
|<font><font color="green">Closed</font></font>
|<font><font color="orange">To-decide</font></font>
|-
|-
|Id
|Id
|[http://mantis.innovaphone.com/view.php?id=52007 52007]
|[http://mantis.innovaphone.com/view.php?id=52556 52556]
|}
|}
Problem: UPDATE(sendrecv) wasn't handled after UPDATE(sendonly/inactive).<br/><br/>Solution: Fixed handling of UPDATE with SDP.<br/><br/>Files: sip.cpp<br/><br/>Products affected: All SIP devices<br/><br/>Risk: No risk.
problem: If a call was to be intruded with the destination of the intrusion (which is one of the endpoints of the call to be intruded call) on a different PBX the intrusion failed in a strange way, because the intrusion facilities were not correctly forwarded between the PBXs<br/><br/>solution: Fix forwarding of intrusion facilities<br/><br/>files: pbx.cpp, pbx.h, pbx_api.h<br/><br/>products: all with PBX<br/><br/>risks: Small risk of collateral damage with intrusion
      
      
=== SIP: SRTP key changes right after connect ===
=== PBX Trunk automatic disconnect did not work if user was monitored by SOAP ===


{|
{|
Line 3,236: Line 3,098:
|-
|-
|Id
|Id
|[http://mantis.innovaphone.com/view.php?id=52159 52159]
|[http://mantis.innovaphone.com/view.php?id=52574 52574]
|}
|}
Problem: During call establishment with SRTP a re-INVITE is initiated right after connect providing a new SRTP key. It's unnecessary and some equpiment fail to handle change of SRTP key.<br/><br/>Solution: Avoid change of SRTP during call.<br/><br/>Files: sip.cpp/h<br/><br/>Products affected: SIP Gateways<br/><br/>Risk: No risk.
problem: If a user was monitored by SOAP a automatic hangup was not sent to the endpoint<br/><br/>solution: Send automatic hangup<br/><br/>files: pbx.cpp<br/><br/>products: all with PBX<br/><br/>risks: None
      
      
=== SIP: Anonymize remote-party info when sending dialog-info if remote-party calls with CLIR ===
=== Potential trap if HTTP session is closed while command is still pending ===


{|
{|
|Status
|Status
|<font><font color="orange">To-decide</font></font>
|<font><font color="green">Closed</font></font>
|-
|-
|Id
|Id
|[http://mantis.innovaphone.com/view.php?id=52171 52171]
|[http://mantis.innovaphone.com/view.php?id=52576 52576]
|}
|}
Problem: Calling party is seen in dialog-info even if CLIR was set.<br/><br/>Solution: Hide remote party in dialog-info if remote-party calls with CLIR.<br/><br/>Files: sipmsg.cpp<br/><br/>Products affected: PBX serving SIP endpoints<br/><br/>Risk: No risk.
problem: The command processor was deleted in this case without waiting for result of the command<br/><br/>solution: Wait for result until deleting command processor<br/><br/>files: command.cpp, command.h<br/><br/>products: all<br/><br/>risks: Hanging command processors if check wrong
      
      
=== SIP: Trap when using TCP as transport ===
=== IP-DECT/Analog: CC was lost if initiating endpoint busy ===


{|
{|
Line 3,258: Line 3,120:
|-
|-
|Id
|Id
|[http://mantis.innovaphone.com/view.php?id=52209 52209]
|[http://mantis.innovaphone.com/view.php?id=52595 52595]
|}
|}
Problem: Trap when trying to cleanup idle/unused TCP connections.<br/><br/>Solution: Check connection state before initiating connection shutdown.<br/> <br/>Files: siptrans.cpp<br/><br/>Products affected: SIP devices doing SIP over TCP<br/><br/>Risk: No risk.
problem: If with an anlog phone connected to a IP24/28/... gateway or an IP-DECT phone initiated a call-completion but was busy itself at the time the call-completion could be executed, the call-completion was silently discarded<br/><br/>solution: delay call-completion until not busy<br/><br/>files: dtmffty.cpp, dtmffty.h<br/><br/>products: DECT and Analog gateways<br/><br/>risks: Minimal risk of collateral damage
      
      
=== SIP Entity URI in "application/dialog-info+xml" and "application/pidf+xml" was wrong ===
=== Switch-PCM together with Media-Relay caused disconnect of call ===


{|
{|
Line 3,269: Line 3,131:
|-
|-
|Id
|Id
|[http://mantis.innovaphone.com/view.php?id=52246 52246]
|[http://mantis.innovaphone.com/view.php?id=52614 52614]
|}
|}
Problem: The SIP URI in the "entity" attribute was wrong in presence and dialog XML.<br/><br/>Solution: Fix SIP URI in the "entity" attribute.<br/> <br/>Files: sip.cpp/h sip_dialog_info.cpp/h<br/><br/>Products affected: PBXs serving SIP endpoints<br/><br/>Risk: No risk.
problem: If a call from one ISDN interface to another ISDN interface on the same box with Switch-PCM enabled (so that normaly the PCM Switch should be used), was routed thru a PBX with Media-Relay, the call was disconnected.<br/><br/>solution: In case of Media-Relay the PCM-Switch should not be used<br/><br/>files: h323ch.cpp<br/><br/>products: all<br/><br/>risks: None
      
      
=== SIP: Bad REGISTER request was not rejected ===
=== Registration with Name or Number was only possible if Device with hw-id identical to name was configured ===


{|
{|
|Status
|Status
|<font><font color="orange">To-decide</font></font>
|<font><font color="red">Assigned</font></font>
|-
|-
|Id
|Id
|[http://mantis.innovaphone.com/view.php?id=52249 52249]
|[http://mantis.innovaphone.com/view.php?id=52634 52634]
|}
|}
Problem: If an incoming REGISTER request does not contain userpart in To-URI, no response was sent to client.<br/><br/>Solution: Reject with "400 Bad Request".<br/> <br/>Files: sip.cpp sipmsg.h<br/><br/>Products affected: PBXs serving SIP endpoints<br/><br/>Risk: No risk.
problem: In v8 devices were introduced into PBX configuration, which allow much better control of SOAP applications on which devices are used and also a mechanism to prohibt registration by Name or Number was built in. Even if this is useful in some cases, this mechanism was so obscur that it generated problems.<br/><br/>solution: Allow registrtation with name or number again independent of configured devices. If no device is configured with hw-id matching the name of the object, such a registration is associated to the first configured device.<br/><br/>files: pbx.cpp, pbx_admin.cpp<br/><br/>products: all with PBX<br/><br/>risks: In some installation the new feature may have been used already.
      
      
=== SIP: Trap when performing call transfer on ARM based hardware ===
=== PBX Mobility: Unexpected restart if 3 or more mobility destinations configured at a user ===


{|
{|
|Status
|Status
|<font><font color="green">Closed</font></font>
|<font><font color="orange">To-decide</font></font>
|-
|-
|Id
|Id
|[http://mantis.innovaphone.com/view.php?id=52356 52356]
|[http://mantis.innovaphone.com/view.php?id=52782 52782]
|}
|}
Problem: Trap due to alignment error.<br/><br/>Solution: Fix alignment of data.<br/> <br/>Files: sip.cpp<br/><br/>Products affected: ARM based devices talking SIP<br/><br/>Risk: No risk.
problem: The binary tree used to keep track of the mobility calls at a user got corrupted because of a typo in the Mobility object code. For some strange reasons this only happened with 3 ot more mobile destinations<br/><br/>solution: typo corrected<br/><br/>files: pbx_mobility.cpp<br/><br/>products: all with PBX<br/><br/>risks: None
      
      
=== Noise after transfering a waiting queue connection ===
=== PBX Mobility: No media if 3 or more forking/mobility destinations without delay configured ===


{|
{|
Line 3,302: Line 3,164:
|-
|-
|Id
|Id
|[http://mantis.innovaphone.com/view.php?id=52718 52718]
|[http://mantis.innovaphone.com/view.php?id=52783 52783]
|}
|}
Problem: Being connected to a waiting queue announcement; Transfering this call to another endpoint; Transfer destination will hear noise instead of waiting queue announcement (in case of code change only)<br/><br/>Solution: Re-start announcement in matching coder.<br/> <br/>Files: webmedia.cpp/h<br/><br/>Products affected: All PBXs<br/><br/>Risk: No risk.
problem: The media path was not switched correctly when calling mobile endpoints. More or less by accident it worked anyway for the first and the last forking destination<br/><br/>solution: media path switrching fixed<br/><br/>files: pbx_mobility.cpp<br/><br/>products: all with PBX<br/><br/>risks: None
      
      
== Bug Fixes ==
=== PBX Mobility: Trap if consultation call is cleared by remote side and user attempts to switch back to first call ===
 
 
=== Other Bug Fixes ===


{|
{|
|Status
|<font><font color="orange">To-decide</font></font>
|-
|-
|valign=top nowrap=true|'''''[http://mantis.innovaphone.com/view.php?id=51994 51994]'''''
|Id
|valign=top nowrap=true|tac
|[http://mantis.innovaphone.com/view.php?id=52860 52860]
|Bug in v8HF2 - Presence Tasten verschwinden/können nicht angelegt werden.
|-
|valign=top nowrap=true|[http://mantis.innovaphone.com/view.php?id=51618 51618]
|valign=top nowrap=true|afi
|pbx dtmf object without node/pbx can't add number
|}
|}
 
problem: If a consultation call is cleared by remote side an attempt to switch back to the first call (by sending R-Key pattern) leads to a trap<br/><br/>solution: Handle switch back to first call better<br/><br/>files: pbx_mobility.cpp<br/><br/>products: all with PBX<br/><br/>risks: None
      
      
= V8 Release =
=== Kerberos trap when turning off standby PBX with replication ===
This release adds all kind of classic PBX/TAPI Features
[http://mantis.innovaphone.com/view.php?id=15115 Definition]
 
== New Features ==
 
 
   
=== Multiple PBX on a single Gateway (PBX Hosting) ===


{|
{|
|Status
|Status
|<font><font color="green">Closed</font></font>
|<font><font color="orange">To-decide</font></font>
|-
|-
|Id
|Id
|[http://mantis.innovaphone.com/view.php?id=26462 26462]
|[http://mantis.innovaphone.com/view.php?id=52415 52415]
|}
|}
In addition to the statically started (start/stop with reboot) PBX0 there will be dynamic startable Slave PBXs<br/>- config for each PBX in a Flash VAR<br/>- seperate FLASHDIR View for each PBX<br/>- Method to Backup/Restore for a single PBX
problem: The box traps when a standby PBX with LDAP replication is turned off. <br/><br/>solution: Fix event flow in kerberos_ldap_realm_tree.<br/><br/>products: all with PBX<br/><br/>files: kerberos_ldap.cpp, pbx.cpp<br/><br/>risk: no risk known
      
      
=== Application Platform Beta ===
=== mem info for TLS socket ===


{|
{|
|Status
|Status
|<font><font color="green">Closed</font></font>
|<font><font color="orange">To-decide</font></font>
|-
|-
|Id
|Id
|[http://mantis.innovaphone.com/view.php?id=36005 36005]
|[http://mantis.innovaphone.com/view.php?id=52476 52476]
|}
|}
Beta Version of the application platform, which can be used for development purposes. Only selected Hardware will be supported.
description: Implement mem info for tls_socket objects for debugging purposes.<br/><br/>products: all<br/><br/>files: tls.h, tls.cpp<br/><br/>risk: no risk
      
      
=== PBX Mobility Object ===
=== Problems with TLS event handling ===


{|
{|
|Status
|Status
|<font><font color="green">Closed</font></font>
|<font><font color="orange">To-decide</font></font>
|-
|-
|Id
|Id
|[http://mantis.innovaphone.com/view.php?id=38357 38357]
|[http://mantis.innovaphone.com/view.php?id=52537 52537]
|}
|}
- Mobility Object, which can be dialed from mobile phone to get PBX internal dialtone<br/>- Internal features can be invoked using DTMF<br/>- Call presented to SOAP/TAPI as initated from internal object<br/>- use call forking configuration to associate outgoing forked calls to mobility object, so that PBX internal features are available for calls to the mobile device as well<br/><br/>!!! This Feature handles only PBX Object: Software for Mobile Phones is handled separately in other Roadmap Feature!!!
problem: Two problems with the TLS state machine were found: <br/>A) SOCKET_SHUTDOWN from application is ignored if it is received between SOCKET_CONNECT from application and SOCKET_CONNECT_COMPLETE from TCP.<br/>b) When the TCP connection is closed during TLS handshake, TLS tries to send a SOCKET_RECV_RESULT(fin) to the application instead of SOCKET_SHUTDOWN.<br/><br/>solution: fix state machine<br/><br/>products: all<br/><br/>files: tls.cpp, tls.h<br/><br/>risk: risk of damaging applications using TLS
      
      
=== PBX Call Forking ===
=== Control calls without facility elements were forwarded on ISDN ===


{|
{|
|Status
|Status
|<font><font color="green">Closed</font></font>
|<font><font color="orange">To-decide</font></font>
|-
|-
|Id
|Id
|[http://mantis.innovaphone.com/view.php?id=38358 38358]
|[http://mantis.innovaphone.com/view.php?id=52095 52095]
|}
|}
- Forking destinations configurable at a PBX user<br/>- Calls are sent to forking destinations in addition to the normal call<br/>- can be used for OCS integration<br/>- used for mobility integration
Problem: Control calls (calls without media channel) without facility elements were forwarded on ISDN. Seems to causes trouble on some ISDN switches<br/><br/>Solution: Reject control calls without facility elements with cause "Invalid information element contents".<br/> <br/>Files: q931.cpp/h nt_tbl.tbl te_tbl.tbl<br/><br/>Products affected: All gateways<br/><br/>Risk: No risk.
''Status:''
Neuauflage von http://mantis.innovaphone.com/view.php?id=50199<br/><br/>Ich hatte für v8hf2 etwas in relay.cpp gemacht,<br/>damit keine Ctrl-Calls ohne Fty-Elemente ins ISDN geroutet werden.<br/>(Durch Presence-Subscriptions zu externen Teilnehmer passierte das<br/>und hatte eine Vermittlung nachhaltig verwirrt.)<br/><br/>Nun stellt sich heraus, dass das Problem sub-optimal gelöst wurde.<br/>Ich habe den eingegangegen Call gleich ganz released.<br/>Wenn man aber abgehende Calls immer erst über TONE schleift,<br/>dann schlägt mein Hack genau da gnadenlos zu,<br/>und CC-Requests kommen dann nie ins ISDN.<br/>:-(<br/><br/>Erste Idee war, statt zu rejecten, zu re-routen.<br/>Das verhält sich dann etwas besser, aber dann bin ich noch auf etwas gestoßen,<br/>was den ganzen Trick im Relay unmöglich macht:<br/><br/>Wenn an der Route zum ISDN nicht das Interworking-Flag gesetzt ist,<br/>dann reicht das RELAY sehr wohl eine Fty-Liste zum ISDN-Signaling.<br/>Fürs RELAY ist das also kein Ctrl-Call ohne Ftys!<br/>Aber das ISDN-Signaling schmeißt die H450-Ftys trotzdem weg<br/>und jagt den Ctrl-Call ohne Ftys raus.<br/><br/>Erkenntnis:<br/>Man muss sowas doch im Signaling abfangen.<br/>Q931 muss selbst erkennen, dass das kein Sinn mancht und den Ruf<br/>mit einem passenden Cause rejecten.<br/>Dann klappt auch das Re-Routing zum nächsten IF.<br/><br/>/Thomas
      
      
=== Single Sign On ===
=== IP-DECT Master potential trap ===


{|
{|
Line 3,382: Line 3,232:
|-
|-
|Id
|Id
|[http://mantis.innovaphone.com/view.php?id=36000 36000]
|[http://mantis.innovaphone.com/view.php?id=51983 51983]
|}
|}
Currently on all innovaphone boxes within a system the administration accounts are configured locally. So if the admin password shall be changed, it has to be changed on all boxes.<br/>Kerberos shall be used to do the authentication centrally.<br/>If possible an integration into Active Directory will be implemented, so that the Windows Domain account can be used to authenticate for administration.
problem: There is a potential trap if the IP-DECT Master is used in the IP6000.<br/><br/>solution: Condition added.<br/><br/>files: dectmaster.cpp.<br/><br/>products affected: All DECT devices.<br/><br/>risk: Minimal risk of collateral damage.
      
      
=== Operator rework (v8 switchboard) ===
=== H323 potential trap during signaling cleanup ===


{|
{|
Line 3,393: Line 3,243:
|-
|-
|Id
|Id
|[http://mantis.innovaphone.com/view.php?id=19363 19363]
|[http://mantis.innovaphone.com/view.php?id=52030 52030]
|}
|}
only a few new features but make it a little bit more like other operator software.<br/><br/>The complete feature set is still to be defined.
problem: A trap can occur if a call is still active in accept state and its signaling is cleaned-up.<br/><br/>solution: Call membership fixed.<br/><br/>files: h323sig.cpp.<br/><br/>products affected: All devices.<br/><br/>risk: Minimal risk of collateral damage.  
''Status:''
http://wiki.innovaphone.com/index.php?title=Reference8:Innovaphone.switchboard
      
      
=== SIP Presence Federation ===
=== IP-DECT OEM location recovery ===


{|
{|
Line 3,406: Line 3,254:
|-
|-
|Id
|Id
|[http://mantis.innovaphone.com/view.php?id=39234 39234]
|[http://mantis.innovaphone.com/view.php?id=52146 52146]
|}
|}
This feature allows to provide to/obtain from external SIP systems presence information. This is an open standard implemented on other systems as well (e.g. OCS).<br/><br/>Also sipport will be added to obtain local presence information from another system. This way it will be possible to build appications which manage the presence information of the PBX users
problem: No location cancel acknowledge response message is sent back if the endpoint is unknown. Needed in OEM system.<br/><br/>solution: Location cancel acknowledge response message added.<br/><br/>files: dectradio.cpp.<br/><br/>products affected: All DECT devices.<br/><br/>risk: No risk of collateral damage. OEM devices only.
      
      
=== Phone config stored on PBX ===
=== IP-DECT trap during debugging ===


{|
{|
Line 3,417: Line 3,265:
|-
|-
|Id
|Id
|[http://mantis.innovaphone.com/view.php?id=22337 22337]
|[http://mantis.innovaphone.com/view.php?id=52157 52157]
|}
|}
The user config (function keys, ring tones, ...) for the phones shall be stored on the PBX.<br/>There should be phone config objects, which contain standard configs. To a user a phone config can be assigned. Additional config stored at the user shall modify this standard config.<br/>A generic way has to be found how the XML phone config at a user shall be applied to the config from the phone config object without the knowledge of the XML content.
problem: Trap occurs if endpoints are listed for debugging in DECT radio.<br/><br/>solution: Pointer check added.<br/><br/>files: dectlocalusers.cpp.<br/><br/>products affected: All DECT devices.<br/><br/>risk: No risk of collateral damage.
      
      
=== Presence ===
=== IP-DECT call counter ===


{|
{|
Line 3,428: Line 3,276:
|-
|-
|Id
|Id
|[http://mantis.innovaphone.com/view.php?id=27130 27130]
|[http://mantis.innovaphone.com/view.php?id=52347 52347]
|}
|}
The PBX manages presence information from endpoints.<br/>Presence information is received and sent to endpoints with SIP or H.323/H.450
problem: The call counter for maximum cpu load for SRTP should count radio calls and handover-ins together.<br/><br/>solution: Call counter changed. Handover-in calls aren't counted separately.<br/><br/>files: dectradio.cpp.<br/><br/>products affected: All DECT devices.<br/><br/>risk: No risk of collateral damage.  
''Status:''
   
Documentation:<br/>http://wiki-intern.innovaphone.com/index.php?title=Development:Presence
=== IP-DECT call counter busy state ===
=== Other new Features ===


{|
{|
|Status
|<font><font color="green">Closed</font></font>
|-
|-
|valign=top nowrap=true|[http://mantis.innovaphone.com/view.php?id=44735 44735]
|Id
|valign=top nowrap=true|cb
|[http://mantis.innovaphone.com/view.php?id=52406 52406]
|V8 License: Prevent downgrade to V7 if a V8 license needs to be removed from a box
|}
problem: The last possible call from master is not accepted by DECT because the DECT is switched to busy state before sending this call setup.<br/><br/>solution: Sequence of signaling setup and busy message changed.<br/><br/>files: dectradio.h, dectradio.cpp.<br/><br/>products affected: All DECT devices.<br/><br/>risk: Minimal risk of collateral damage.
   
=== IP-DECT OEM protocol memory leaks ===
 
{|
|Status
|<font><font color="orange">To-decide</font></font>
|-
|-
|valign=top nowrap=true|[http://mantis.innovaphone.com/view.php?id=38782 38782]
|Id
|valign=top nowrap=true|dde
|[http://mantis.innovaphone.com/view.php?id=52466 52466]
|PBX Objects: Merge (and eliminate) Quickdial Object into Directory Search Object
|}
|-
problem: There are memory leaks if Skinny protocol is used.<br/><br/>solution: Cleanup fixed.<br/><br/>files: skinny.h, skinny.cpp, skinny_signaling.cpp, skinny_translation.cpp.<br/><br/>products affected: All DECT devices.<br/><br/>risk: Minimal risk of collateral damage.  
|valign=top nowrap=true|[http://mantis.innovaphone.com/view.php?id=1247 1247]
   
|valign=top nowrap=true|gd
=== IP-DECT IP6000  DECT module ===
|Busy on ... Calls/Twin Phones for Executive
 
{|
|Status
|<font><font color="green">Closed</font></font>
|-
|-
|valign=top nowrap=true|[http://mantis.innovaphone.com/view.php?id=26463 26463]
|Id
|valign=top nowrap=true|gd
|[http://mantis.innovaphone.com/view.php?id=52486 52486]
|PBX Hosting: Phones on private Network registered to PBX on public network
|}
problem: Unused OEM DECT module should not be available in IP6000.<br/><br/>solution: Configuration changed.<br/><br/>files: config.h, changed OEM files, removed files.<br/><br/>products affected: All DECT devices.<br/><br/>risk: Minimal risk of collateral damage.
   
=== IP-DECT BMC trace off command ===
 
{|
|Status
|<font><font color="orange">To-decide</font></font>
|-
|-
|valign=top nowrap=true|[http://mantis.innovaphone.com/view.php?id=34874 34874]
|Id
|valign=top nowrap=true|gd
|[http://mantis.innovaphone.com/view.php?id=52528 52528]
|Broadcast: Display original diverting Party as well
|}
problem: The BMC should be able to stop the trace for debugging.<br/><br/>solution: BMC message and handler added.<br/><br/>files: dect.h, dect.cpp.<br/><br/>products affected: All OEM DECT devices.<br/><br/>risk: No risk of collateral damage.
   
=== IP-DECT interface functions for OEM modules ===
 
{|
|Status
|<font><font color="orange">To-decide</font></font>
|-
|-
|valign=top nowrap=true|[http://mantis.innovaphone.com/view.php?id=38147 38147]
|Id
|valign=top nowrap=true|gd
|[http://mantis.innovaphone.com/view.php?id=52920 52920]
|PBX: Route internal calls to ... interface
|}
problem: New interface functions for OEM modules needed.<br/><br/>solution: Interface functions added.<br/><br/>files: dectusers_if.h, dectusers.h, decctmaster_if.h.<br/><br/>products affected: All DECT devices.<br/><br/>risk: No risk of collateral damage.
   
=== HTTP client head request waits for data ===
 
{|
|Status
|<font><font color="red">Assigned</font></font>
|-
|-
|valign=top nowrap=true|[http://mantis.innovaphone.com/view.php?id=40874 40874]
|Id
|valign=top nowrap=true|gd
|[http://mantis.innovaphone.com/view.php?id=51978 51978]
|Tunneling of sdp thru H.323 to allow sip/video accross locations
|}
problem: HTTP client head request waits for data since a content_len is set in the HTTP header. That data is not sent during a head request<br/><br/>solution: ignore content-len header on a head request<br/><br/>files: httpclient_i.cpp <br/><br/>products: all<br/><br/>risks: low risk
   
=== DSP fix sporadic trap  ===
 
{|
|Status
|<font><font color="red">Assigned</font></font>
|-
|-
|valign=top nowrap=true|[http://mantis.innovaphone.com/view.php?id=42421 42421]
|Id
|valign=top nowrap=true|gd
|[http://mantis.innovaphone.com/view.php?id=52247 52247]
|Voice Recording in medialib
|}
problem: sporadic trap in ac-dsp, defect return address<br/><br/>solution: fax buffer size increased, buffer check added, dsp receive packet relase done later <br/><br/>files: ac_fax2.cpp ac_dsp2.cpp<br/><br/>products: ip800 ip6000 ip1200 ip1201 ip4001<br/><br/>risks: low risk
   
=== DHCP client must check if an address provided by the server or a kept/reused address  is not already in use ===
 
{|
|Status
|<font><font color="orange">To-decide</font></font>
|-
|-
|valign=top nowrap=true|[http://mantis.innovaphone.com/view.php?id=43572 43572]
|Id
|valign=top nowrap=true|jfr
|[http://mantis.innovaphone.com/view.php?id=52076 52076]
|Ethernet Redundancy with RSTP
|}
problem: some DHCP servers may deliver addresses which are already used by another device in the network. This may happen if the server does not check the addresses before delivery and either the server crashed and forgot previous assignments or there is a statically configured device with this address in the network<br/><br/>solution: if there is ARP reply for the provided address send a DHCPDECLINE to the server and restart discovery<br/><br/>files: dhcp.cpp, dhcp.h, arp_p.cpp<br/><br/>products: all<br/><br/>riscs: none
''Status:''
checked in to 8.00
   
=== socket bind/connect sometimes failed because of  duplicate assignment of local wildcard port ===
 
{|
|Status
|<font><font color="orange">To-decide</font></font>
|-
|-
|valign=top nowrap=true|[http://mantis.innovaphone.com/view.php?id=44096 44096]
|Id
|valign=top nowrap=true|mst
|[http://mantis.innovaphone.com/view.php?id=52341 52341]
|switchboard, italian localization
|}
problem: a local wildcard port could be assigned twice in case a socket using this port did exist over a period where all port numbers above and below this number had been assigned once.<br/><br/>solution: fix in code<br/><br/>files: tcp.cpp, tcp.h<br/><br/>products: all<br/><br/>riscs: none<br/>
''Status:''
checked in to 9.00,8.00
   
=== local call forwarding on busy for already alerting calls ===
 
{|
|Status
|<font><font color="orange">To-decide</font></font>
|-
|-
|valign=top nowrap=true|[http://mantis.innovaphone.com/view.php?id=41652 41652]
|Id
|valign=top nowrap=true|tac
|[http://mantis.innovaphone.com/view.php?id=52541 52541]
|Switch off Gateway CDRs completely
|}
problem: local call forwarding on busy was supported only for calls rejected with cause busy before entering alerting state, i.e. when call waiting was disabled and the phone was busy with another call. there seems to be a need to forward already alerting calls too when the disconnect button is  pressed to get rid of the call. <br/><br/>solution: implement in code<br/><br/>files: phonesig.cpp<br/><br/>products: all phones<br/><br/>riscs: none, only used when local call forwarding is enabled
''Status:''
checked in to 9.00,8.00
   
=== phone: DHCP configuration of a non-automatic primary registration fails when the registration is created before DHCP completion ===
 
{|
|Status
|<font><font color="orange">To-decide</font></font>
|-
|-
|valign=top nowrap=true|[http://mantis.innovaphone.com/view.php?id=38471 38471]
|Id
|valign=top nowrap=true|tac
|[http://mantis.innovaphone.com/view.php?id=52543 52543]
|Implementation of Microsoft call forking header in SIP for OCS dual-forking
|}
problem: when DHCP completed after creation of a non-automatic primary registration some parameters provided in phonesig_if::create_phone_reg() were overriden (non-automatic primary registration: a primary registration not created automatically by phonesig.cpp with the parameters given on the "config change PHONE SIG ..." command line but by an application).  <br/><br/>solution: fix in code<br/><br/>files: phonesig.cpp<br/><br/>products: all phones<br/><br/>riscs: none<br/>
''Status:''
checked in to 9.00,8.00
   
=== phone: names containing non-ascii characters entered in the registration menu of secondary registrations are garbled ===
 
{|
|Status
|<font><font color="orange">To-decide</font></font>
|-
|-
|valign=top nowrap=true|[http://mantis.innovaphone.com/view.php?id=43438 43438]
|Id
|valign=top nowrap=true|tac
|[http://mantis.innovaphone.com/view.php?id=52674 52674]
|OCS Federation
|}
problem: if any name containing non-ascii characters was entered in the registration menu of a secondary registration (Registration 2...6/Registration) the text was stored in wrong encoding. in this case it was not not possible to register via 'Name' or to access a gatekeeper via 'Gatekeeper Identifier'.<br/><br/>solution: fix in code<br/><br/>files: phonesig_if.cpp, phonesig_if.h, phone_edit.cpp, phonesig.cpp, phonesig.h, app_fkey.cpp<br/><br/>products: all phones<br/><br/>riscs: none<br/>
''Status:''
checked in to 9.00,8.00
   
=== phone: passwords containing non-ascii characters did not work for the primary registration ===
 
{|
|Status
|<font><font color="orange">To-decide</font></font>
|-
|-
|valign=top nowrap=true|[http://mantis.innovaphone.com/view.php?id=44718 44718]
|Id
|valign=top nowrap=true|tac
|[http://mantis.innovaphone.com/view.php?id=52788 52788]
|FR: repeat=integer URL für webmedia/WQ
|}
|-
problem: if a password containing non-ascii characters was entered in the registration menu of a primary registration (Registration 1) the password was stored in wrong encoding and thus did not match the password configured at PBX. <br/><br/>solution: fix in code<br/><br/>files: phonesig_if.cpp, phonesig_if.h, phone_edit.cpp, phonesig.cpp, phonesig.h, app_fkey.cpp<br/><br/>products: all phones<br/><br/>riscs: none<br/>
|valign=top nowrap=true|[http://mantis.innovaphone.com/view.php?id=10943 10943]
''Status:''
|valign=top nowrap=true|tsr
checked in to 9.00,8.00
|Call-Completion interworking to ISDN (CCB, CCNR)
   
=== directory entries displayed duplicate when using delayed input with slow LDAP-servers ===
 
{|
|Status
|<font><font color="orange">To-decide</font></font>
|-
|-
|valign=top nowrap=true|[http://mantis.innovaphone.com/view.php?id=35814 35814]
|Id
|valign=top nowrap=true|vsi
|[http://mantis.innovaphone.com/view.php?id=52877 52877]
|IP72: lcd light per default an
|}
problem: with delayed keyboard input the number of queries sent to the LDAP server when typing a name is reduced. The first query is sent after the number of characters configured by 'delay-count' or the timeout configured by 'delay-ticks'. If another character was typed before the response arrived a new search was started but the previous search results were not cleared.<br/><br/>solution: fix in code<br/><br/>files: phone_dir_ui.cpp<br/><br/>products: all phones<br/><br/>riscs: none<br/>
''Status:''
checked in to 7.00,8.00,9.00
   
=== Trap of PBX when relasing webmedia call ===
 
{|
|Status
|<font><font color="orange">To-decide</font></font>
|-
|-
|valign=top nowrap=true|[http://mantis.innovaphone.com/view.php?id=39188 39188]
|Id
|valign=top nowrap=true|vsi
|[http://mantis.innovaphone.com/view.php?id=51938 51938]
|New v8 ringing calls display
|}
Problem: Trap when releasing a webmedia call (MOH, WQ announcement, Voicemail, etc).<br/><br/>Solution: Don't give events to channel object after CHANNEL_DISCONNECT.<br/> <br/>Files: dummysig.cpp<br/><br/>Products affected: All PBX devices<br/><br/>Risk: No risk.
   
=== ISDN: Call completion could not be activated at point-to-point interfaces ===
 
{|
|Status
|<font><font color="orange">To-decide</font></font>
|-
|-
|valign=top nowrap=true|[http://mantis.innovaphone.com/view.php?id=39381 39381]
|Id
|valign=top nowrap=true|gd
|[http://mantis.innovaphone.com/view.php?id=51990 51990]
|use H.323 hop_count to stop call loops
|}
Problem: Call completion could not be activated at point-to-point interfaces. ccbs_T_Request was badly encoded.<br/><br/>Solution: Fixed encoding ccbs_T_Request and added handling of ccbs_T_RequestResult.<br/><br/>Files: q932asn1.cpp relay.cpp q950.cpp/h fty.h<br/><br/>Products affected: BRI Gateways<br/><br/>Risk: No risk.
   
=== Phone: Mis-configuration may cause phone to try presence subscription for nobody ===
 
{|
|Status
|<font><font color="green">Closed</font></font>
|-
|-
|valign=top nowrap=true|[http://mantis.innovaphone.com/view.php?id=40288 40288]
|Id
|valign=top nowrap=true|mst
|[http://mantis.innovaphone.com/view.php?id=51838 51838]
|Switchboard, Reverse-LDAP Lookup Support for Estos Metadir
|}
Problem: Configuring a partner fkey without specifying partner's name or number causes the phone to subscribe for presence without name or number.<br/><br/>Solution: Never try to subscribe for presence without name or number.<br/> <br/>Files: phonesig.cpp<br/><br/>Products affected: All phones<br/><br/>Risk: No risk.
   
=== Phone: Presence fkey disappears and cannot be configured ===
 
{|
|Status
|<font><font color="orange">To-decide</font></font>
|-
|-
|valign=top nowrap=true|[http://mantis.innovaphone.com/view.php?id=40404 40404]
|Id
|valign=top nowrap=true|mst
|[http://mantis.innovaphone.com/view.php?id=52036 52036]
|Switchboard, Localization
|}
Problem: An already configured fkey "Presence" disappears and cannot be configured after uploading hotfix2.<br/><br/>Solution: Fixed presence fkey.<br/><br/>Files: phone_config.cpp phone_edit.cpp<br/><br/>Products affected: All phones<br/><br/>Risk: No risk.
   
=== SIP: Unsolicited NOTIFY(message-summary) not handled ===
 
{|
|Status
|<font><font color="orange">To-decide</font></font>
|-
|-
|valign=top nowrap=true|[http://mantis.innovaphone.com/view.php?id=40406 40406]
|Id
|valign=top nowrap=true|mst
|[http://mantis.innovaphone.com/view.php?id=51636 51636]
|Switchboard, Park, De-Park
|}
Problem: Unsolicited NOTIFY(message-summary) not handled when received before having tried to subscribe for message-summary.<br/><br/>Solution: Keep last received message-summary and give it to app after subscription was rejected by SIP server.<br/> <br/>Files: sip.cpp/h<br/><br/>Products affected: All phones<br/><br/>Risk: No risk.
   
=== SIP: UPDATE with SDP with "sendrecv" wasn't handled ===
 
{|
|Status
|<font><font color="green">Closed</font></font>
|-
|-
|valign=top nowrap=true|[http://mantis.innovaphone.com/view.php?id=40636 40636]
|Id
|valign=top nowrap=true|mst
|[http://mantis.innovaphone.com/view.php?id=52007 52007]
|switchboard: Read/Write User Configuration
|}
Problem: UPDATE(sendrecv) wasn't handled after UPDATE(sendonly/inactive).<br/><br/>Solution: Fixed handling of UPDATE with SDP.<br/><br/>Files: sip.cpp<br/><br/>Products affected: All SIP devices<br/><br/>Risk: No risk.
   
=== SIP: SRTP key changes right after connect ===
 
{|
|Status
|<font><font color="orange">To-decide</font></font>
|-
|-
|valign=top nowrap=true|[http://mantis.innovaphone.com/view.php?id=41109 41109]
|Id
|valign=top nowrap=true|mst
|[http://mantis.innovaphone.com/view.php?id=52159 52159]
|Switchboard, Persist Window Size+Position, Some Column-Widths
|}
Problem: During call establishment with SRTP a re-INVITE is initiated right after connect providing a new SRTP key. It's unnecessary and some equpiment fail to handle change of SRTP key.<br/><br/>Solution: Avoid change of SRTP during call.<br/><br/>Files: sip.cpp/h<br/><br/>Products affected: SIP Gateways<br/><br/>Risk: No risk.
   
=== SIP: Anonymize remote-party info when sending dialog-info if remote-party calls with CLIR ===
 
{|
|Status
|<font><font color="orange">To-decide</font></font>
|-
|-
|valign=top nowrap=true|[http://mantis.innovaphone.com/view.php?id=41108 41108]
|Id
|valign=top nowrap=true|mst
|[http://mantis.innovaphone.com/view.php?id=52171 52171]
|Switchboard, Forward-LDAP Lookup Support for Estos Metadir
|}
Problem: Calling party is seen in dialog-info even if CLIR was set.<br/><br/>Solution: Hide remote party in dialog-info if remote-party calls with CLIR.<br/><br/>Files: sipmsg.cpp<br/><br/>Products affected: PBX serving SIP endpoints<br/><br/>Risk: No risk.
   
=== SIP: Trap when using TCP as transport ===
 
{|
|Status
|<font><font color="orange">To-decide</font></font>
|-
|-
|valign=top nowrap=true|[http://mantis.innovaphone.com/view.php?id=4326 4326]
|Id
|valign=top nowrap=true|ckl
|[http://mantis.innovaphone.com/view.php?id=52209 52209]
|First und Last Diverting party in leg2 Info
|}
Problem: Trap when trying to cleanup idle/unused TCP connections.<br/><br/>Solution: Check connection state before initiating connection shutdown.<br/> <br/>Files: siptrans.cpp<br/><br/>Products affected: SIP devices doing SIP over TCP<br/><br/>Risk: No risk.
   
=== SIP Entity URI in "application/dialog-info+xml" and "application/pidf+xml" was wrong ===
 
{|
|Status
|<font><font color="orange">To-decide</font></font>
|-
|-
|valign=top nowrap=true|[http://mantis.innovaphone.com/view.php?id=26584 26584]
|Id
|valign=top nowrap=true|ckl
|[http://mantis.innovaphone.com/view.php?id=52246 52246]
|determination of large pbx dimensioning
|}
Problem: The SIP URI in the "entity" attribute was wrong in presence and dialog XML.<br/><br/>Solution: Fix SIP URI in the "entity" attribute.<br/> <br/>Files: sip.cpp/h sip_dialog_info.cpp/h<br/><br/>Products affected: PBXs serving SIP endpoints<br/><br/>Risk: No risk.
   
=== SIP: Bad REGISTER request was not rejected ===
 
{|
|Status
|<font><font color="orange">To-decide</font></font>
|-
|-
|valign=top nowrap=true|[http://mantis.innovaphone.com/view.php?id=42666 42666]
|Id
|valign=top nowrap=true|mst
|[http://mantis.innovaphone.com/view.php?id=52249 52249]
|operator, freq automatic nightswitch
|}
Problem: If an incoming REGISTER request does not contain userpart in To-URI, no response was sent to client.<br/><br/>Solution: Reject with "400 Bad Request".<br/> <br/>Files: sip.cpp sipmsg.h<br/><br/>Products affected: PBXs serving SIP endpoints<br/><br/>Risk: No risk.
   
=== SIP: Trap when performing call transfer on ARM based hardware ===
 
{|
|Status
|<font><font color="green">Closed</font></font>
|-
|-
|valign=top nowrap=true|[http://mantis.innovaphone.com/view.php?id=7304 7304]
|Id
|valign=top nowrap=true|tac
|[http://mantis.innovaphone.com/view.php?id=52356 52356]
|rfc4235 notifications
|}
Problem: Trap due to alignment error.<br/><br/>Solution: Fix alignment of data.<br/> <br/>Files: sip.cpp<br/><br/>Products affected: ARM based devices talking SIP<br/><br/>Risk: No risk.
   
=== Noise after transfering a waiting queue connection ===
 
{|
|Status
|<font><font color="orange">To-decide</font></font>
|-
|-
|valign=top nowrap=true|[http://mantis.innovaphone.com/view.php?id=7650 7650]
|Id
|valign=top nowrap=true|tac
|[http://mantis.innovaphone.com/view.php?id=52718 52718]
|SIP AOC
|-
|valign=top nowrap=true|[http://mantis.innovaphone.com/view.php?id=46769 46769]
|valign=top nowrap=true|jfr
|display diverting party in addition to calling party on partner and pickup key
|-
|valign=top nowrap=true|[http://mantis.innovaphone.com/view.php?id=42959 42959]
|valign=top nowrap=true|mst
|switchboard, Maximize App' on Call-Connect. Call Info when minimized (a'la Outlook)
|-
|valign=top nowrap=true|[http://mantis.innovaphone.com/view.php?id=32784 32784]
|valign=top nowrap=true|teh
|bc conference object: message support
|}
|}
 
Problem: Being connected to a waiting queue announcement; Transfering this call to another endpoint; Transfer destination will hear noise instead of waiting queue announcement (in case of code change only)<br/><br/>Solution: Re-start announcement in matching coder.<br/> <br/>Files: webmedia.cpp/h<br/><br/>Products affected: All PBXs<br/><br/>Risk: No risk.
      
      
== Bug Fixes ==
== Bug Fixes ==
Line 3,574: Line 3,598:
{|
{|
|-
|-
|valign=top nowrap=true|[http://mantis.innovaphone.com/view.php?id=46167 46167]
|valign=top nowrap=true|'''''[http://mantis.innovaphone.com/view.php?id=51994 51994]'''''
|valign=top nowrap=true|mst
|switchboard, XP Installation abbrechen, wenn .Net CLR &lt; 2.0.50727.1433
|-
|valign=top nowrap=true|[http://mantis.innovaphone.com/view.php?id=13468 13468]
|valign=top nowrap=true|vsi
|blind transfer und FTY_CT_SETUP info ergeben irreführende Anzeige beim Ziel
|-
|valign=top nowrap=true|[http://mantis.innovaphone.com/view.php?id=44177 44177]
|valign=top nowrap=true|vsi
|incoming calls from SIPGATE carry same public number in both alias/name/number
|-
|valign=top nowrap=true|[http://mantis.innovaphone.com/view.php?id=47401 47401]
|valign=top nowrap=true|
|Trap in RELAY on call completion interworking
|-
|valign=top nowrap=true|[http://mantis.innovaphone.com/view.php?id=42951 42951]
|valign=top nowrap=true|mst
|switchboard, multi-registration confusions
|-
|valign=top nowrap=true|[http://mantis.innovaphone.com/view.php?id=40375 40375]
|valign=top nowrap=true|tac
|valign=top nowrap=true|tac
|SIP passwords were limited to 15 characters
|Bug in v8HF2 - Presence Tasten verschwinden/können nicht angelegt werden.
|-
|-
|valign=top nowrap=true|[http://mantis.innovaphone.com/view.php?id=40870 40870]
|valign=top nowrap=true|[http://mantis.innovaphone.com/view.php?id=51618 51618]
|valign=top nowrap=true|tac
|valign=top nowrap=true|afi
|Media negotiation problem on SIP/SIP video calls
|pbx dtmf object without node/pbx can't add number
|-
|valign=top nowrap=true|[http://mantis.innovaphone.com/view.php?id=33570 33570]
|valign=top nowrap=true|tac
|ip72: wifi roaming and IP address changes thru dhcp after reassoc with new wifi network
|}
|}

Revision as of 19:07, 1 June 2010

This is the Firmware V8 Roadmap Document.

This article is generated automatically. Do not edit! Please see the disclaimer before using the information presented here!


V8 Release

This release adds all kind of classic PBX/TAPI Features Definition

New Features

Multiple PBX on a single Gateway (PBX Hosting)

Status Closed
Id 26462

In addition to the statically started (start/stop with reboot) PBX0 there will be dynamic startable Slave PBXs
- config for each PBX in a Flash VAR
- seperate FLASHDIR View for each PBX
- Method to Backup/Restore for a single PBX

Application Platform Beta

Status Closed
Id 36005

Beta Version of the application platform, which can be used for development purposes. Only selected Hardware will be supported.

PBX Mobility Object

Status Closed
Id 38357

- Mobility Object, which can be dialed from mobile phone to get PBX internal dialtone
- Internal features can be invoked using DTMF
- Call presented to SOAP/TAPI as initated from internal object
- use call forking configuration to associate outgoing forked calls to mobility object, so that PBX internal features are available for calls to the mobile device as well

!!! This Feature handles only PBX Object: Software for Mobile Phones is handled separately in other Roadmap Feature!!!

PBX Call Forking

Status Closed
Id 38358

- Forking destinations configurable at a PBX user
- Calls are sent to forking destinations in addition to the normal call
- can be used for OCS integration
- used for mobility integration

Single Sign On

Status Closed
Id 36000

Currently on all innovaphone boxes within a system the administration accounts are configured locally. So if the admin password shall be changed, it has to be changed on all boxes.
Kerberos shall be used to do the authentication centrally.
If possible an integration into Active Directory will be implemented, so that the Windows Domain account can be used to authenticate for administration.

Operator rework (v8 switchboard)

Status Closed
Id 19363

only a few new features but make it a little bit more like other operator software.

The complete feature set is still to be defined. Status: http://wiki.innovaphone.com/index.php?title=Reference8:Innovaphone.switchboard

SIP Presence Federation

Status Closed
Id 39234

This feature allows to provide to/obtain from external SIP systems presence information. This is an open standard implemented on other systems as well (e.g. OCS).

Also sipport will be added to obtain local presence information from another system. This way it will be possible to build appications which manage the presence information of the PBX users

Phone config stored on PBX

Status Closed
Id 22337

The user config (function keys, ring tones, ...) for the phones shall be stored on the PBX.
There should be phone config objects, which contain standard configs. To a user a phone config can be assigned. Additional config stored at the user shall modify this standard config.
A generic way has to be found how the XML phone config at a user shall be applied to the config from the phone config object without the knowledge of the XML content.

Presence

Status Closed
Id 27130

The PBX manages presence information from endpoints.
Presence information is received and sent to endpoints with SIP or H.323/H.450 Status: Documentation:
http://wiki-intern.innovaphone.com/index.php?title=Development:Presence

Other new Features

44735 cb V8 License: Prevent downgrade to V7 if a V8 license needs to be removed from a box
38782 dde PBX Objects: Merge (and eliminate) Quickdial Object into Directory Search Object
1247 gd Busy on ... Calls/Twin Phones for Executive
26463 gd PBX Hosting: Phones on private Network registered to PBX on public network
34874 gd Broadcast: Display original diverting Party as well
38147 gd PBX: Route internal calls to ... interface
40874 gd Tunneling of sdp thru H.323 to allow sip/video accross locations
42421 gd Voice Recording in medialib
43572 jfr Ethernet Redundancy with RSTP
44096 mst switchboard, italian localization
41652 tac Switch off Gateway CDRs completely
38471 tac Implementation of Microsoft call forking header in SIP for OCS dual-forking
43438 tac OCS Federation
44718 tac FR: repeat=integer URL für webmedia/WQ
10943 tsr Call-Completion interworking to ISDN (CCB, CCNR)
35814 vsi IP72: lcd light per default an
39188 vsi New v8 ringing calls display
39381 gd use H.323 hop_count to stop call loops
40288 mst Switchboard, Reverse-LDAP Lookup Support for Estos Metadir
40404 mst Switchboard, Localization
40406 mst Switchboard, Park, De-Park
40636 mst switchboard: Read/Write User Configuration
41109 mst Switchboard, Persist Window Size+Position, Some Column-Widths
41108 mst Switchboard, Forward-LDAP Lookup Support for Estos Metadir
4326 ckl First und Last Diverting party in leg2 Info
26584 ckl determination of large pbx dimensioning
42666 mst operator, freq automatic nightswitch
7304 tac rfc4235 notifications
7650 tac SIP AOC
46769 jfr display diverting party in addition to calling party on partner and pickup key
42959 mst switchboard, Maximize App' on Call-Connect. Call Info when minimized (a'la Outlook)
32784 teh bc conference object: message support


Bug Fixes

Other Bug Fixes

46167 mst switchboard, XP Installation abbrechen, wenn .Net CLR < 2.0.50727.1433
13468 vsi blind transfer und FTY_CT_SETUP info ergeben irreführende Anzeige beim Ziel
44177 vsi incoming calls from SIPGATE carry same public number in both alias/name/number
47401 Trap in RELAY on call completion interworking
42951 mst switchboard, multi-registration confusions
40375 tac SIP passwords were limited to 15 characters
40870 tac Media negotiation problem on SIP/SIP video calls
33570 tac ip72: wifi roaming and IP address changes thru dhcp after reassoc with new wifi network


V8 Hotfix 1 (10-80500.01)

Fixes included in Version 8 hotfix1 Definition

New Features

incorrect pointer assignment in submit_config of dtmf/icp object and false configuration possibility

Status Closed
Id 47716

problem: a) local buffer assigned to a given pointer
b) it was possible to configure just one of two needed e164 and if configured just one (which makes sense for pickup), the code was not correctly shown as enabled in configuration window.

solution: fix in code

files: pbx_dtmf.h, pbx_dtmf.cpp, pbx_edit_dtmf-ctrl.xsl, pbx_icp.cpp

products: all pbx products

risks: None

dtmf feature code set presence used wrong argument to toggle the mobility

Status Closed
Id 47916

problem: the feature code argument for toggling mobility was swapped

solution: use correct argument index

files: pbx_dtmf.cpp

products: all pbx devices

risks: None

no presence note set if no activity has been selected

Status Closed
Id 48446

problem: if the activity is empty, but a note given, no note was set for this presence index

solution: use note even if no activity is given

files: pbx_dtmf.cpp

products: all pbx devices

risks: None

handle calls from master/slave user in dtmf object if calling number is found as mobility fork

Status Closed
Id 48448

problem: if a call comes from the master/slave user, the dtmf object cancels the call, even if there is a user which has the calling number as mobility fork

solution: check mobility users for incoming master/slave calls and if a user is found, use this one

files: pbx_dtmf.cpp

products: all pbx devices

risks: None

allow empty search base in directory search object

Status Closed
Id 48703

problem: ldap server needs an empty search base, but the directory search object doesn't allow an empty one

solution: disable check for empty search base

files: pbx_dirsearch.cpp

products: all pbx devices

risks: None

Potential trap accessing NULL pointer in PBX Waiting Object

Status Closed
Id 47563

problem: There is a small chance of a NULL pointer access trap when doing confuguration changes on a Waiting Queue object right when a call is cleared

solution: Check for NULL pointer added

files: pbx_wait.cpp

products: all with PBX

risks: None

One-way-voice after retrieve together with SRTP, H323 and Registration with password

Status Closed
Id 48442

problem: One-way-voice could happen after retrieve, if SRTP is used on H.323 call, which uses a refistration with password. This could also happen when switching to a 3-pty conference (retrieve done on one leg). This is caused by an unencrypted SRTP key sent with the media renegotiation.

solution: Do encryption of the SRTP key.

files: h323sig.cpp

products: all

risks: Collateral damage with media negotiation

Display of hardware id missing for UNKNOWN Registrations

Status Closed
Id 48493

problem: The Hardware Id is not displayed for Unknown Registrations on the Registrations page and is not copied into the edit page

solution: User Interface fixed

files: pbx_regs.xsl, pbx_edit_object.xsl

products: All with PBX

risks: None

When pressing apply on PBX Objects Node editor, the editor changed to a PBX editor

Status Closed
Id 48500

problem: After apply the wrong .xsl was used (pbx_edit_loc.xsl instead of pbx_edit_node.xsl)

solution: Use correct .xsl

files: pbx_edit_node.xsl

products: all with PBX

risks: None

Trap if dialing wrong number from mobile phone

Status Closed
Id 48543

problem: A trap happens if a mobile endpoint dials a wrong number and continues to dial when the busy tone is already played.

solution: Better handling of DTMF during playing busy

files: pbx_mobility.cpp

products: all with PBX

risks: Minimal risk of collateral damage

PBX: Trap if filter next config too long

Status Closed
Id 48554

problem: If a PBX Filter is configured with a 'next filter' of a length more then 15 characters the PBX traps

solution: Check for length

files: pbx.cpp

products: all with PBX

risks: none

If for one user two mobile endpoints are configured, no mobile endpoint could be called

Status Closed
Id 48571

problem: Calls to a user with two mobile endpoints resulted in busy. If call-waiting was turned on, only one mobile endpoint was called.

solution: Algorythm to check if a call already exists for a mobile endpoint fixed

files: pbx_mobility.cpp, pbx_mobility.h, pbx.cpp, pbx.h, pbx_api.h, pbx_xml.cpp, pbx_dtmf.cpp

products: all with PBX

risks: Small risk of collateral damage with mobile endpoints

Call-Completion display at called phone not deleted if calling/called in same but not root node

Status Closed
Id 48580

problem: The Call-Completion waiting display at called endpoint was not deleted after execution of call completion if calling and called endpoint in same but not root node. The mwiDeactivate used to deleted the display contained the wrong number. In a previous fix the mwiActivate which was also wrong was fixed, so before this fix it worked, because both contained the same wrong number

solution: Fix number in mwiDeactivate

files: pbx.cpp

products: all with PBX

risks: None

Progress Indicator 'Call not end to end ISDN' sent with each H.323 alert

Status Closed
Id 48597

problem: The PI 'call not end to end isdn' was sent with each H.323 alert. But this progress code also indicates that in-band info is available, so a local ringback is sometimes turned of because of it.

solution: Do not send 'call is not end to end isdn'

files: relay.cpp

products: all gateway products

risk: Could be that some endpoints require this PI

Gateway Routing Table: Routing a call to a Gatekeeper registration using Name Out did not work anymore

Status Closed
Id 48608

problem: When Name Out in a route was used to address a Gatekeeper registration this Name Out was sent with the call. This prohibited further routing of the call on the receiving side with overlap sending.

solution: Do not send Name Out with call if the name is used to identify Gatekeeper reg.

files: relay.cpp

products: all Gateway products

risks: Small risk that this name needs to be transmited for some special configurations

PBX/Node was added to config object when configuration was changed

Status Closed
Id 48612

problem: When the configuration of a config object was changed (e.g. a Function key added to the phone config), the Node and PBX was set to the local PBX. The config object should never have a Node/PBX. The Node/PBX config could not be removed anymore.

solution: Do not add Node/PBX in this case

files: pbx.cpp

products: all with PBX

risks: None

Missing normalization of received diverting leg info

Status Closed
Id 48624

problem: A diverting leg info received on a trunk or gateway object must be normalized to the PBX internal representation (number from root with all prefixes but without escapes) to be displayed correctly when sent to an endpoint. This normalization was missing.

solution: Normalization added.

files: pbx.cpp, pbx.h, pbx_api.h

products: all with PBX

risks: None

PBX: Dialing local objects without PBX config was not possible from different PBX

Status Closed
Id 48692

problem: If an object is defined without PBX and Node, it is handled on each PBX as if it was configured for the local PBX/Node. Thus it should be possible to dial it on a given PBX by using the node prefix of this PBX. This was not possible if the local flag on the object was set as well.

solution: PBX routing fixed

files: pbx.cpp, pbx.h, pbx_api.h, pbx_dtmf.cpp

products: all with PBX

risks: Collateral damage within routing to 'local' objects

Trap if T.38 timer expiry during closing of T.38 session

Status Closed
Id 48707

problem: If a T.38 timer expired right within the fraction of a ms which it takes to close the T.38 session, a trap happened

solution: Stop timer before closing session

files: media.cpp

products: all

risks: None

PBX: As diverting number the real number was sent even if Send Number configured

Status Closed
Id 48718

problem: The 'Send Number' should be sent as diverting number if configured

solution: Send 'Send Number' as diverting number if configured

files: pbx.cpp

products: all with PBX

risks: None

PBX: Reject external calls did not work as desired together with call forward

Status Closed
Id 48727

problem: An endpoint with 'Reject Ext. Calls' set should not be able to forward external calls. An external call forwarded to an endpoint with 'Reject Ext. Calls' set should succeed.

solution: fixed

files: pbx.cpp

products: all with PBX

risks: Could be that the old behaviour was desired in some installations

Potential trap when reconfiguring Gateway interfaces

Status Closed
Id 48833

problem: If a gateway interface is reconfigured while calls are active a trap could happen later on.

solution: Better handling of reconfiguration

files: signal.cpp, signal.h

products: all

risks: none

Gateway: Trap if reconfiguring an analog interface registration with Feature Code support

Status Closed
Id 48838

problem: If the reegistration configuration of an analog interface (e.g. changing registration name/no) was changed a trap happened when the registration was up again. Happened only with enabled Feature Codes.

solution: Better handling of reconfiguration

files: dtmffty.cpp, gk.cpp, relayfty.cpp, relayfty.h, relayfty_if.h

products: all with analog interfaces

risks: Minimal

PBX: Device configuration was lost, if PBX object was changed with SOAP Admin function

Status Closed
Id 48874

problem: The <device/> tag could not be written with the SOAP Admin function, so this information was lost, when an object was changed or created using this method.

solution: Allow <device/> tag

files: pbx.cpp

products: all with PBX

risks: None

Master PBX to obtain licenses from another Master

Status Closed
Id 48938

problem: There are configurations in which centralized licensing is desired but otherwise independent Master PBXs are needed.

solution: Configuration option added to allow a slave to register at a master to obtain licenses, but act as master in all other respects

files: pbx.cpp, pbx.h, pbx_general.xsl

products: all with PBX

risks: Minimal

Do not allow special characters for Kerberos realm names

Status Closed
Id 47634

Problem: On the General/Kerberos page the name of the server realm was not checked. Only domain style names should be allowed.

Solution: Allow only A-Z a-z 0-9 . -

Files: kerberos_db.cpp

Products affected: Gateways

Risk: No risk

Timing problem at the first request to a Kerberos server

Status Closed
Id 48380

Problem: Currently there is a timing problem when a Kerberos server receives its very first ticket request. To answer this (and any following) requests the server needs its own secret key. The current flow is that the server calculates this key, answers the request and then writes the key to the database. Until the key has been written all following requests will be answered with a Kerberos error message. As a consequence the very first try to join the Kerberos realm fails.

Solution: The server has to wait until the key has been written to the database before it answers the first request.

Files affected: kerberos_ldap.h, kerberos_ldap.cpp, kerberos_db.cpp

Risk: small

"vars del" does not delete additional administrator accounts

Status Closed
Id 48400

Problem: The "vars del" command preserves all VARS with the name prefix CMD0. Therefore the additional administrator accounts and other module configuration are not reset. This problem occurs on factory resets and config updates.

Solution: Preserve only "CMD0/AUTH" when executing the "vars del" command.

Files affected: command.cpp

Risks: none

Trap when configuring empty realm name for Kerberos server

Status Closed
Id 48405

Problem: On the General/Kerberos page the box traps when the user removes the realm name and clicks the Ok button.

Solution: Fix processing of form.

Files: kerberos_db.cpp

Risks: none

Configuration of _KADMIN_ password

Status Closed
Id 48504

Problem: On the PBX/Security page the _KADMIN_ password can only be deleted by removing it from the first one of the two input fields. This is inconsistent with the configuration of the other users that can also be deleted by removing the password from both input fields.

Solution: Implement the deleting of the _KADMIN_ password in a consistent way: Removing the password from the first or both fields removes the _KADMIN_ user.

Files: pbx_admin.cpp, pbx_password.xsl

Risks: Small risk of collateral damage

Remove memory leak in kerberos client

Status Closed
Id 48720

Problem: When the decryption of a Kerberos ticket fails a memory leak is left. Also the Kerberos client does not report this to the application.

Solution: Fix protocol implementation and Kerberos client.

Files: kerberos_prot.cpp, kerberos_client.cpp

Risk: none

Leaks with DECT signalling using TLS

Status Closed
Id 48794

Problem: Sometimes the TLS sockets that are used by DECT signalling are not deleted because of a shutdown event collision in the TLS socket

Solution: Fix TLS shutdown flow

Files: tls.cpp

Risk: Collateral damage with other applications using TLS

Trust manufacturer root certificate by default if there is no certificate in flash

Status Closed
Id 48861

Problem: New devices are equipped with a certificate chain stored in first flash segment. The devices will add the root certitificate to the trust list at first boot. If there is no certificate in flash this will not happen. Hence staging with HTTPS-based update scripts did not work on legacy devices.

Feature: Add a OEM specific manufacturer certificate in the product_info in the firmware. If present, this certificate will be trusted after factory reset, if there is no certificate in flash.

Files: box.cpp, box.h, os.h, ipXXX.cpp, x509.cpp

Risk: Collateral damage on the X509 module and product_info mechanism

Presence subscription to external user failed when forwarded through PBX object "Gateway"

Status Closed
Id 48791

Problem: "Gateway" object did not remove its prefix when forwarding subscription.

Solution: Remove prefix when forwarding presence subscription.

Files: pbx.cpp

Products affected: PBX

Risk: No risk.

PBX Broadcast Conference Option

Status Closed
Id 47886

problem: It should be possible to configure if the last remaining user in a conference call should be disconnected or not.

solution: New configuration option implemented.

files: pbx_bc_conf.h, pbx_bc_conf.cpp, pbx_edit_bc_conf.xsl.

products affected: All devices with PBX.

risk: Minimal risk of collateral damage.

IP-DECT OEM user database import/export

Status Closed
Id 47889

problem: New functions for OEM import/export of user data like export filter, ipei checksum or error messages.

solution: Functionality implemented.

files: dectusers_if.h, dectusers.h, dectusers.cpp, OEM xsl files.

products affected: All DECT devices.

risk: Minimal risk of collateral damage.

IP-DECT idle display update

Status Closed
Id 47891

problem: Idle display update does not work for DECT handsets.

solution: Functionality implemented, but it must be enabled over the GUI and must not be used if foreign handsets are used.

files: dectmaster.h, dectmaster.cpp, dectmaster.xsl.

products affected: All DECT devices.

risk: Minimal risk of collateral damage.

IP-DECT GUI Authentication Code

Status Closed
Id 47892

problem: The configuration option for the System Authentication Code is not shown.

solution: Fixed.

files: dectusers.xsl.

products affected: All DECT devices.

risk: No risk of collateral damage. Only GUI change.

IP-DECT RTP stream of second hold call

Status Closed
Id 47894

problem: The RTP stream of the second call is not stopped if the call is hold and an unattended call transfer is initiated.

solution: RTP stop event added.

files: dectradio.cpp.

products affected: All DECT devices.

risk: Minimal risk of collateral damage.

IP-DECT handset product id/software version

Status Closed
Id 47897

problem: There is no possibility to see the handset product id and software version.

solution: Tool-tip with the product id and software version of the handset has been added for the IPEI item in the GUI user list. It will be available after restart of the handset.

files: dectmaster.cpp, dectradio.cpp, dect_users_right.xsl(OEM).

products affected: All DECT devices.

risk: Minimal risk of collateral damage.

IP-DECT OEM module software update

Status Closed
Id 47934

problem: There are new software versions of the OEM software modules: BMC interface software, MSF module and Skinny protocol.

solution: OEM modules replaced.

files: DECT files, MSF files, Skinny files, config.h, fty.h, fty.cpp.

products affected: All DECT devices.

risk: Normal risk of collateral damage. Updated from improved OEM branch.

IP-DECT MSF module login

Status Closed
Id 47984

problem: It is not possible to login to the MSF module.

solution: Function signature changed with the new MSF module version.

files: dectmsf.h, dectmsf.cpp, telnet.cpp.

products affected: All DECT devices.

risk: Minimal risk of collateral damage. Updated from improved OEM branch.

IP-DECT GUI MWI numbers

Status Closed
Id 48411

problem: The configuration options for MWI numbers are not shown.

solution: Fixed.

files: dectfty.xsl.

products affected: All DECT devices.

risk: No risk of collateral damage. Only GUI change.

IP-DECT SARI variable

Status Closed
Id 48436

problem: The SARI variable is updated every configuration change, but is not needed in OEM modules.

solution: Update condition fixed.

files: dectlocalusers.cpp.

products affected: All DECT devices.

risk: No risk of collateral damage.

IP-DECT facility entity memory leak

Status Closed
Id 48852

problem: Facility entity objects aren't deleted in rare situations.

solution: Facility entity delete function call fixed.

files: dectmaster.cpp, dectradio.cpp.

products affected: All DECT devices.

risk: Minimal risk of collateral damage.

H450 debug info

Status Closed
Id 48889

problem: Additional debug messages are needed for the h450_entity object.

solution: Debug info added.

files: h450.h, h450.cpp.

products affected: All devices with H323.

risk: No risk of collateral damage.

PBX BC conference object TAPI information

Status Closed
Id 48940

problem: The broadcast conference object does not generate information for TAPI.

solution: Monitor connector added which generates the TAPI information.

files: pbx_bc_conf.h, pbx_bc_conf.cpp.

products affected: All devices with PBX.

risk: Minimal risk of collateral damage.

IP-DECT GUI user search

Status Closed
Id 48946

problem: A wrong URL is generated if a question mark is typed in the user search field.

solution: Search field text encoding fixed.

files: dect_users_left.xsl.

products affected: All DECT devices.

risk: No risk of collateral damage. Only GUI change.

Presence note ignored if presence activity has been set

Status Closed
Id 48863

problem: Presence note ignored if presence activity has been set, the calling party expects to see both the activity and the note

solution: fixed in code

files: phone/app_disp.cpp

products: all telephones

risks: none


IP22 Interop with devices that do not support T38 redundancy and retransmits

Status Resolved
Id 47774

problem: Some fax gateways (e.g. old avaya equipment) do not accept T.38 packet with redundancy or do no accept resent packets with the same sequence number

solution: DSP config added, use http://addr/AC-DSP0/info.xml?xsl=dsp.xsl to edit the settings.

files: ac_dsp3.cpp ac_dsp3.h ac_dsp3.mak dsp.xsl
products: IP2x IP30x
risks: Low

Modem interop problem

Status To-decide
Id 48622

problem: The modem bypass function does not work with some modems.

solution: Option to disable modem bypass added, pcm trace option added, new DSP code

files: ac_dsp3.cpp ac_dsp3.h dsp.xsl trace.xsl ac49?004.h ac49x_drv_*.h

products: ip22 ip24 ip28 ip302 ip305

risk: low risk

prevent creation of pbx dtmf object with char '#' in long name

Status Closed
Id 47805

problem: it was possible to create a dtmf object with long name dtmf#join_group. If one then creates another dtmf object with long name dtmf and feature code join group enabled, it traps, because the object tries to create another user with dtmf#join_group as long name without check.

solution: disallow char '#' in long name of dtmf object

files: pbx_dtmf.cpp

products: all pbx devices

risks: None

feature codes are not always working for mobility, if multiple mobility objects exist

Status Closed
Id 48602

problem: if there are more than one mobility objects, mobility feature codes didn't work for users with the second (etc.) mobility object

solution: recursivly go through mobility objects when trying to find a user with a certain fork number

files: pbx_dtmf.cpp, pbx.cpp, pbx.h, pbx_api.h

products: all pbx devices

risks: None

enabling mobility/cw didn't work for 2 stage dialing over mobility object

Status Closed
Id 48616

problem: if a mobil client tries to call its mobility object first and then dials the corresponding feature code for mobility on/off (and mobility cw), it didn't work

solution: separate method for toggling mobility/cw on calling user object

files: pbx_dtmf.cpp, pbx.cpp, pbx.h, pbx_api.h

products: all pbx devices

risks: None

use flashman erase on "reset to factory defaults"

Status Closed
Id 47983

problem: when resetting telephones to factory defaults, first default registration survives the reset

solution: use flashman erase now

files: phone/admin/phone_admin.cpp

products: all telephones

risks: none known



malloc must always run disabled

Status Closed
Id 47646

problem: usually malloc is called only from disabled state. in some extremely rare cases (for example before a DRAM upload) it is called from enabled state and then an interrupt may cause assignment of the same memory chunk to different callers.

solution: fix in code

files: os.cpp

products: all products

risks: None Status: checked in to 9.00,8.00,09-80500

reduce phone firmware size by excluding unused LDAP components

Status Closed
Id 47709

problem: references from flashdir module to fdirui object (flash dir user interface) force the inclusion of objects which are not used in the phone.

solution: conditional compilation of flashdirui.cpp to prevent references, conditional linking of objects

files: common/service/ldap/flashdir.cpp, common/service/ldap/ldap.mak, phone_inca.mak, ip72.mak, phone_coldfire.mak

products: all products

risks: None
Status: checked in to 9.00,8.00,09-80500

Config download must be supressed in phone training mode

Status Closed
Id 47713

problem: Config download is not supressed in phone training mode.

solution: fix in code

files: phone_save_hdr.xml

products: all phones

risks: None
Status: checked in to 9.00,8.00,09-80500

provide uptime and local time of trap in debug log

Status Closed
Id 47855

problem: sometimes it's helpful to know at which time of day and how long after boot a trap occured

solution: fix in code

files: box.cpp

products: all

risks: None
Status: checked in to 9.00,8.00,09-80500

editing phone user config with IE failed for users with non-ascii chars in long name

Status Closed
Id 48017

problem: the long user name was patched latin1 encoded into a xml file with encoding="utf-8"

solution: fix in code

files: pbx_phone.cpp

products: all PBX

risks: None
Status: checked in to 9.00,8.00,09-80500

ip2000/ip6000 - start ETH2 (virtual network connction for Linux) only when Linux is enabled

Status Closed
Id 48061

problem: ETH2 was always started with the preconfigured fixed address 192.168.2.1/24. routing problems may occur if this network is used otherwise already.

solution: start start ETH2 only when Linux is enabled, do not preconfigure an IP address on ETH2

files: linux_eth_drv.cpp, config.h

products: ip2000/ip6000

risks: None Status: checked in to 8.00,09-80500,9.00

IP 22/24/28/302/305 - provide more dynamic memory by disabling memory guard

Status Closed
Id 48576

problem: memory guarding requires 8 byte per malloc'd item. For 50000 items as already seen on active boxes the overhead is 400000 byte. Because of the limited memory it's better to disable guarding.

solution: fix in code

files: ip24.mak

products: IP 22/24/28/302/305

risks: None
Status: checked in to 9.00,8.00,09-80500

IP240-1000 - network connectivity lost after restart of the physical layer controller because of spurious errors

Status Closed
Id 48785

problem: the physical layer controller (PHY) of an IP240-100 is checked for spurious errors any second. If such errors are detected the controller is restarted. After restart data transfer from the phone CPU to the network was blocked. Data reception from network and transfer between LAN and PC port did work.

solution: fix in code

files: inca_drv.cpp

products: IP 240-1000

risks: None
Status: checked in to 9.00,8.00,09-80500

"mod cmd UP0 scfg TFTP://..." does not work

Status Closed
Id 48911

problem: saving config to a TFTP server fails because the update module was not triggered to send the next data chunk.

solution: fix in code

files: httpclient_i.cpp httpclient_i.h

products: all

risks: None Status: checked in to 9.00,8.00,09-80300,09-80500

prevent to link useless exit code from library

Status Closed
Id 48937

problem: for some some static objects the constructor registers exit handlers calling some library function. this is useless because we never call exit().

solution: add dummy function to code

files: box.cpp

products: all

risks: None
Status: checked in to 9.00,8.00,09-80500

"mod cmd UP0 prot TFTP://..." does not work

Status Closed
Id 48957

problem: firmware upload from a TFTP server fails because of a missing 'complete' indication in last packet.

solution: fix in code

files: httpclient_i.cpp

products: all

risks: None Status: checked in to 9.00,8.00,09-80300,09-80500

permit to control the display format of names from local/PBX directory the same way as for external directories

Status Closed
Id 47731

problem: some users want to control the name display format for inbound and outbound calls separately and to reorder/omit parts of a name. this already works for external directories but names from local or PBX directory were not displayed if the first name attribute was not configured for display because such names have only one, the 'cn' attribute.

solution: by default the full 'cn' is displayed for entries from local or PBX directory. if the format string starts with an asterisk ('*') 'cn' is tokenized and the tokens are ordered according to the requested format.
config add PHONE APP /name-display-in <format-in> /name-display-out <format-out>"
'format-...' selects the name attributes to be displayed and their order.
The default format is "123", i.e. all names are displayed as configured.
"3" displays only the third attribute of a name from an external directory but the complete 'cn' from local or PBX directory.
"*3" displays only the third attribute of a name from an external directory and only the third token (if any) of a 'cn' from local or PBX directory.

files: app_call.cpp

products: all phones

risks: None
Status: checked in to 9.00,8.00,09-80500

default language setting from bootcode must be respected when setting phone default configuration

Status Closed
Id 48342

problem: the default language for texts displayed on the phone may be set at manufacturing time. it's saved in the bootcode and evaluated at boot time. But because of some changes in config processing it was not included when gathering the basic configuration data and thus the phone alway started in german language.

solution: fix in code

files: phone_config.cpp

products: all phones

risks: None
Status: checked in to 9.00,8.00,09-80500

Kerberos for PBX-Realms did not work on IP302 and IP305

Status Closed
Id 48347

Problem: The processing of LDAP search results in the Kerberos realm tree was erroneous and therefore failed on devices of the IP28 platform.

Solution: Fix processing of LDAP search results.

Files affected: kerberos_db.cpp, kerberos_ldap.cpp

Risks: none

AD Replication. Only 10x In-Maps per Source Attribute Configurable

Status Closed
Id 47629

Problem: Only 10x In-Maps per Source Attribute Configurable

Solution: Adjust to 40. Form submit method now POST (was GET).

Files: ldapmap.cpp, ldaprep.xsl

Products affected: PBX products

Risk: No risk.

VM: Trap, Double-Free after sending Email with Body

Status Closed
Id 48492

problem: VM, trap, double free after sending email with body

solution: don't send such emails or apply fix

files: smtp_mta.cpp

products: all pbx devices

risks: None

Show presence note (if available) instead of activity during ringback

Status Closed
Id 47531

Problem: When calling another PBX user, it's presence activity is displayed at the callers phone screen. Presenting called user's presence note is more appropriate.

Solution: Prefer 'note' over 'activity'.

Files: app_disp.cpp

Products affected: H.323 Phones

Risk: No risk.

Setup wizard does not accept new XML formatted license files

Status Closed
Id 48401

Problem: When trying to upload an XML formatted license file while stepping through setup wizard no licenses are accepted. No error indicated neither.

Solution: Delegate upload to new XML style license handler.

Files: setup_lics.xsl

Products affected: All devices.

Risk: No risk.

Presence: Added overlay activity attribute

Status Closed
Id 48563

Problem: External applications want to set/reset "on-the-phone" activity for a PBX user.

Solution: Added overlay activity attribute for each PBX user.

Files: pbx.cpp/h

Products affected: PBX

Risk: No risk.

RTP is sent to wrong destination

Status Closed
Id 48798

Problem: A single packet causes the RTP stream to be redirected to a new destination (workaround for NAT). May cause no-media in case of late packet arrival after call transfer.

Solution: Only a continuous packet stream can cause the RTP redirection.

Files: media.cpp/h

Products affected: All devices

Risk: No risk.

Missing Tooltips in web ui for licenses

Status Closed
Id 47930

Problem: Missing Tooltips in web ui for licenses.

Solution: Added tooltips.

Files: license.xsl

Products affected: All Gateway/PBX devices

Risk: No risk.

Reject of ectLinkIdRequest not handled

Status Closed
Id 48095

Problem: When trying to pass a call transfer of two ISDN calls to the ISDN network by means of ECT ("External Transfer"), a reject was not handled properly.

Solution: Decode an provide error code to gateway.

Files: fty.h/cpp q950.cpp relay.cpp

Products affected: ISDN gateways

Risk: No risk.

Presence display on fkey 'Partner' stops updating

Status Closed
Id 48569

Problem: Phone gives up on trying to to establish/re-establich presence subscription.

Solution: Don't stop trying to establish/re-establich presence subscription.

Files: phonesig.cpp

Products affected: Phones

Risk: No risk.

Phone: Handling of failed attended transfer

Status Closed
Id 48585

Problem: An attended transfer may fail. If an error is encountered the call legs may disappear in the background. This happened regularly when a phone tried to transfer calls bound to different SIP registrations or to a SIP and a H323 registration.

Solution: Terminate both calls if attended transfer failed. Don't initiate transfers which which cannot be handled by SIP protocol.

Files: sip.cpp, phonesig.cpp, app_call.cpp

Products affected: Phones

Risk: No risk.

SIP: Fax and audio offer was rejected with 488

Status Closed
Id 47544

Problem: A combined SDP offer (fax and audio) was rejected with 488.

Solution: Answer with 200/OK and provide audio answer.

Files: sip.cpp/h

Products affected: SIP gateways

Risk: No risk.

SIP: INVITE rejected with 407

Status Closed
Id 47631

Problem: Registered SIP interfaces reject incoming calls with 407 if the INVITE comes from a remote source addr/port that doesn't match addr/port where the REGISTER was sent to.

Solution: Do not check remote source port.

Files: siptrans.cpp

Products affected: SIP devices

Risk: No risk.

SIP: Handling of weird simple-message-summary

Status Closed
Id 47714

Problem: "Messages-Waiting:yes;Voice-Message:/0" turned MWI off. "Messages-Waiting:no;Voice-Message:8/0" turned MWI on.

Solution: "Messages-Waiting:yes;Voice-Message:/0" turned MWI on. "Messages-Waiting:no;Voice-Message:8/0" turned MWI off.

Files: sip.cpp

Products affected: SIP Phones

Risk: No risk.

SIP: Handling of transfer to different ip address

Status Closed
Id 47919

Problem: MS Exchange transfers fax calls to external fax servers with REFER.

Solution: Follow this transfer and send new INVITE to destination address.

Files: sip.cpp

Products affected: SIP devices

Risk: No risk

SIP: Problem with media negotiation after 488

Status Closed
Id 47956

Problem: After re-INVITE client transaction was rejected (e.g. 488) the next re-INVITE was not send. May result in one-way-audio.

Solution: Cleanup when handling reject for re-INVITE.

Files: sip.cpp

Products affected: SIP devices

Risk: No risk

SIP: Media negotiation problem at Alcatel Omni PCX

Status Closed
Id 48337

Problem: Several provisional responses with changing remote RTP addresses may cause RTP to be sent to wrong destination.

Solution: Fix handling of updated SDP answers.

Files: sip.cpp

Products affected: SIP devices

Risk: No risk.

SIP: Interoperability to Aastra endpoints

Status Closed
Id 48406

Problem: Calls broadcasted by WQ cannot be accepted by Aastra phones. Aastra phones sending 180 Ringing with SDP offer while requesting PRACK with SDP answer. SDP answer cannot provided at this early stage.

Solution: Send dummy answer in PRACK. Re-Negotiation will happen anyway after connect.

Files: sip.cpp/h

Products affected: PBXs serving SIP Phones

Risk: No risk.

SIP: No switch from local ringback tone to inband ringback tone

Status Closed
Id 48438

Problem: No switch from local ringback tone to inband ringback tone, because 183/Progress response was not handled after 180/Ringing.

Solution: Handle 183 after 180.

Files: sipstate.cpp

Products affected: SIP devices

Risk: No risk.

SIP: Problems with DTMF when interworking v5 devices to SIP

Status Closed
Id 48441

Problem: A call initiated by a v5 device that is interworked to SIP may have problems with DTMF.

Solution: Send SDP offer in INVITE as one single media description.

Files: sip.cpp

Products affected: SIP gateway and PBXs

Risk: No risk.

SIP: CSeq not correct inside dialog

Status Closed
Id 48533

Problem: Requests within a dialog MUST contain strictly monotonically increasing and contiguous CSeq sequence numbers (increasing-by-one).

Solution: Keep a private CSeq counter at each call object, subscription object and registration object.

Files: sip.cpp/h siptrans.cpp/h

Products affected: SIP devices

Risk: No risk.

Memory Leak

Status Closed
Id 48714

Problem: Lost memory every time a registered SIP interface is deactivated.

Solution: Free allocated memory for authentication data.

Files: sip.cpp

Products affected: SIP endpoints

Risk: No risk.

Bug Fixes

Other Bug Fixes

49741 pme Number mistake if calls rerouted over ISDN by WAN overflow
48781 sga Federation mit GW object in der PBX


V8 Hotfix 2 (80500.04)

Fixes included in Version 8 hotfix2 Definition

New Features

Configurable distinction of internal and external call ringing on analogue port

Status Closed
Id 49344

For swiss users the internal call should be signaled with a ring sequence that is normally used for external calls and vice versa. Swiss seems to make an exception here. In addition it is now possible to configure 'always internal' and 'always external'.

wrong help url in ICP object

Status Closed
Id 49411

problem: wrong help url for ICP object

solution: change url

files: pbx_edit_icp.xsl

products: pbx

riscs: absolutely none

fat32 check disc trap

Status Closed
Id 50204

Problem: After a firmware trap with a cf card, the afterwards check disk can cause a trap loop, if directory entries are corrupt because of the first trap.

Solution: Increment counter which caused the trap loop.

Files: fat32.cpp

Products affected: All gateways with CF slot

Risk: minor risk

wrong calculations causing check disc to damage data

Status Closed
Id 51305

Problem: check disc could produce damaged data in certain situations

Solution: correctly calculate partial records and clusters for next run. Also check if clusters are used multiple times.

Files: fat32.cpp, fat32.h, fat32.xsl

Risk: minor risk

Possible trap when removing a cf card without previous unmount

Status Closed
Id 51705

Problem: events where queued to not exisiting serial

Solution: cf driver shouldn't answer outstanding events after removing the cf card, as the fat32 module won't wait for any events after receiving status removed event

Files: cf_drv.cpp

Risk: minor risk

PBX: Reference to Config Template lost, when opening User from Registrations page

Status Closed
Id 49089

problem: If a user object was opened from the Registrations page a configured config template was not displayed. By pressing Save or Apply the user object was written without the config template

solution: Display config template when opening user object from registrations page

files: pbx_regs.xsl

products: all with PBX

risks: None

Need to configure 'Route Root-Node External Calls to' in case of 'License Only' on Slave

Status Closed
Id 49137

problem: A Slave or Standby-Slave PBX configured as 'License Only' did not allow to configure a Root Node Extern destination

solution: Allow configureation of Root-Node Extern

files: pbx_general.xsl

products: all with PBX

risks: None

Media Renegotiation from H.323 Slowstart to H.323 EFC failed accross multiple PBXs

Status Closed
Id 49147

problem: The message with the new FeatureSet, which indicated a switchover from non-EFC to EFC was not forwarded by the PBX. This happens if a slow-start endpoint located at a slave transfers a call originating from another slave so that both new endpoints are EFC. The master in this case did not forward the switchover FeatureSet.

solution: forward FeatureSet

files: h323ch.cpp

products: all

risks: None

Gateway: Feature Code Support Configuration fixed

Status Closed
Id 49152

problem: Feature Code fieldset was displayed even if not Feature Code support available. Sometimes empty Feture Code Fieldset

solution: Better checking in UI

files: relay_edit_phys.xsl

products: all gateway products

risks: None

Gateway: CGPN Map at route was executed even if the call using this route failed

Status Closed
Id 49175

problem: A CGPN Map at a route was executed even if the call using this route failed. This was confusing if rerouting was configured in case a destination was not available.

solution: CGPN map not executed if call failed, so rerouting could be done with the same CGPN

files: gk.cpp

products: all gateway products

risks: Could be that there are configs depending on old, wrong behaviour

PBX: Sending of multiple group indications after registration did not work

Status Closed
Id 49190

problem: If a phone registers to the PBX, the PBX is sending group indications for all active calls. If more then one call was active not all group indications were sent successful. This also happened with the update of Boolean function keys.

solution: Sending of Group Indications fixed

files: pbx_gi.cpp, pbx_gi.h

products: all with PBX

risks: Risk of collateral damage in the area of Group Indications

PBX: After CFNR from Waiting with end of first announcement no MOH during call proceeding/alerting

Status Closed
Id 49458

problem: If a CFNR is executed at the end of the first announcement of a Waiting object (no second announcement), MOH should be played during call proceeding/alerting of the forwarded call. This did not happen, because MOH was turned off by accident with clearing of the announcement call.

solution: Don't turn off MOH

files: pbx.cpp

products: all with PBX

risks: litte risk of other media problems within PBX

H.323, PROGRESS with cause treated as DISC causes problems

Status Closed
Id 49889

problem: In H.323 no DISC message is defined. Because of that a PROGRESS message with Cause code was treated as a DISC message. This behaviour causes problems, because there is H.323 equipment sending PROGRESS with Cause even if no DISC is intended

solution: No special handling of PROGRESS with cause anymore

files: h323_tbl.h, h323sig.cpp

products: all

risks: old behaviour could be expected by other equipment

Enblock flag not evaluated on Routes to MAP

Status Closed
Id 49896

problem: The enblock flag on routes to MAP could be set, but it did not do anything

solution: Evaluate enblock flag on routes to MAP

files: gk.cpp

products: All gateway products

risks: None, no change if enblock flag not set

One-way-voice after unpark/pickup together with SRTP, H323 and Registration with password

Status Closed
Id 49963

problem: Within media renegotiation after unpark/pickup a wrong SRTP key was sent. This resulted in one-way media.

solution: Transmit correct SRTP key

files: h323sig.cpp

products: all

risk: Other media problems

PBX: No default device definition was added to new object

Status Closed
Id 49973

problem: If a new object was added to the PBX, with a Name, but without device hw-id, no default device definition was created containing name has hw-id. After an unknown enpoint was assigned to this user by dialing the number of the user a registration with name was not possible anymore.

solution: Create default device definition

files: pbx_admin.cpp

products: all with PBX

risks: None

Media Negotiation between SIP and H.323 failed if Offer from both sides available

Status Closed
Id 50037

problem: If a H.323 and a SIP call leg were to be connected and a media offer was available on both legs, nothing happend. The new offer should have been sent on the H.323 leg. This situation could happen in special cases with transfer and reverse media.

solution: Send offer on H.323 in this case

files: h323ch.cpp

products: all

risk: Small riks of collateral damage

PBX device definition with empty hw-id was generated for a user without name

Status Closed
Id 50043

problem: For objects without device configurations, a default device is generated with the hw-id being the same as the Name of the object. This is for v7 compatibility. This was done even if there was no Name. But it was done only for a single object, because after that duplicate hw-id was detected. This caused registration with number being possible on this object even without device configuration.

solution: Check for empty name

files: pbx.cpp

products: all with PBX

risks: None

PBX: 'Route Internal Calls to' only works for internal destinations being users or slaves

Status Closed
Id 50068

problem: It was explicitly implemented that 'Route Internal Calls to' was only executed for Users or Slaves. This was does not seem to be a usefull restriction.

solution: Restriction removed

files: pbx.cpp

products: all with PBX

risks: Could be that this restrictions turns out to be usefull

PBX: On CFB configured at Slave PBX executed on max_calls, additional digits were added to called number

Status Closed
Id 50083

problem: If a CFB on a Slave PBX was executed because max-calls, the original dialed digits should be added to the diverted to number. If the original dialed number did not exactly match a user in the slave, but additional digits were dialed, these digits were added twice.

solution: Add digits once only

files: pbx.cpp

products: all with PBX

risks: None

Trap if doing Pickup from analog interface with Feature Code

Status Closed
Id 50107

problem: If a Pickup was performed from an anlog interface using Feature Codes, the gateway restarted. This was caused by an invalid cast.

solution: Cast fixed

files: relayfty.cpp, relay_api.h, relay.cpp

products: all gateway products with analog interfaces

risks: None

Mobility: Reject of call to mobile endpoint did not work

Status Closed
Id 50239

problem: If a call on a mobile endpoint was rejected, on the calling side there was still ringback. Also a CFB was not executed in this case.

solution: Reject on mobile phone fixed

files: pbx.cpp, pbx.h, pbx_api.h, pbx_mobility.cpp, pbx_mobility.h

products: all with PBX

risks: Risk of collateral damage with Mobility

Mobility: Call to obeject within other PBX not in root node failed

Status Closed
Id 50241

problem: Routing of calls from mobile endpoint, did not work with nodes on other PBXs

solution: Routing fixed

files: pbx.cpp, pbx.h, pbx_api.h, pbx_mobility.cpp, pbx_mobility.h

products: all with PBX

risks: Risk of collateral damage with Mobility

Mobility: Call forwarding on no response did not work for mobile endpoints if only mobile endpoint

Status Closed
Id 50242

problem: A call forward on no response, either as CFNR or as no response destination at a trunk failed if only a mobile endpoint was present for a given object.

solution: Forwarding fixed

files: pbx.cpp, pbx.h, pbx_api.h, pbx_mobility.cpp, pbx_mobility.h

products: all with PBX

risks: Risk of collateral damage with Mobility

Trap if 'Escape Dialtone from' configured not being a User Object

Status Closed
Id 50267

problem: If a 'Escape Dialtone from' destination was configured, which was not a User object (e.g. a Gwateway) a trap happend when a escape dialtone was to be played.

solution: NULL pointer access fixed

files: pbx.cpp, pbx.h, pbx_api.h

products: all with PBX

risks: Minimal

Mobility: Send presence info of called user with ALERT at call to mobile endpoint

Status Closed
Id 50349

problem: When a mobile endpoint was called, the presence info of the mobile endpoint (typically there is no presence info available) was send to caller instead of the presence info of the related local user object.

solution: Send presence info of local user

files: pbx_mobility.cpp, pbx_api.h

products: all with PBX

risks: None

PBX object device config lost, if invalid info added somewhere else (e.g. duplicate number)

Status Closed
Id 50415

problem: If a PBX object editor is opened and invalid information is added, then after Apply or OK the error message is displayed and the devices list was empty. After correcting the error and Apply or OK again the object is saved without the device list.

solution: Fill in device list on error as well

files: pbx_admin.cpp

products: all with PBX

risks: None

Potential trap with Mobility

Status Closed
Id 50989

problem: A trap could happen with a collision of CFNR Timeout and call disconnect, when calling a mobile endpoint, because of NULL pointer access.

solution: Check for NULL pointer added

files: pbx_mobility.cpp

products: all with PBX

risks: None

Mobility Object returns busy if called from a unknown mobile phone

Status Closed
Id 51010

problem: The mobility object answers calls only if called by a mobile phone which is configured as forking destination. Calls from other mobile phones are rejected. The cause "user busy" was used in this case, which was misleading.

solution: Use cause "Service unavailable, unspecified" instead.

files: pbx_mobility.cpp

products: all with PBX

risks: None

Potential trap when disconnecting call, WEBMEDIA-CH.5 default(82c09798): serial_event(814)

Status Closed
Id 51132

problem: Under special timing conditions a trap could happen during call disconnect. This only happened if the call terminated at a physical interface on the given box.

solution: Cleaning up of media channel fixed

files: media.cpp

products: all

risks: None

PBX-CDR: Local Time wrong (same as UTC)

Status Closed
Id 51415

problem: In the CDRs from the PBX the local time was always set to UTC

solution: Use correct time

files: pbx.cpp

products: all with PBX

risks: None

PBX: No Inband Disconnect for Gateway Object

Status Closed
Id 51421

problem: 'No Inband Disconnect' was not configurable for Gateway objects

solution: Configuration added

files: pbx_edit_gw.xsl

products: all with PBX

risks: None

PBX CGPN missing with call to mobile endpoint, if not supplied by calling endpoint

Status Closed
Id 51424

problem: If a calling endpoint registered to the PBX, did not supply the calling number, the PBX did not set it, when calling a mobile endpoint

solution: PBX sets calling number

files: pbx_mobility.cpp

products: all with PBX

risks: None

no RTP-DTMF after rerouting

Status Closed
Id 51431

problem: If rerouting happened from one media endpoint to another, for example if a TONE interface is used for a dialtone after one digit dialed there is a rerouting to another interface, RTP-DTMF does not work.

solution: Media renegotiation fixed for this case

files: ac_dsp.h, ac_dsp2.h, ac_dsp3.h

risks: none

dyn PBX General configuration page changes did not work sometime

Status Closed
Id 51436

problem: Sometimes strange behaviour, when removing config like 'Route Master calls if no Master to' or 'Max Calls to Master'

solution: editor fixed

files: pbx_admin.cpp

products: all with PBX

risks: None

PBX: Retrieve was not sent in case of chained Waiting Queues

Status Closed
Id 51450

problem: When using DTMF destinations with Waiting Queues, the waiting queue is sending a Hold Notific when DTMF map destination is alerting. A Retrieve Notific must be sent when the destination connects. This was missing if the destination was another Waiting Queue.

solution: Send missing Retrieve

files: pbx.cpp, pbx.h, pbx_api.h

products: all with PBX

risks: None

PBX: Busy Name was not sent if busy because of 'Busy on ... calls'

Status Closed
Id 51451

problem: No Name Identification Facility was sent if call was busy because of 'Busy on ... calls'

solution: Send Name Id

files: pbx.cpp, pbx_api.h

products: all with PBX

risks: None

Config Wizard Update

Status Closed
Id 51501

problem: Several issues with config wizard: CLIP no screening mappings for international calls wrong, CLIP no screening mappings did not handle internal numbers matching Trunk/National/International Prefix, switchboard waiting object was not configured, extern only needed for insert mode

solution: config wizard fixed

files: setup.cpp, ip800/config_wizard.txt, ip6000/config_wizard.txt, ip6010/config_wizard.txt, ip24/config_wizard.txt

products: IP30x, IP800, IP6000, IP6010

Problems with Mobility and Nodes

Status Closed
Id 51549

problem: When calling from a mobile handset belonging to a user which is configured in a node a CLI without the node prefix was sent. Using a user configured in a node was not possible to use as mobile endpoint.

solution: handle node prefixes

files: pbx_mobility.cpp

products: all with PBX

risks: little risk of collateral damage with mobility

PBX: Pickup call did not show original called/parked endpoint

Status Closed
Id 51617

problem: When doing pickup, the to be picked up call did not show what endpoint was called. This is especially a problem if group pickup is used with a function key without display

solution: Add ct_setup/leg2 info to pickup call

files: pbx.cpp

products: all with PBX

risks: None

compatibility issue with PBX Waiting queue sending ct-complete before connect

Status Closed
Id 51620

problem: If a call alerting at a PBX waiting queue is connected by a operator, the PBX is sending out a ct-complete message to indicate to the caller, which operator connected. This was sent right before the connect, but ct-complete is allowed by the standard only after connect. This created an interworking issue with when this was sent out to a QSIG PBX

solution: send ct-complete after connect

files: pbx_wait.cpp

products: all with PBX
risks: none

PBX: SOAP initiated calls were sent with CT-SETUP

Status Closed
Id 51622

problem: If a call was initiated by SOAP to the PBX, the outgoing call contained a CT-SETUP facility. This way the call was displayed as transfered call by the destination, but it should be displayed just the same as a call initiated on the phone itself.

solution: remove CT-SETUP from outgoing call

files: pbx_xml.cpp

products: all with PBX

risks: None

PBX send call to mobile phone as diverted call

Status Closed
Id 51623

problem: Billing applications need to associate a call to a mobile phone to the respective user. This can be done with the diverting leg info.

solution: Add diverting leg info 2 to call to mobile phone

files: pbx_mobility.cpp, pbx_gi.cpp

products: all with PBX

risks: none

Assertion to verify that access to license data structures is correct

Status Closed
Id 51752

problem: There is a hint, that access to license data structures could corrupt memory.

solution: Verify that access to license data structures is correct with a assertion which results in a restart if this does happen.

files: inno_lic.cpp, pbx.cpp

products: all except phones

risks: Additional restarts could happen, but only in cases memory would be corrupt otherwise, so restart is the better choice

Trap if some but not all interfaces of a given type are unlicensed

Status Closed
Id 51771

problem: If some but not all interfaces are unlicensed (e.g. IP6000 with 4 PRI interfaces is licensed for 2 PRI interfaces) a trap could happen any time after the Gateway config was updated.

solution: Access to license structure fixed

files: inno_lic.cpp, gk.cpp

products: all gateway products

risks: None

Basic authentication support in HTTP client

Status Closed
Id 49450

Problem: Currently the HTTP client does not support basic authentication but basic authentication is needed to access boxes that have Kerberos configured.

Solution: Integrate basic authentication into HTTP client.

Files: httpclient_i.h, httpclient_i.cpp

Risk: small

Trap in SRTP socket

Status Closed
Id 51146

Problem: Under special conditions SRTP sockets send events to serials that are already deleted.

Solution: Check if the destination does still exist before sending the event.

Files: srtp_cipher.cpp

Risk: Small risk of damaging SRTP encryption on IP6000/IP2000

One way media after SRTP renegotiation on IP6000

Status Closed
Id 51148

Problem: On the IP6000 platform the SRTP ROC was not reset on media renegotiation.

Solution: Reset SRTP ROC when rtp_channel::set_media_config is called

Files: srtp_cipher.cpp

Risk: no risk known



LDAP Searches for unsupported DNs disconnected all LDAP connections

Status Closed
Id 50934

problem: LDAP Searches for unsupported Distinguished Names (DN) disconnected all LDAP connections

solution: Remove (meanwhile surplus) v7 code

files: ldapsrv.cpp

products: all PBX products

risks: None

RELAY: Remove config parameter "mask" from GUI

Status Closed
Id 48127

ENUM/SIP interfaces shall accept all call sources (no filtering).
No-Reg-IFs shall use addr/mask as filter for call sources.
(Remove old mask logic for outgoing calls in gk.cpp)

SIP: Remote number update after pick-up does not work

Status Closed
Id 51268

Problem: PBX send UPDATE with changed From URI (rfc4916) too early (interfering with ongoing INVITE transaction). UPDATE is rejected by picking party.

Solution: Postpone UPDATE(from-change) until INVITE transaction is complete.

Files: sip.cpp/h

Products affected: PBXs with SIP endpoints doing call pick-up

Risk: No risk.

IP-DECT OEM compatibility with old MWI configuration

Status Closed
Id 49518

problem: The MWI configuration should be compatible with old configuration.

solution: Configuration added.

files: dectfty.h, dectfty.cpp.

products affected: All DECT devices.

risk: No risk of collateral damage.

IP800 conference

Status Closed
Id 49800

problem: Conference hardware initialization for channel ten does not work.

solution: Delay within initialization sequence inserted.

files: ipac_drv.cpp.

products affected: Devices with IPAC chip.

risk: No risk of collateral damage.

H323 channel null pointer trap

Status Closed
Id 49813

problem: Trap caused by null pointer access.

solution: Null pointer check added.

files: h323_ch.cpp.

products affected: All devices with H323 protocol.

risk: No risk of collateral damage.

IP-DECT OEM system name update

Status Closed
Id 49825

problem: The OEM DECT needs update of the system name.

solution: Update added.

files: dectusers.cpp, dectlocalusers.cpp.

products affected: All DECT devices.

risk: Minimal risk of collateral damage.

IP-DECT unattended call transfer

Status Closed
Id 49829

problem: It should not be possible to enter the unattended call transfer mode if the second call is in ring-back state.

solution: Condition added.

files: dectradio.cpp.

products affected: All DECT devices.

risk: No risk of collateral damage.

IP-DECT old anonymous PPs

Status Closed
Id 50064

problem: The old anonymous PPs saved in the system object in firmware version 6 should not longer be used.

solution: Anonymous PPs in the system object are automatically deleted.

files: dectusers.h, dectusers.cpp.

products affected: All DECT devices.

risk: Minimal risk of collateral damage.

IP-DECT Radio call statistics

Status Closed
Id 50736

problem: Radio call statistics like call or handover counter are missed in the master radios overview GUI for DECT deployment.

solution: Radio call statistics added.

files: dectmaster.h, dectmaster.cpp, dectmaster_radios.xsl (OEM), dectradio.h, dectradio.cpp.

products affected: All DECT devices.

risk: Minimal risk of collateral damage.

IP-DECT Handset's product number and software version

Status Closed
Id 50738

problem: The DECT handset's product number and software version are not shown in the user list in the DECT master.

solution: Information is shown if available.

files: dect_users_right.xsl (OEM).

products affected: All DECT devices.

risk: No risk of collateral damage.

IP-DECT memory leak

Status Closed
Id 50975

problem: There are memory leaks with update event of uninitialized radio registrations.

solution: Cleanup added.

files: dectmaster.cpp.

products affected: All DECT devices.

risk: No risk of collateral damage.

IP-DECT hanging calls

Status Closed
Id 51007

problem: Sometime there are hanging calls in the radio.

solution: New timer added to check for hanging calls.

files: dectradio.h, dectradio.cpp.

products affected: All DECT devices.

risk: Minimal risk of collateral damage.

IP-DECT OEM module MSF trap

Status Closed
Id 51008

problem: Traps occur after using of the MSF module.

solution: Pointer cleanup added.

files: dectmsf.cpp.

products affected: All DECT devices.

risk: Minimal risk of collateral damage.

IP-DECT OEM multi-cast module support

Status Closed
Id 51269

problem: Some new functions are needed for the oem multi-cast module support.

solution: Function added.

files: signal.h, signal.cpp, dectusers_if.h, dectusers.h, dectusers.cpp, dectlocalusers.h, dectlocalusers.cpp, dectradio.cpp.

products affected: All DECT devices.

risk: Minimal risk of collateral damage.

IP-DECT OEM protocol display update

Status Closed
Id 51354

problem: If a OEM protocol is used the display update wrongly inserts the last pre-dialed digit as post-dialed keypad info.

solution: Function fixed.

files: dectradio.cpp.

products affected: All DECT devices.

risk: No risk of collateral damage.

IP-DECT wrong forward of internal information event

Status Closed
Id 51418

problem: A internal information event is wrongly forwarded to the PBX.

solution: Forward of this event is avoided.

files: dectradio.cpp.

products affected: All DECT devices.

risk: Minimal risk of collateral damage.

PBX BC Conference member type restriction / call information

Status Closed
Id 51429

problem: Some other PBX objects can not be called as conference members. Conference object call target is not shown correctly in the PBX call list. This information is also used as calling party number for the other conference member calls, useful for recording with the VM object and several conference objects.

solution: PBX object type restriction removed and remote endpoint information (cgpn) fixed.

files: pbx_bc_conf.cpp.

products affected: All devices with PBX.

risk: Minimal risk of collateral damage.

PBX BC conference object TAPI feature clear call

Status Closed
Id 51434

problem: The TAPI connection of the broadcast conference object does not support clearing calls.

solution: Feature added.

files: pbx_bc_conf.h, pbx_bc_conf.cpp.

products affected: All devices with PBX.

risk: Minimal risk of collateral damage.

IP-DECT IP-Master in IP6000 device

Status Closed
Id 51509

problem: For big DECT systems the IP-DECT IP-Master should be hosted in IP6000.

solution: IP-DECT module with IP-Master added to IP6000 firmware. Usable only with IP-DECT multi-cell license.

files: dectuser.cpp, config.h, ip6000.h, ip6000.cpp, ip6000.mak, left_menu.xml, trace.xsl, new: dect module files without dect radio files, dect_hdr.xml, dect_admin_hdr.xml, dect.xml, dect_admin.xml.

products affected: All DECT devices.

risk: Minimal risk of collateral damage.

IP-DECT trap during call release and information message

Status Closed
Id 51583

problem: A trap occurs if the DECT handset sends a information message and the call is release by the PBX. Only the channel is released, but not yet the call.

solution: Null pointer check added.

files: dectmaster.cpp.

products affected: All DECT devices.

risk: No risk of collateral damage.

IP-DECT configuration option 'Redirection with GK ID'

Status Closed
Id 51616

problem: Configuration option needed to append the GK ID if the registration is redirected by the PBX.

solution: Configuration option added.

files: dectmaster.h, dectmaster.cpp, dectmaster.xsl.

products affected: All DECT devices.

risk: No risk of collateral damage.

IP6000 LE newer kernel support

Status Closed
Id 51712

problem: Newer Linux kernel included in Debian does not work.

solution: Support for linux kuser helper functions added.

files: startup_littleendian.S.

products affected: Only IP6000 little-endian firmware.

risk: No risk of collateral damage.

IP-DECT logging release code

Status Closed
Id 51759

problem: The release code is not correctly shown in logging events.

solution: Fixed.

files: dectmaster.cpp.

products affected: All DECT devices.

risk: No risk of collateral damage.

IP72 announcement calls should be routed to headset if plugged

Status Closed
Id 49587

problem: IP72 announcement calls should be routed to headset if plugged. currently announced calls are always received with handset.

solution: fixed in code, has to be explicitly enabled in phone's web-ui: "Administration/Phone/Preferences/Route Automatically Connected Inbound Calls to Headset (if enabled)"

files: phone/sig/phonesig.* phone/user/phone_pref.xsl

products: all telephones

risks: none

presence function key usage on phone traps with non-presence-available pbx

Status Closed
Id 50034

problem: presence function key usage traps with non-presence-available pbx

solution: fixed in code (check)

files: phone/app/app_disp.cpp

products: all telephones

risks: none

Better norwegian translation for telephone text entries

Status Closed
Id 50941

problem: Better norwegian translation for telephone text entries

solution: Changed translation file

files: phone/txt/phonetxt.base

products: All telephones

risks: none

Ringing style upon incoming message is not configurable via web - ui

Status Closed
Id 50963

problem: Ringing style upon incoming message is not configurable via web - ui

solution: fixed in xsl

files: reg_edit_general.xsl

products: all telephones

risks: none

Ringing tone used for incoming message can not be reconfigured permanently

Status Closed
Id 50976

problem: Ringing tone used for incoming message can not be reconfigured permanently. It switches back to default after ringing once without user interaction.

solution: fixed in code

files: phone/app/app_ctl.cpp

products: all telephones

risks: none



IP72: beacon recv time now configurable through command line

Status Closed
Id 51452

problem: beacon recv time now configurable through command line. This is required for a special Meru Networks interop. (config change WLAN0 /beacon-recv-time 10)

solution: fixed in code

files: ascom-drivers/WLAN_drv.cpp

products: IP72

risks: none

IP72: Upgrade WLAN subsystem to Ascom 1.7.10

Status Closed
Id 51516

problem: Upgrade WLAN subsystem to Ascom 1.7.10
Ascom i75 v1.7.10 release.
- Beacon reception time can be changed.
- Scan interval can be changed.
- Null data keep alive period can be changed.
- Two different site filters can be chosen.
- RSSI filter parameters is changed: 25% new value + 75% old value (previous releases use 10% + 90%).
- Roaming threshold is changed to -67 dBm (from -70).
- Authentication timeout changed to 100 ms (from 500 ms).

solution: upgraded shared code

files: WLAN/* ascom-drivers/WLAN_drv.*

products: IP72

risks: none known

IP72: ring though handset

Status Closed
Id 51624

problem: IP72 feature: ring through handset if configured so and handset plugged

solution: fixed in code

files: box/omap/omap_dsp.* box/omap/omap_codec.cpp

products: IP72

risks: none

IP72: function keys only available in idle mode

Status Closed
Id 51798

problem: IP72: function keys only available in idle mode

solution: option /softkey-mode now defines whether a predefined function key overlays a softkey in idle mode, in active mode, or not at all

files: phone/forms/forms*

products: IP72

risks: none

IP800: V8 Firmware upload not possible after V7 licenseses are returned to myinnovaphone

Status Assigned
Id 49888

problem: Missing label to identify new license scheme with certificates.

solution: fixed in makefile

files: ip800.mak

products: ip800

risks: low risk

DTMF digits missing during DTMF generation

Status To-decide
Id 49588

problem: Tones are not send out after channel init with a undefined coder

solution: fixed in code, ignore DSP status packets for timing calculation, DSP message trace function fixed

files: ac_dsp2.cpp Recordpck.h ac48xhi.c

products: ip6000/800/1200/1201/4001
risks: low risk

IP302/IP305: PCM connected channels disconnect other channels media

Status To-decide
Id 49879

problem: disconnect is sent to wrong channel

solution: fixed in code

files: ac_dsp3.cpp

products: ip302 ip305

risks: low risk

IP2x IP30x: unreliable V.34 modem

Status Assigned
Id 49883

problem: echo canceller needs to be off, DSP jitter buffer must be static, output volume must be reduced

solution: fixed in code. Use "disable echo canceller flag" to enable this features. Use http://addr/AC-DSP0/mod_cmd.xml?cmd=form&xsl=dsp.xsl to tune the volume and disable modem-bypass.


files: ac_dsp3.cpp ac_dsp.h

products: ip2x ip30x

risks: low risk

Manufacturer URL is needed in static HTML pages

Status To-decide
Id 50950

problem: Manufacturer URL is needed in static HTML pages

solution: added %U option to servlet_vars.cpp

files: servlet_vars.cpp
products: all

risks: low risk

HTTP client header access

Status To-decide
Id 51715

problem: access to received httpclient headers needed in some applications,OEM Manufacturer in httpclients user agent header needed

solution: added virtual function to access received http headers, user agent header uses OEM struct manufacturer as user agent string
files: httpclient_i.cpp httpclient_i.h httpclient.h
products: all

risks: low risk

DSP debug

Status Assigned
Id 52124

problem: sporadic trap in ac-dsp, defect return address

solution: debug added to show packets sent to DSP. Enable on IP6000 with config+change+AC_DSP11+/dtrace config+write and restart. Use not with SRTP, since CPU load with 60channel RTP is increased on the IP6000 from 66% to 77%

files: ac_48xhi.c

products: ip800 ip6000 ip1200 ip1201 ip4001

risks: low risk

IP72 DSP acoustic web page not storing changes upon "OK"

Status Closed
Id 49576

problem: IP72 DSP acoustic web page not storing changes upon "OK"

solution: fixed in code

files: box/omap/omap_code.cpp

products: IP72

risks: none

IP72: WLAN code upgrade

Status Closed
Id 49577

problem: IP72: WLAN code upgrade to latst from Ascom (Meru fixes)

solution:

files: ./WLAN/Supplicant/obj/libodSupp_O.a ./WLAN/esta_dk/obj/libestadrv.a ./WLAN/esta_dk/obj/firmware.o ./WLAN/esta_dk/inc/wspVer.h ./WLAN/esta_dk/inc/TI_IPC_Api.h ./WLAN/esta_dk/inc/paramOut.h ascom-drivers/WLAN_drv.cpp

products: IP72

risks: none

PPP IP header compression traps

Status Closed
Id 49221

problem: PPP IP header compression traps because a word aligned buffer is addressed by a struct ip_hdr pointer and the GCC optimizer replaced a memcpy by inline long register assignments)

solution: fix in code

files: iphc.cpp, iphc.h

products: all

risks: None
Status: checked in to 9.00,8.00,09-80500

NTP Server must respond to SYNC clients even if the device has no correct time from an official server

Status Closed
Id 49267

problem: when the NTP server is used to syncronize devices (SYNC client) a correct time is not required but the server must respond.

solution: don't ask for correct time on a client request.

files: ntp.cpp

products: all

risks: None, responses with a time lower Y2K are ignored by the NTP client (but not by the SYNC client)
Status: checked in to 9.00,8.00,09-80500

RAS registration over a PPTP connection fails - association of server-local addr to PPTP interface wrong

Status Closed
Id 49308

problem: RAS registration via a PPTP interface failed because a wrong rasAddress was returned in GatekeeperConfirm. Instead of the servers defaut IP address the remote endpoint address was associated to an interface without a configured server-local address.

solution: fix in code

files: ipproc.cpp

products: all

riscs: none
Status: checked in to 9.00,8.00,09-80500

headset mode must be kept when a knocking call is accepted via operator while a disconnected call is pending

Status Closed
Id 49796

problem: a knocking call accepted via operator was routed to speaker instead to headset when the phone was in headset mode playing the busy tone for a call which was disconnected from remote.

solution: fix in code

files: app_ctl.cpp

products: all phones

riscs: none
Status: checked in to 9.00,8.00,09-80500

Wrong calling party info on CTI initiated calls from a phone to a Trunk Object with 'Set Calling=Diverting No' checked

Status Closed
Id 50309

problem: When a CTI application (TAPI or other SOAP based application) initiates a call from a phone to a Trunk Object with 'Set Calling=Diverting No' checked the the called party receives a wrong calling party info.

solution: when a CT-INITIATE is received on a RC-CONNECT call the cdpn in the CT-SETUP facility sent with the newly created outbound call is set to the phones own number (i.e. identical to the SETUP cgpn).

files: phonesig.cpp

products: all phones

riscs: none
Status: checked in to 8.00,9.00,09-80500

In some countries the ring tone timing patterns for internal/external calls need to be swapped to meet country defaults

Status Closed
Id 50328

problem: the builtin ring tone timing patterns for internal/external calls which are applied to the builtin ring melodies don't meet the country specific preferences for example in switzerland. swapping the patterns may help.

solution: "config add RING /swap-i-x" to swap patterns

files: ring.cpp, phone_pref.xsl

products: all phones

riscs: none Status: checked in to 8.00,9.00,09-80500

INCA phones - monitoring a headset conversation via handset (headset-spy) did not work

Status Closed
Id 50673

problem: the /headset-spy option was skipped because of a bug in the driver option handler

solution: fix in code

files: inca_dsp.cpp

products: all phones

risks: None
Status: checked in to 9.00,8.00,09-80500

in any phone recording mode the recorder gets number and/or h323id of the currently connected remote party

Status Closed
Id 50827

problem: without this infomation the identification of the remote party in an recorded call requires syncronisation with log files not directly available in the recorder.

solution: a CT-COMPLETE with number/h323id of the remote party is sent to the recorder whenever the remote party changes because of a consultation call or a call transfer.

files: appp_form.cpp, app_fkey.cpp, app_disp.cpp, app_ctl.cpp, app_ctl.h, app_call.cpp

products: all phones

risks: Minimal for recorders not able to deal with CT-COMPLETE info
Status: checked in to 8.00,9.00,09-80500

Phone: access to PBX directories failed if the PBX System Name contained non ascii characters (>= 128)

Status Closed
Id 50974

problem: the LDAP API expects latin1 but the name was utf8 encoded

solution: convert name to latin1 before passing to API

files: phone_dir.cpp

products: all phones

risks: none
Status: checked in to 8.00,9.00,09-80500

When upgrading a phone to V8 directories having been disabled in V7 may come up enabled in V8

Status Closed
Id 51381

problem: to save space in flash the default V8 directory configuration is not stored in xml-config. When a V7 config is merged to a default V8 config a default enable='1' may override an enable='0' from V7 (V7 does not write bools with a value '0' to xml config)

solution: fix wrong overrides by checking for V7 specific config patterns

files: phone_user.cpp

products: all phones

riscs: none
Status: checked in to 8.00,9.00,09-80500

function keys defined in a config template could not be overloaded by an associated user object

Status Closed
Id 51506

problem: a function key defined in a template could not be overridden by an associated user object, the key in the template did always win.

solution: the changed function key must be kept in user object

files: phone_config.cpp

products: all PBX and phones

riscs: none
Status: checked in to 8.00,9.00,09-80500

AD Replicator, Searches to Global Catalog Server weren't possible

Status Closed
Id 50129

problem: Searches to Global Catalog Server weren't possible

solution: Fix configuration for LDAP port

files: ldaprep.cpp

products: all PBX-,Dect products

risks: None

Flashdir: Comparison for 'guid' could fail

Status Closed
Id 50965

problem: Comparison for 'guid' could fail

solution: apply binary comparison (was case insensitive)

files: flashdir.cpp

products: all PBX products

risks: None

LDAP/Replicator-Status "There is no replicator active"

Status Closed
Id 51733

Problem: When no replicator is enabled the replicator status window is showing
an empty drop-down list. It should be a message shown indicating that
no replicator is enabled.

Solution: Display "There is no replicator active"

Files: ldaprep_status.xsl

Risk: none

Cleanup gateway interface config

Status Closed
Id 49181

Problem: Config option 'mask' could not be used as filter for incoming calls.

Solution: Accept configured 'mask' and use it as filter (together with 'addr') for incoming calls on interfaces without registration.

Files: gk_if.h gk.h/cpp relay.cpp

Products affected: SIP devices

Risk: Long forgotton feature "dial the remote ip address" not available anymore.

PBX Waiting Queue did not provide diverting party display name

Status Closed
Id 49786

Problem: PBX Waiting Queue did not provide diverting party display name when forwarding/distributing calls.

Solution: Provide diverting party name.

Files: pbx_wait.cpp/h

Products affected: PBX

Risk: No risk.

GUI: Registration indicator not aligned

Status Closed
Id 50070

Problem: The registration indicator (arrow) was not aligned on Gateway/GK page.

Solution: Make it aligned.

Files: relay_ifs.xsl

Products affected: All gateways

Risk: No risk.

PBX: Presence subscription was rejected by object type 'Executive'

Status Closed
Id 50091

Problem: Watching presence of an 'Executive' user was not possible. Subscription was rejected.

Solution: Accept presence subscription at 'Executive' user .

Files: pbx.cpp

Products affected: All PBX devices

Risk: No risk.

Control calls without facility elements were forwarded on ISDN

Status Closed
Id 50199

Problem: Control calls (calls without media channel) without facility elements were forwarded on ISDN. Seems to causes trouble on some ISDN switches

Solution: Reject control calls without facility elements with "Invalid information element contents".

Files: relay.cpp

Products affected: All gateways

Risk: No risk.

Wrong presence status in PBX admin dialog

Status Closed
Id 50268

Problem: Presence status 'open' is displayed when no presence status is available.

Solution: Fix presence dialog.

Files: pbx_edit_presence.xsl

Products affected: All PBXs

Risk: No risk.

Phone: Fkey "Partner" should light up LED when partner's presence activity is "on-the-phone"

Status Closed
Id 50389

Problem: Fkey "Partner" does not light up LED when partner's presence activity is "on-the-phone".

Solution: Light up LED on partner key when partner's presence activity is "on-the-phone".

Files: app_disp.cpp

Products affected: Phones with partner keys only

Risk: No risk.

Gateway: Cannot use SIP interfaces without having "Media-Relay" and "Exclusive Coder" enabled

Status Closed
Id 50425

Problem: Cannot use SIP interfaces without having "Media-Relay" and "Exclusive Coder" enabled. Installations with many SIP interfaces and heavy load will suffer from RTP traffic.

Solution: Do not enforce "Media-Relay" and "Exclusive Coder" in SIP interfaces.

Files: relay_edit_sip.xsl

Products affected: Gateways with SIP interface

Risk: No risk.

Make LCD dump to be displayed in browser

Status Closed
Id 51485

Problem: LCD dump was displayed by external program.

Solution: Fix Content-Type of lcd_dump.bmp to make browsers display it.

Files: http.cpp

Products affected: All phones

Risk: No risk.

ISDN: Sending of CEI facilities as Point to Multipoint endpoint did not work

Status Closed
Id 51744

Problem: Call independent signaling did not work on Point to Multipoint interfaces. Required for Call Completion.

Solution: Fixed.

Files: q931.cpp

Products affected: BRI Gateways

Risk: Small risk of collateral damage.

Phone: Local coder config was not used on outgoing phone calls

Status Closed
Id 49899

Problem: Local coder config was not applied to outgoing phone calls, but is required when it comes to media re-negotiation.

Solution: Give local coder config to all kind of calls.

Files: phonesig.cpp/h

Products affected: All phones.

Risk: No risk.

Phone: Stop trying to subscribe for own presence

Status Closed
Id 50346

Problem: On PBX's not supporting presence subscription (v7 or earlier) the phone endlessly tries to subscribe for own presence.

Solution: Stop trying to subscribe for own presence.

Files: phonesig.cpp

Products affected: All SIP phones

Risk: No risk.

Phone: Fkey "Partner" should try to subscribe for Presence only if checkmark set

Status Closed
Id 50857

Problem: Fkey "Partner" tries to subscribe for partner's presence. Even on PBXs not supporting Presence.

Solution: Added checkmark to Partner fkey config.

Files: phone_config.h/cpp phone_edit.cpp app_fkey.cpp fkey_edit_partner.xsl

Products affected: Phones with partner keys only

Risk: No risk.

Phone: Fkey "Partner" show presence activity even if partners presence status is "closed"

Status Closed
Id 50952

Problem: Fkey "Partner" does not show presence activity if partners presence status is "closed" (not registered).

Solution: Show presence activity regardless of the status.

Files: app_disp.cpp

Products affected: Phones with partner keys only

Risk: No risk.

Phone: Presence subscription of partner fkey not created sometimes

Status Closed
Id 51519

Problem: In some cases the presence subscription of the partner fkey was not established.

Solution: Fix lookup of existing presence subscription.

Files: phonesig.cpp

Products affected: Phones with partner fkeys

Risk: No risk.

Phone: Trap when re-creating presence call

Status Closed
Id 51588

Problem: Trap when re-creating presence call, because facility entity did not exist.

Solution: Re-create facility entity when re-creating call object.

Files: phonesig.cpp

Products affected: All phones

Risk: No risk.

SIP: Handling of re-INVITE collision

Status Closed
Id 49135

Problem: After re-INVITE collision at Mitel-PBX, every incoming re-try was rejected with 491 until outgoing re-try was successful.

Solution: Accept incoming re-try while having a postponed re-INVITE client transaction.

Files: sip.cpp

Products affected: SIP devices

Risk: No risk.

Memory Leak

Status Closed
Id 49164

Problem: When closing a SIP interface a small buffer containing the proxy name was not freed.

Solution: Free proxy name buffer.

Files: sip.cpp

Products affected: SIP endpoints

Risk: No risk.

ENUM/SIP interfaces shall accept incoming calls

Status Closed
Id 49198

Problem: Gateway interfaces of type ENUM/SIP did not accept incoming calls.

Solution: Make ENUM/SIP interfaces accept incoming calls.

Files: siptrans.cpp

Products affected: Gateway devices

Risk: No risk.

Trap when SIP closes unused transport connections

Status Closed
Id 49257

Problem: Rare trap when SIP closes transport connections that failed to establish.

Solution: Fix cleanup of unused transport connections.

Files: siptrans.cpp

Products affected: SIP devices using SIP/TCP or SIP/TLS (not SIP/UDP)

Risk: No risk.

SIP: 180/Ringing was not re-transmitted

Status Closed
Id 49461

Problem: If 180/Ringing got lost and the caller re-transmitted INVITE, re-transmission of 180/Ringing was missing.

Solution: Re-transmit last sent provisional response.

Files: siptrans.cpp

Products affected: SIP devices

Risk: No risk.

SIP: Incoming calls not accepted by PBX

Status Closed
Id 49473

Problem: Incoming SIP calls are rejected with 407, if lookup of active registration fails due to display-name in Contact header of INVITE.

Solution: Skip display-name of Contact header when performing registration lookup for incoming call.

Files: siptrans.cpp

Products affected: SIP devices

Risk: Low risk of collateral damage.

Trap when switching off SIP phone

Status Closed
Id 49556

Problem: Switching off causes unregistration. It traps when receiving REGISTER response.

Solution: Wait for response before deleting interface.

Files: sip.cpp/h

Products affected: SIP devices

Risk: Small risk of collateral damage.

SIP: INVITE after REFER for blind transfer missed Referred-By header

Status Closed
Id 49854

Problem: After receiving REFER for blind transfer a new INVITE is sent without Referred-By header.

Solution: Save Referred-By header of received REFER on existing call and send it in INVITE for new call.

Files: sip.cpp/h siptrans.cpp/h

Products affected: SIP devices

Risk: No risk.

SIP: Incoming calls with anonymous From-URI were not tagged as CLIR

Status Closed
Id 50058

Problem: Incoming SIP calls with anonymous From-URI were not tagged as CLIR.

Solution: Honour "anonymous" in From-URI and set Presentation Restricted flag in CGPN.

Files: sip.cpp

Products affected: All SIP devices

Risk: No risk.

Gateway sends calls to wrong registered SIP endpoint

Status Closed
Id 50102

Problem: If the addressed endpoint is currently not registered at the registrar interface at the gateway, calls are delivered to another registered SIP endpoint.

Solution: Reject calls if addressed endpoint is not registered.

Files: siptrans.cpp

Products affected: All gateways

Risk: No risk.

Phone: Changes to option 'Proposed Registration Interval' were applied after reboot only

Status Closed
Id 50214

Problem: Changes to option 'Proposed Registration Interval' had no effect until reboot. Demand for reboot was not indicated.

Solution: Apply configured registration interval at runtime. No reboot required.

Files: phonesig.cpp

Products affected: All SIP phones

Risk: No risk.

SIP: Signaling not sent to non-standard port

Status Closed
Id 50394

Problem: Even if non-standard remote port is configured, signaling is sent to 5060.

Solution: Apply configured remote port.

Files: sip.cpp

Products affected: SIP devices

Risk: No risk.

SIP: Problems parsing exotic SIP URIs

Status Closed
Id 50421

Problem: Failed to decode destination port from a redirect URI like this: <sip:2204;phone-context=cdp.udp@livio.nl:16618;maddr=10.2.10.3;transport=udp;x-nt-redirect=redirect-server>

Solution: Fix URI parsing.

Files: sipmsg.cpp

Products affected: All SIP devices

Risk: No risk

SIP: NOTIFY(message-summary) not handled by PBX

Status Closed
Id 51443

Problem: NOTIFY(message-summary) was not handled by PBX (server side). Only by phones (client side)

Solution: Implement handling of unsolicited NOTIFY(message-summary) at server side.

Files: sip.cpp/h

Products affected: PBX with SIP clients

Risk: No risk.

SIP: Send Call-Info header with "answer-after=0" for auto answer signaling

Status Closed
Id 51554

Problem: Snom phones (and others) do not support Answer-Mode header (RFC-5373). But they honour "anser-after" parameter in Call-Info header.

Solution: Send Call-Info header with "answer-after" header.

Files: sipmsg.cpp/h siptrans.cpp

Products affected: All SIP PBXs

Risk: No risk.

Other new Features

49678 sga Media relay &amp; Exclusive Haken bei SipTrunk


Bug Fixes

Other Bug Fixes

50108 cmu Country settings in 'TELx/Physical' cannot select lines containing '+' character
50581 pme Presence on Partner Function Key


V8 Hotfix 3

Fixes included in Version 8 hotfix2 Definition

New Features

Option added to configure DTMF detection sensitivy

Status To-decide
Id 52879

problem: sporadic false DTMF detect

solution: Option added to configure DTMF detection sensitivy. Use
config change AC-DSP0 /dtmf-threshold <val>
config write
reset
to change the sensitivity.
0 selects -38dBm ( default),
1 selects -28dBm,
2 selects -33dBm,
3 selects -43dBm,
4 selects -48dBm
During boot a non-default sensitivity is shown in the trace

files: ac_dsp2.cpp/h ac48xlo.c ac48xdef.h

products: ip800 ip6000

PBX dtmf object selects wrong mobility user for feature codes

Status Closed
Id 51811

Problem: e.g. calling cfu activate activates cfu on any user with a mobility fork and not just on the mobility user who is calling

Solution: use correct number to determine mobility user

Files: pbx_dtmf.cpp

Risk: no risk

PBX dtmf/icp object couldn't assign e164 without node/pbx if another object already has this e164

Status Closed
Id 51812

Problem: setting an e164 for features in an object without node/pbx didn't work if another object already had this number, but with configured node/pbx

Solution: use a new method for determining existing e164

Files: pbx_dtmf.cpp, pbx_icp.cpp, pbx.cpp, pbx.h, pbx_api.h

Risk: no risk

Ignore calls from gateway objects to dtmf object if no mobility user is found for incoming number

Status Closed
Id 51871

Problem: If one would call the dtmf object over a gateway object and no mobility user is found for the caller, the feature codes would be applied to the gateway object.

Solution: Reject calls over gateway objects without mobility user for incoming number.

Files: pbx_dtmf.cpp

Risk: no risk

innovaphone endpoints which do not support group indications can turn off sending of group indications in PBX

Status Closed
Id 51799

problem: High load can be generated by group indications on endpoints which do not support group indications (e.g. IP-DECT).

solution: These endpoints can turn off sending of group indications in the PBX

files: gk.cpp, pbx_api.h, pbx.cpp, pbx_gi.cpp, h323sig.cpp, h323ras.cpp, h323.h, voip.h, dectmaster.cpp

products: all

risks: Small risk of collateral damage

Potential trap when disconnecting call, WEBMEDIA-CH.5 default(82c09798): serial_event(814)

Status To-decide
Id 51945

problem: Under special timing conditions a trap could happen during call disconnect. This only happened if the call terminated at a physical interface on the given box.

solution: Cleaning up of media channel fixed

files: media.cpp, media.h, medialib.h

products: all

risks: Other problems with media negotiation

PBX: Filter needed for Gateway or Trunk objects

Status To-decide
Id 51947

problem: Filter configuration was removed from the user interface of Trunk and Gateway objects, but there are applications for which Filters are needed for these objects.

solution: Filter configuration added for Trunk and Gateway

files: pbx_edit_trunk.xsl, pbx_edit_gw.xsl

products: all with PBX

risks: None

PBX: Successive diversion activate/deactivate and dynamic group status sometimes failed

Status Closed
Id 52037

problem: If a diversion activate/deactivate from an endpoint arrived before the last was written to flashdir, update was performed based on information in dram not information being written into flash

solution: Update information in dram before writing to flashdir

files: pbx.cpp, pbx.h, pbx_api.h, pbx_dtmf.cpp

products: all with PBX

risks: Collateral damage with diversion/dynamic group updates

H.323 RAS Registration thru NAT to PBX does not work with password

Status Closed
Id 52126

problem: If registration with password is done, the client is sending a GatekeeperRequest as first message. Response to this message is sent to the (private) address contained in the message itself and not to source address

solution: Send response back to source

files: h323ras.cpp, h323.h

products: all

risks: Minimal

Gateway: Potential Trap with collision of transfer an call clearing

Status Closed
Id 52213

problem: If a transfer is attempted to a call to the gateway at the same time this call is release an NULL pointer access could happen

solution: Check for this situation added

files: gk.cpp

products: all with gateway

risks: Nonen

Allow to limit license usage of slave PBX

Status Closed
Id 52238

problem: In some configuration it is desireable that it can be ensured, that a slave PBX cannot use up too many licenses from the master. This is esspecially the case with dynamic slave PBXs managed by the customer in a hosted environment.

solution: Limits configurable by admin login to the Host box only

files: pbx.cpp, pbx.h, pbx_general.xsl, config_options.cpp, config_options.h

products: all with PBX

risks: Risk of collateral damage, no trivial fix.

innovaphone parameters were not sent with H.323 ras registration confirm, if the confirm was lost the first time

Status Closed
Id 52240

problem: If a RasRegistrationRequest needed to be retransmitted, because the RegistrationConfirm was lost, the second RegistrationConfirm did not contain innovaphone parameters and the client did not detect it was connected to a innovaphone PBX/Gatekeeper.

solution: Send innovaphone parameters in this case also

files: h323.h, h323ras.cpp

products: all

risks: None

Potential hanging h323 signaling (Mem Leak) on collision of removing a signaling entity with outg. call

Status Closed
Id 52252

problem: If a signaling entity is being removed (e.g. by configuration change) and at the same time an outgoing call is attempted at this interface, it could happen that the remove of the signaling interface failed.

solution: handle this collision

files: h323sig.cpp

products: all

risks: None

Avoid reboot when reading traces, if trap happens after firmware update

Status To-decide
Id 52311

problem: If a firmware update is done and before a regular restart a trap happens, the next reading of the trace buffer could generate another trap, because firmware dependent content is accessed in trace buffer.

solution: Avoid trap, by reading save info only from trace buffer in this case

files: debug.cpp, debug.h, arm.cpp, mips.cpp

products: all

risks: None

PBX: Potential Trap if changing groups

Status Closed
Id 52312

problem: If group memberships are changed esspecially at Waiting Queues or Waiting Queue operators a trap could happen, because PBX internal information could get inconsistent.

solution: Fixed update of internal information

files: pbx.cpp

products: all with PBX

risks: Other traps, complex operations, so it is possibly still wrong

PBX: Unknown Registrations did not display name _UNKNOWN_ on the phone anymore

Status Closed
Id 52417

problem: By accident the name _UNKNOWN_ was removed for unknown registration

solution: Name _UNKNOWN_ added

files: pbx.cpp

products: all with PBX

risks: None

PBX SOAP FindUser did not work correctly with users not in root node

Status To-decide
Id 52498

problem: A library function adding prefixes to a number did not work correctly. This was used within the FindUser SOAP function of the PBX

solution: library function fixed

files: q931lib.cpp

products: all

risks: None

H.323 Signal IE when sent once during a call, was then sent with each subsequent message

Status To-decide
Id 52517

problem: A Signal IE sent with one message was repeated with all the messages. This could cause the a Signal IE indicating Ringback sent with Alert was repeated with Disc, so that no busy tone was played with Disc, but Ringback

solution: Send Signal IE once only

files: h323sig.cpp

products: all

risks: Minimal risk of collateral damage

Call Intrusion across PBXs did not work

Status To-decide
Id 52556

problem: If a call was to be intruded with the destination of the intrusion (which is one of the endpoints of the call to be intruded call) on a different PBX the intrusion failed in a strange way, because the intrusion facilities were not correctly forwarded between the PBXs

solution: Fix forwarding of intrusion facilities

files: pbx.cpp, pbx.h, pbx_api.h

products: all with PBX

risks: Small risk of collateral damage with intrusion

PBX Trunk automatic disconnect did not work if user was monitored by SOAP

Status To-decide
Id 52574

problem: If a user was monitored by SOAP a automatic hangup was not sent to the endpoint

solution: Send automatic hangup

files: pbx.cpp

products: all with PBX

risks: None

Potential trap if HTTP session is closed while command is still pending

Status Closed
Id 52576

problem: The command processor was deleted in this case without waiting for result of the command

solution: Wait for result until deleting command processor

files: command.cpp, command.h

products: all

risks: Hanging command processors if check wrong

IP-DECT/Analog: CC was lost if initiating endpoint busy

Status To-decide
Id 52595

problem: If with an anlog phone connected to a IP24/28/... gateway or an IP-DECT phone initiated a call-completion but was busy itself at the time the call-completion could be executed, the call-completion was silently discarded

solution: delay call-completion until not busy

files: dtmffty.cpp, dtmffty.h

products: DECT and Analog gateways

risks: Minimal risk of collateral damage

Switch-PCM together with Media-Relay caused disconnect of call

Status To-decide
Id 52614

problem: If a call from one ISDN interface to another ISDN interface on the same box with Switch-PCM enabled (so that normaly the PCM Switch should be used), was routed thru a PBX with Media-Relay, the call was disconnected.

solution: In case of Media-Relay the PCM-Switch should not be used

files: h323ch.cpp

products: all

risks: None

Registration with Name or Number was only possible if Device with hw-id identical to name was configured

Status Assigned
Id 52634

problem: In v8 devices were introduced into PBX configuration, which allow much better control of SOAP applications on which devices are used and also a mechanism to prohibt registration by Name or Number was built in. Even if this is useful in some cases, this mechanism was so obscur that it generated problems.

solution: Allow registrtation with name or number again independent of configured devices. If no device is configured with hw-id matching the name of the object, such a registration is associated to the first configured device.

files: pbx.cpp, pbx_admin.cpp

products: all with PBX

risks: In some installation the new feature may have been used already.

PBX Mobility: Unexpected restart if 3 or more mobility destinations configured at a user

Status To-decide
Id 52782

problem: The binary tree used to keep track of the mobility calls at a user got corrupted because of a typo in the Mobility object code. For some strange reasons this only happened with 3 ot more mobile destinations

solution: typo corrected

files: pbx_mobility.cpp

products: all with PBX

risks: None

PBX Mobility: No media if 3 or more forking/mobility destinations without delay configured

Status To-decide
Id 52783

problem: The media path was not switched correctly when calling mobile endpoints. More or less by accident it worked anyway for the first and the last forking destination

solution: media path switrching fixed

files: pbx_mobility.cpp

products: all with PBX

risks: None

PBX Mobility: Trap if consultation call is cleared by remote side and user attempts to switch back to first call

Status To-decide
Id 52860

problem: If a consultation call is cleared by remote side an attempt to switch back to the first call (by sending R-Key pattern) leads to a trap

solution: Handle switch back to first call better

files: pbx_mobility.cpp

products: all with PBX

risks: None

Kerberos trap when turning off standby PBX with replication

Status To-decide
Id 52415

problem: The box traps when a standby PBX with LDAP replication is turned off.

solution: Fix event flow in kerberos_ldap_realm_tree.

products: all with PBX

files: kerberos_ldap.cpp, pbx.cpp

risk: no risk known

mem info for TLS socket

Status To-decide
Id 52476

description: Implement mem info for tls_socket objects for debugging purposes.

products: all

files: tls.h, tls.cpp

risk: no risk

Problems with TLS event handling

Status To-decide
Id 52537

problem: Two problems with the TLS state machine were found:
A) SOCKET_SHUTDOWN from application is ignored if it is received between SOCKET_CONNECT from application and SOCKET_CONNECT_COMPLETE from TCP.
b) When the TCP connection is closed during TLS handshake, TLS tries to send a SOCKET_RECV_RESULT(fin) to the application instead of SOCKET_SHUTDOWN.

solution: fix state machine

products: all

files: tls.cpp, tls.h

risk: risk of damaging applications using TLS

Control calls without facility elements were forwarded on ISDN

Status To-decide
Id 52095

Problem: Control calls (calls without media channel) without facility elements were forwarded on ISDN. Seems to causes trouble on some ISDN switches

Solution: Reject control calls without facility elements with cause "Invalid information element contents".

Files: q931.cpp/h nt_tbl.tbl te_tbl.tbl

Products affected: All gateways

Risk: No risk. Status: Neuauflage von http://mantis.innovaphone.com/view.php?id=50199

Ich hatte für v8hf2 etwas in relay.cpp gemacht,
damit keine Ctrl-Calls ohne Fty-Elemente ins ISDN geroutet werden.
(Durch Presence-Subscriptions zu externen Teilnehmer passierte das
und hatte eine Vermittlung nachhaltig verwirrt.)

Nun stellt sich heraus, dass das Problem sub-optimal gelöst wurde.
Ich habe den eingegangegen Call gleich ganz released.
Wenn man aber abgehende Calls immer erst über TONE schleift,
dann schlägt mein Hack genau da gnadenlos zu,
und CC-Requests kommen dann nie ins ISDN.
:-(

Erste Idee war, statt zu rejecten, zu re-routen.
Das verhält sich dann etwas besser, aber dann bin ich noch auf etwas gestoßen,
was den ganzen Trick im Relay unmöglich macht:

Wenn an der Route zum ISDN nicht das Interworking-Flag gesetzt ist,
dann reicht das RELAY sehr wohl eine Fty-Liste zum ISDN-Signaling.
Fürs RELAY ist das also kein Ctrl-Call ohne Ftys!
Aber das ISDN-Signaling schmeißt die H450-Ftys trotzdem weg
und jagt den Ctrl-Call ohne Ftys raus.

Erkenntnis:
Man muss sowas doch im Signaling abfangen.
Q931 muss selbst erkennen, dass das kein Sinn mancht und den Ruf
mit einem passenden Cause rejecten.
Dann klappt auch das Re-Routing zum nächsten IF.

/Thomas

IP-DECT Master potential trap

Status Closed
Id 51983

problem: There is a potential trap if the IP-DECT Master is used in the IP6000.

solution: Condition added.

files: dectmaster.cpp.

products affected: All DECT devices.

risk: Minimal risk of collateral damage.

H323 potential trap during signaling cleanup

Status Closed
Id 52030

problem: A trap can occur if a call is still active in accept state and its signaling is cleaned-up.

solution: Call membership fixed.

files: h323sig.cpp.

products affected: All devices.

risk: Minimal risk of collateral damage.

IP-DECT OEM location recovery

Status Closed
Id 52146

problem: No location cancel acknowledge response message is sent back if the endpoint is unknown. Needed in OEM system.

solution: Location cancel acknowledge response message added.

files: dectradio.cpp.

products affected: All DECT devices.

risk: No risk of collateral damage. OEM devices only.

IP-DECT trap during debugging

Status Closed
Id 52157

problem: Trap occurs if endpoints are listed for debugging in DECT radio.

solution: Pointer check added.

files: dectlocalusers.cpp.

products affected: All DECT devices.

risk: No risk of collateral damage.

IP-DECT call counter

Status Closed
Id 52347

problem: The call counter for maximum cpu load for SRTP should count radio calls and handover-ins together.

solution: Call counter changed. Handover-in calls aren't counted separately.

files: dectradio.cpp.

products affected: All DECT devices.

risk: No risk of collateral damage.

IP-DECT call counter busy state

Status Closed
Id 52406

problem: The last possible call from master is not accepted by DECT because the DECT is switched to busy state before sending this call setup.

solution: Sequence of signaling setup and busy message changed.

files: dectradio.h, dectradio.cpp.

products affected: All DECT devices.

risk: Minimal risk of collateral damage.

IP-DECT OEM protocol memory leaks

Status To-decide
Id 52466

problem: There are memory leaks if Skinny protocol is used.

solution: Cleanup fixed.

files: skinny.h, skinny.cpp, skinny_signaling.cpp, skinny_translation.cpp.

products affected: All DECT devices.

risk: Minimal risk of collateral damage.

IP-DECT IP6000 DECT module

Status Closed
Id 52486

problem: Unused OEM DECT module should not be available in IP6000.

solution: Configuration changed.

files: config.h, changed OEM files, removed files.

products affected: All DECT devices.

risk: Minimal risk of collateral damage.

IP-DECT BMC trace off command

Status To-decide
Id 52528

problem: The BMC should be able to stop the trace for debugging.

solution: BMC message and handler added.

files: dect.h, dect.cpp.

products affected: All OEM DECT devices.

risk: No risk of collateral damage.

IP-DECT interface functions for OEM modules

Status To-decide
Id 52920

problem: New interface functions for OEM modules needed.

solution: Interface functions added.

files: dectusers_if.h, dectusers.h, decctmaster_if.h.

products affected: All DECT devices.

risk: No risk of collateral damage.

HTTP client head request waits for data

Status Assigned
Id 51978

problem: HTTP client head request waits for data since a content_len is set in the HTTP header. That data is not sent during a head request

solution: ignore content-len header on a head request

files: httpclient_i.cpp

products: all

risks: low risk

DSP fix sporadic trap

Status Assigned
Id 52247

problem: sporadic trap in ac-dsp, defect return address

solution: fax buffer size increased, buffer check added, dsp receive packet relase done later

files: ac_fax2.cpp ac_dsp2.cpp

products: ip800 ip6000 ip1200 ip1201 ip4001

risks: low risk

DHCP client must check if an address provided by the server or a kept/reused address is not already in use

Status To-decide
Id 52076

problem: some DHCP servers may deliver addresses which are already used by another device in the network. This may happen if the server does not check the addresses before delivery and either the server crashed and forgot previous assignments or there is a statically configured device with this address in the network

solution: if there is ARP reply for the provided address send a DHCPDECLINE to the server and restart discovery

files: dhcp.cpp, dhcp.h, arp_p.cpp

products: all

riscs: none Status: checked in to 8.00

socket bind/connect sometimes failed because of duplicate assignment of local wildcard port

Status To-decide
Id 52341

problem: a local wildcard port could be assigned twice in case a socket using this port did exist over a period where all port numbers above and below this number had been assigned once.

solution: fix in code

files: tcp.cpp, tcp.h

products: all

riscs: none
Status: checked in to 9.00,8.00

local call forwarding on busy for already alerting calls

Status To-decide
Id 52541

problem: local call forwarding on busy was supported only for calls rejected with cause busy before entering alerting state, i.e. when call waiting was disabled and the phone was busy with another call. there seems to be a need to forward already alerting calls too when the disconnect button is pressed to get rid of the call.

solution: implement in code

files: phonesig.cpp

products: all phones

riscs: none, only used when local call forwarding is enabled Status: checked in to 9.00,8.00

phone: DHCP configuration of a non-automatic primary registration fails when the registration is created before DHCP completion

Status To-decide
Id 52543

problem: when DHCP completed after creation of a non-automatic primary registration some parameters provided in phonesig_if::create_phone_reg() were overriden (non-automatic primary registration: a primary registration not created automatically by phonesig.cpp with the parameters given on the "config change PHONE SIG ..." command line but by an application).

solution: fix in code

files: phonesig.cpp

products: all phones

riscs: none
Status: checked in to 9.00,8.00

phone: names containing non-ascii characters entered in the registration menu of secondary registrations are garbled

Status To-decide
Id 52674

problem: if any name containing non-ascii characters was entered in the registration menu of a secondary registration (Registration 2...6/Registration) the text was stored in wrong encoding. in this case it was not not possible to register via 'Name' or to access a gatekeeper via 'Gatekeeper Identifier'.

solution: fix in code

files: phonesig_if.cpp, phonesig_if.h, phone_edit.cpp, phonesig.cpp, phonesig.h, app_fkey.cpp

products: all phones

riscs: none
Status: checked in to 9.00,8.00

phone: passwords containing non-ascii characters did not work for the primary registration

Status To-decide
Id 52788

problem: if a password containing non-ascii characters was entered in the registration menu of a primary registration (Registration 1) the password was stored in wrong encoding and thus did not match the password configured at PBX.

solution: fix in code

files: phonesig_if.cpp, phonesig_if.h, phone_edit.cpp, phonesig.cpp, phonesig.h, app_fkey.cpp

products: all phones

riscs: none
Status: checked in to 9.00,8.00

directory entries displayed duplicate when using delayed input with slow LDAP-servers

Status To-decide
Id 52877

problem: with delayed keyboard input the number of queries sent to the LDAP server when typing a name is reduced. The first query is sent after the number of characters configured by 'delay-count' or the timeout configured by 'delay-ticks'. If another character was typed before the response arrived a new search was started but the previous search results were not cleared.

solution: fix in code

files: phone_dir_ui.cpp

products: all phones

riscs: none
Status: checked in to 7.00,8.00,9.00

Trap of PBX when relasing webmedia call

Status To-decide
Id 51938

Problem: Trap when releasing a webmedia call (MOH, WQ announcement, Voicemail, etc).

Solution: Don't give events to channel object after CHANNEL_DISCONNECT.

Files: dummysig.cpp

Products affected: All PBX devices

Risk: No risk.

ISDN: Call completion could not be activated at point-to-point interfaces

Status To-decide
Id 51990

Problem: Call completion could not be activated at point-to-point interfaces. ccbs_T_Request was badly encoded.

Solution: Fixed encoding ccbs_T_Request and added handling of ccbs_T_RequestResult.

Files: q932asn1.cpp relay.cpp q950.cpp/h fty.h

Products affected: BRI Gateways

Risk: No risk.

Phone: Mis-configuration may cause phone to try presence subscription for nobody

Status Closed
Id 51838

Problem: Configuring a partner fkey without specifying partner's name or number causes the phone to subscribe for presence without name or number.

Solution: Never try to subscribe for presence without name or number.

Files: phonesig.cpp

Products affected: All phones

Risk: No risk.

Phone: Presence fkey disappears and cannot be configured

Status To-decide
Id 52036

Problem: An already configured fkey "Presence" disappears and cannot be configured after uploading hotfix2.

Solution: Fixed presence fkey.

Files: phone_config.cpp phone_edit.cpp

Products affected: All phones

Risk: No risk.

SIP: Unsolicited NOTIFY(message-summary) not handled

Status To-decide
Id 51636

Problem: Unsolicited NOTIFY(message-summary) not handled when received before having tried to subscribe for message-summary.

Solution: Keep last received message-summary and give it to app after subscription was rejected by SIP server.

Files: sip.cpp/h

Products affected: All phones

Risk: No risk.

SIP: UPDATE with SDP with "sendrecv" wasn't handled

Status Closed
Id 52007

Problem: UPDATE(sendrecv) wasn't handled after UPDATE(sendonly/inactive).

Solution: Fixed handling of UPDATE with SDP.

Files: sip.cpp

Products affected: All SIP devices

Risk: No risk.

SIP: SRTP key changes right after connect

Status To-decide
Id 52159

Problem: During call establishment with SRTP a re-INVITE is initiated right after connect providing a new SRTP key. It's unnecessary and some equpiment fail to handle change of SRTP key.

Solution: Avoid change of SRTP during call.

Files: sip.cpp/h

Products affected: SIP Gateways

Risk: No risk.

SIP: Anonymize remote-party info when sending dialog-info if remote-party calls with CLIR

Status To-decide
Id 52171

Problem: Calling party is seen in dialog-info even if CLIR was set.

Solution: Hide remote party in dialog-info if remote-party calls with CLIR.

Files: sipmsg.cpp

Products affected: PBX serving SIP endpoints

Risk: No risk.

SIP: Trap when using TCP as transport

Status To-decide
Id 52209

Problem: Trap when trying to cleanup idle/unused TCP connections.

Solution: Check connection state before initiating connection shutdown.

Files: siptrans.cpp

Products affected: SIP devices doing SIP over TCP

Risk: No risk.

SIP Entity URI in "application/dialog-info+xml" and "application/pidf+xml" was wrong

Status To-decide
Id 52246

Problem: The SIP URI in the "entity" attribute was wrong in presence and dialog XML.

Solution: Fix SIP URI in the "entity" attribute.

Files: sip.cpp/h sip_dialog_info.cpp/h

Products affected: PBXs serving SIP endpoints

Risk: No risk.

SIP: Bad REGISTER request was not rejected

Status To-decide
Id 52249

Problem: If an incoming REGISTER request does not contain userpart in To-URI, no response was sent to client.

Solution: Reject with "400 Bad Request".

Files: sip.cpp sipmsg.h

Products affected: PBXs serving SIP endpoints

Risk: No risk.

SIP: Trap when performing call transfer on ARM based hardware

Status Closed
Id 52356

Problem: Trap due to alignment error.

Solution: Fix alignment of data.

Files: sip.cpp

Products affected: ARM based devices talking SIP

Risk: No risk.

Noise after transfering a waiting queue connection

Status To-decide
Id 52718

Problem: Being connected to a waiting queue announcement; Transfering this call to another endpoint; Transfer destination will hear noise instead of waiting queue announcement (in case of code change only)

Solution: Re-start announcement in matching coder.

Files: webmedia.cpp/h

Products affected: All PBXs

Risk: No risk.

Bug Fixes

Other Bug Fixes

51994 tac Bug in v8HF2 - Presence Tasten verschwinden/können nicht angelegt werden.
51618 afi pbx dtmf object without node/pbx can't add number