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 15: Line 15:


      
      
=== Multiple PBX on a single Gateway (PBX Hosting) ===
=== Operator rework (v8 switchboard) ===


{|
{|
Line 22: Line 22:
|-
|-
|Id
|Id
|[http://mantis.innovaphone.com/view.php?id=26462 26462]
|[http://mantis.innovaphone.com/view.php?id=19363 19363]
|}
|}
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
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
      
      
=== Application Platform Beta ===
=== Phone config stored on PBX ===


{|
{|
Line 33: Line 35:
|-
|-
|Id
|Id
|[http://mantis.innovaphone.com/view.php?id=36005 36005]
|[http://mantis.innovaphone.com/view.php?id=22337 22337]
|}
|}
Beta Version of the application platform, which can be used for development purposes. Only selected Hardware will be supported.
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.
      
      
=== PBX Mobility Object ===
=== Multiple PBX on a single Gateway (PBX Hosting) ===


{|
{|
Line 44: Line 46:
|-
|-
|Id
|Id
|[http://mantis.innovaphone.com/view.php?id=38357 38357]
|[http://mantis.innovaphone.com/view.php?id=26462 26462]
|}
|}
- 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!!!
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
      
      
=== PBX Call Forking ===
=== Presence ===


{|
{|
Line 55: Line 57:
|-
|-
|Id
|Id
|[http://mantis.innovaphone.com/view.php?id=38358 38358]
|[http://mantis.innovaphone.com/view.php?id=27130 27130]
|}
|}
- 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
The PBX manages presence information from endpoints.<br/>Presence information is received and sent to endpoints with SIP or H.323/H.450
''Status:''
Documentation:<br/>http://wiki-intern.innovaphone.com/index.php?title=Development:Presence
      
      
=== Single Sign On ===
=== Single Sign On ===
Line 70: Line 74:
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.
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.
      
      
=== Operator rework (v8 switchboard) ===
=== Application Platform Beta ===


{|
{|
Line 77: Line 81:
|-
|-
|Id
|Id
|[http://mantis.innovaphone.com/view.php?id=19363 19363]
|[http://mantis.innovaphone.com/view.php?id=36005 36005]
|}
|}
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.
Beta Version of the application platform, which can be used for development purposes. Only selected Hardware will be supported.
''Status:''
http://wiki.innovaphone.com/index.php?title=Reference8:Innovaphone.switchboard
      
      
=== SIP Presence Federation ===
=== PBX Mobility Object ===


{|
{|
Line 90: Line 92:
|-
|-
|Id
|Id
|[http://mantis.innovaphone.com/view.php?id=39234 39234]
|[http://mantis.innovaphone.com/view.php?id=38357 38357]
|}
|}
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
- 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!!!
      
      
=== Phone config stored on PBX ===
=== PBX Call Forking ===


{|
{|
Line 101: Line 103:
|-
|-
|Id
|Id
|[http://mantis.innovaphone.com/view.php?id=22337 22337]
|[http://mantis.innovaphone.com/view.php?id=38358 38358]
|}
|}
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.
- 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
      
      
=== Presence ===
=== SIP Presence Federation ===


{|
{|
Line 112: Line 114:
|-
|-
|Id
|Id
|[http://mantis.innovaphone.com/view.php?id=27130 27130]
|[http://mantis.innovaphone.com/view.php?id=39234 39234]
|}
|}
The PBX manages presence information from endpoints.<br/>Presence information is received and sent to endpoints with SIP or H.323/H.450
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
''Status:''
Documentation:<br/>http://wiki-intern.innovaphone.com/index.php?title=Development:Presence
=== Other new Features ===
=== Other new Features ===


Line 300: Line 300:


      
      
=== incorrect pointer assignment in submit_config of dtmf/icp object and false configuration possibility ===
=== Show presence note (if available) instead of activity during ringback  ===


{|
{|
Line 307: Line 307:
|-
|-
|Id
|Id
|[http://mantis.innovaphone.com/view.php?id=47716 47716]
|[http://mantis.innovaphone.com/view.php?id=47531 47531]
|}
|}
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
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.
      
      
=== dtmf feature code set presence used wrong argument to toggle the mobility ===
=== SIP: Fax and audio offer was rejected with 488 ===


{|
{|
Line 318: Line 318:
|-
|-
|Id
|Id
|[http://mantis.innovaphone.com/view.php?id=47916 47916]
|[http://mantis.innovaphone.com/view.php?id=47544 47544]
|}
|}
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
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.
      
      
=== no presence note set if no activity has been selected ===
=== Potential trap accessing NULL pointer in PBX Waiting Object ===


{|
{|
Line 329: Line 329:
|-
|-
|Id
|Id
|[http://mantis.innovaphone.com/view.php?id=48446 48446]
|[http://mantis.innovaphone.com/view.php?id=47563 47563]
|}
|}
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  
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
      
      
=== handle calls from master/slave user in dtmf object if calling number is found as mobility fork ===
=== AD Replication. Only 10x In-Maps per Source Attribute Configurable ===


{|
{|
Line 340: Line 340:
|-
|-
|Id
|Id
|[http://mantis.innovaphone.com/view.php?id=48448 48448]
|[http://mantis.innovaphone.com/view.php?id=47629 47629]
|}
|}
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
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.
      
      
=== allow empty search base in directory search object ===
=== SIP: INVITE rejected with 407 ===


{|
{|
Line 351: Line 351:
|-
|-
|Id
|Id
|[http://mantis.innovaphone.com/view.php?id=48703 48703]
|[http://mantis.innovaphone.com/view.php?id=47631 47631]
|}
|}
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
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 accessing NULL pointer in PBX Waiting Object ===
=== Do not allow special characters for Kerberos realm names ===


{|
{|
Line 362: Line 362:
|-
|-
|Id
|Id
|[http://mantis.innovaphone.com/view.php?id=47563 47563]
|[http://mantis.innovaphone.com/view.php?id=47634 47634]
|}
|}
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
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
      
      
=== One-way-voice after retrieve together with SRTP, H323 and Registration with password ===
=== malloc must always run disabled ===


{|
{|
Line 373: Line 373:
|-
|-
|Id
|Id
|[http://mantis.innovaphone.com/view.php?id=48442 48442]
|[http://mantis.innovaphone.com/view.php?id=47646 47646]
|}
|}
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
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
      
      
=== Display of hardware id missing for UNKNOWN Registrations ===
=== reduce phone firmware size by excluding unused LDAP components ===


{|
{|
Line 384: Line 386:
|-
|-
|Id
|Id
|[http://mantis.innovaphone.com/view.php?id=48493 48493]
|[http://mantis.innovaphone.com/view.php?id=47709 47709]
|}
|}
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
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
      
      
=== When pressing apply on PBX Objects Node editor, the editor changed to a PBX editor ===
=== Config download must be supressed in phone training mode ===


{|
{|
Line 395: Line 399:
|-
|-
|Id
|Id
|[http://mantis.innovaphone.com/view.php?id=48500 48500]
|[http://mantis.innovaphone.com/view.php?id=47713 47713]
|}
|}
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
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
      
      
=== Trap if dialing wrong number from mobile phone ===
=== SIP: Handling of weird simple-message-summary ===


{|
{|
Line 406: Line 412:
|-
|-
|Id
|Id
|[http://mantis.innovaphone.com/view.php?id=48543 48543]
|[http://mantis.innovaphone.com/view.php?id=47714 47714]
|}
|}
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
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.
      
      
=== PBX: Trap if filter next config too long ===
=== incorrect pointer assignment in submit_config of dtmf/icp object and false configuration possibility ===


{|
{|
Line 417: Line 423:
|-
|-
|Id
|Id
|[http://mantis.innovaphone.com/view.php?id=48554 48554]
|[http://mantis.innovaphone.com/view.php?id=47716 47716]
|}
|}
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
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
      
      
=== If for one user two mobile endpoints are configured, no mobile endpoint could be called ===
=== permit to control the display format of names from local/PBX directory the same way as for external directories ===


{|
{|
Line 428: Line 434:
|-
|-
|Id
|Id
|[http://mantis.innovaphone.com/view.php?id=48571 48571]
|[http://mantis.innovaphone.com/view.php?id=47731 47731]
|}
|}
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
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
      
      
=== Call-Completion display at called phone not deleted if calling/called in same but not root node ===
=== IP22 Interop with devices that do not support T38 redundancy and retransmits ===


{|
{|
|Status
|Status
|<font><font color="green">Closed</font></font>
|<font><font color="green">Resolved</font></font>
|-
|-
|Id
|Id
|[http://mantis.innovaphone.com/view.php?id=48580 48580]
|[http://mantis.innovaphone.com/view.php?id=47774 47774]
|}
|}
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
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
      
      
=== Progress Indicator 'Call not end to end ISDN' sent with each H.323 alert ===
=== prevent creation of pbx dtmf object with char '#' in long name ===


{|
{|
Line 450: Line 458:
|-
|-
|Id
|Id
|[http://mantis.innovaphone.com/view.php?id=48597 48597]
|[http://mantis.innovaphone.com/view.php?id=47805 47805]
|}
|}
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
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
      
      
=== Gateway Routing Table: Routing a call to a Gatekeeper registration using Name Out did not work anymore ===
=== provide uptime and local time of trap in debug log ===


{|
{|
Line 461: Line 469:
|-
|-
|Id
|Id
|[http://mantis.innovaphone.com/view.php?id=48608 48608]
|[http://mantis.innovaphone.com/view.php?id=47855 47855]
|}
|}
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
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/Node was added to config object when configuration was changed ===
=== PBX Broadcast Conference Option ===


{|
{|
Line 472: Line 482:
|-
|-
|Id
|Id
|[http://mantis.innovaphone.com/view.php?id=48612 48612]
|[http://mantis.innovaphone.com/view.php?id=47886 47886]
|}
|}
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
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.
      
      
=== Missing normalization of received diverting leg info ===
=== IP-DECT OEM  user database import/export ===


{|
{|
Line 483: Line 493:
|-
|-
|Id
|Id
|[http://mantis.innovaphone.com/view.php?id=48624 48624]
|[http://mantis.innovaphone.com/view.php?id=47889 47889]
|}
|}
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
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.
      
      
=== PBX: Dialing local objects without PBX config was not possible from different PBX ===
=== IP-DECT idle display update ===


{|
{|
Line 494: Line 504:
|-
|-
|Id
|Id
|[http://mantis.innovaphone.com/view.php?id=48692 48692]
|[http://mantis.innovaphone.com/view.php?id=47891 47891]
|}
|}
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/>
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.
      
      
=== Trap if T.38 timer expiry during closing of T.38 session ===
=== IP-DECT GUI Authentication Code ===


{|
{|
Line 505: Line 515:
|-
|-
|Id
|Id
|[http://mantis.innovaphone.com/view.php?id=48707 48707]
|[http://mantis.innovaphone.com/view.php?id=47892 47892]
|}
|}
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
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.
      
      
=== PBX: As diverting number the real number was sent even if Send Number configured ===
=== IP-DECT RTP stream of second hold call ===


{|
{|
Line 516: Line 526:
|-
|-
|Id
|Id
|[http://mantis.innovaphone.com/view.php?id=48718 48718]
|[http://mantis.innovaphone.com/view.php?id=47894 47894]
|}
|}
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
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.
      
      
=== PBX: Reject external calls did not work as desired together with call forward ===
=== IP-DECT handset product id/software version ===


{|
{|
Line 527: Line 537:
|-
|-
|Id
|Id
|[http://mantis.innovaphone.com/view.php?id=48727 48727]
|[http://mantis.innovaphone.com/view.php?id=47897 47897]
|}
|}
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
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.
      
      
=== Potential trap when reconfiguring Gateway interfaces ===
=== dtmf feature code set presence used wrong argument to toggle the mobility ===


{|
{|
Line 538: Line 548:
|-
|-
|Id
|Id
|[http://mantis.innovaphone.com/view.php?id=48833 48833]
|[http://mantis.innovaphone.com/view.php?id=47916 47916]
|}
|}
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
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
      
      
=== Gateway: Trap if reconfiguring an analog interface registration with Feature Code support ===
=== SIP: Handling of transfer to different ip address ===


{|
{|
Line 549: Line 559:
|-
|-
|Id
|Id
|[http://mantis.innovaphone.com/view.php?id=48838 48838]
|[http://mantis.innovaphone.com/view.php?id=47919 47919]
|}
|}
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
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
      
      
=== PBX: Device configuration was lost, if PBX object was changed with SOAP Admin function ===
=== Missing Tooltips in web ui for licenses ===


{|
{|
Line 560: Line 570:
|-
|-
|Id
|Id
|[http://mantis.innovaphone.com/view.php?id=48874 48874]
|[http://mantis.innovaphone.com/view.php?id=47930 47930]
|}
|}
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
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.
      
      
=== Master PBX to obtain licenses from another Master ===
=== IP-DECT OEM module software update ===


{|
{|
Line 571: Line 581:
|-
|-
|Id
|Id
|[http://mantis.innovaphone.com/view.php?id=48938 48938]
|[http://mantis.innovaphone.com/view.php?id=47934 47934]
|}
|}
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
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.
      
      
=== Do not allow special characters for Kerberos realm names ===
=== SIP: Problem with media negotiation after 488 ===


{|
{|
Line 582: Line 592:
|-
|-
|Id
|Id
|[http://mantis.innovaphone.com/view.php?id=47634 47634]
|[http://mantis.innovaphone.com/view.php?id=47956 47956]
|}
|}
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
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
      
      
=== Timing problem at the first request to a Kerberos server ===
=== IP-DECT MSF module login ===


{|
{|
Line 593: Line 603:
|-
|-
|Id
|Id
|[http://mantis.innovaphone.com/view.php?id=48380 48380]
|[http://mantis.innovaphone.com/view.php?id=47984 47984]
|}
|}
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
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.
      
      
=== "vars del" does not delete additional administrator accounts ===
=== editing phone user config with IE failed for users with non-ascii chars in long name ===


{|
{|
Line 604: Line 614:
|-
|-
|Id
|Id
|[http://mantis.innovaphone.com/view.php?id=48400 48400]
|[http://mantis.innovaphone.com/view.php?id=48017 48017]
|}
|}
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
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
      
      
=== Trap when configuring empty realm name for Kerberos server ===
=== ip2000/ip6000 - start ETH2 (virtual network connction for Linux) only when Linux is enabled ===


{|
{|
Line 615: Line 627:
|-
|-
|Id
|Id
|[http://mantis.innovaphone.com/view.php?id=48405 48405]
|[http://mantis.innovaphone.com/view.php?id=48061 48061]
|}
|}
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
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
      
      
=== Configuration of _KADMIN_ password ===
=== Reject of ectLinkIdRequest not handled ===


{|
{|
Line 626: Line 640:
|-
|-
|Id
|Id
|[http://mantis.innovaphone.com/view.php?id=48504 48504]
|[http://mantis.innovaphone.com/view.php?id=48095 48095]
|}
|}
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
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.
      
      
=== Remove memory leak in kerberos client ===
=== SIP: Media negotiation problem at Alcatel Omni PCX ===


{|
{|
Line 637: Line 651:
|-
|-
|Id
|Id
|[http://mantis.innovaphone.com/view.php?id=48720 48720]
|[http://mantis.innovaphone.com/view.php?id=48337 48337]
|}
|}
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
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.
      
      
=== Leaks with DECT signalling using TLS ===
=== default language setting from bootcode must be respected when setting phone default configuration ===


{|
{|
Line 648: Line 662:
|-
|-
|Id
|Id
|[http://mantis.innovaphone.com/view.php?id=48794 48794]
|[http://mantis.innovaphone.com/view.php?id=48342 48342]
|}
|}
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
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
      
      
=== Trust manufacturer root certificate by default if there is no certificate in flash ===
=== Kerberos for PBX-Realms did not work on IP302 and IP305 ===


{|
{|
Line 659: Line 675:
|-
|-
|Id
|Id
|[http://mantis.innovaphone.com/view.php?id=48861 48861]
|[http://mantis.innovaphone.com/view.php?id=48347 48347]
|}
|}
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
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
      
      
=== Presence subscription to external user failed when forwarded through PBX object "Gateway" ===
=== Timing problem at the first request to a Kerberos server ===


{|
{|
Line 670: Line 686:
|-
|-
|Id
|Id
|[http://mantis.innovaphone.com/view.php?id=48791 48791]
|[http://mantis.innovaphone.com/view.php?id=48380 48380]
|}
|}
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.
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
      
      
=== PBX Broadcast Conference Option ===
=== "vars del" does not delete additional administrator accounts ===


{|
{|
Line 681: Line 697:
|-
|-
|Id
|Id
|[http://mantis.innovaphone.com/view.php?id=47886 47886]
|[http://mantis.innovaphone.com/view.php?id=48400 48400]
|}
|}
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.
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
      
      
=== IP-DECT OEM  user database import/export ===
=== Setup wizard does not accept new XML formatted license files ===


{|
{|
Line 692: Line 708:
|-
|-
|Id
|Id
|[http://mantis.innovaphone.com/view.php?id=47889 47889]
|[http://mantis.innovaphone.com/view.php?id=48401 48401]
|}
|}
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.  
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.
      
      
=== IP-DECT idle display update ===
=== SIP: Interoperability to Aastra endpoints ===


{|
{|
Line 703: Line 719:
|-
|-
|Id
|Id
|[http://mantis.innovaphone.com/view.php?id=47891 47891]
|[http://mantis.innovaphone.com/view.php?id=48406 48406]
|}
|}
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.  
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.  
      
      
=== IP-DECT GUI Authentication Code ===
=== IP-DECT GUI MWI numbers ===


{|
{|
Line 714: Line 730:
|-
|-
|Id
|Id
|[http://mantis.innovaphone.com/view.php?id=47892 47892]
|[http://mantis.innovaphone.com/view.php?id=48411 48411]
|}
|}
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.
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.
      
      
=== IP-DECT RTP stream of second hold call ===
=== IP-DECT SARI variable ===


{|
{|
Line 725: Line 741:
|-
|-
|Id
|Id
|[http://mantis.innovaphone.com/view.php?id=47894 47894]
|[http://mantis.innovaphone.com/view.php?id=48436 48436]
|}
|}
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: 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.
      
      
=== IP-DECT handset product id/software version ===
=== SIP: No switch from local ringback tone to inband ringback tone ===


{|
{|
Line 736: Line 752:
|-
|-
|Id
|Id
|[http://mantis.innovaphone.com/view.php?id=47897 47897]
|[http://mantis.innovaphone.com/view.php?id=48438 48438]
|}
|}
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: 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.
      
      
=== IP-DECT OEM module software update ===
=== SIP: Problems with DTMF when interworking v5 devices to SIP ===


{|
{|
Line 747: Line 763:
|-
|-
|Id
|Id
|[http://mantis.innovaphone.com/view.php?id=47934 47934]
|[http://mantis.innovaphone.com/view.php?id=48441 48441]
|}
|}
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: 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.
      
      
=== IP-DECT MSF module login ===
=== One-way-voice after retrieve together with SRTP, H323 and Registration with password ===


{|
{|
Line 758: Line 774:
|-
|-
|Id
|Id
|[http://mantis.innovaphone.com/view.php?id=47984 47984]
|[http://mantis.innovaphone.com/view.php?id=48442 48442]
|}
|}
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: 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
      
      
=== IP-DECT GUI MWI numbers ===
=== no presence note set if no activity has been selected ===


{|
{|
Line 769: Line 785:
|-
|-
|Id
|Id
|[http://mantis.innovaphone.com/view.php?id=48411 48411]
|[http://mantis.innovaphone.com/view.php?id=48446 48446]
|}
|}
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: 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 SARI variable ===
=== handle calls from master/slave user in dtmf object if calling number is found as mobility fork ===


{|
{|
Line 780: Line 796:
|-
|-
|Id
|Id
|[http://mantis.innovaphone.com/view.php?id=48436 48436]
|[http://mantis.innovaphone.com/view.php?id=48448 48448]
|}
|}
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: 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 facility entity memory leak ===
=== VM: Trap, Double-Free after sending Email with Body ===


{|
{|
Line 791: Line 807:
|-
|-
|Id
|Id
|[http://mantis.innovaphone.com/view.php?id=48852 48852]
|[http://mantis.innovaphone.com/view.php?id=48492 48492]
|}
|}
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: 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
      
      
=== H450 debug info ===
=== Display of hardware id missing for UNKNOWN Registrations ===


{|
{|
Line 802: Line 818:
|-
|-
|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 813: Line 829:
|-
|-
|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 ===
=== Configuration of _KADMIN_ password ===


{|
{|
Line 824: Line 840:
|-
|-
|Id
|Id
|[http://mantis.innovaphone.com/view.php?id=48946 48946]
|[http://mantis.innovaphone.com/view.php?id=48504 48504]
|}
|}
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: 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
      
      
=== Presence note ignored if presence activity has been set ===
=== SIP: CSeq not correct inside dialog ===


{|
{|
Line 835: Line 851:
|-
|-
|Id
|Id
|[http://mantis.innovaphone.com/view.php?id=48863 48863]
|[http://mantis.innovaphone.com/view.php?id=48533 48533]
|}
|}
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: 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.
      
      
=== IP22 Interop with devices that do not support T38 redundancy and retransmits ===
=== Trap if dialing wrong number from mobile phone ===


{|
{|
|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=48543 48543]
|}
|}
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: 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
      
      
=== Modem interop problem ===
=== PBX: Trap if filter next config too long ===


{|
{|
|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=48554 48554]
|}
|}
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: 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
      
      
=== prevent creation of pbx dtmf object with char '#' in long name ===
=== Presence: Added overlay activity attribute ===


{|
{|
Line 868: Line 884:
|-
|-
|Id
|Id
|[http://mantis.innovaphone.com/view.php?id=47805 47805]
|[http://mantis.innovaphone.com/view.php?id=48563 48563]
|}
|}
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: 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.
      
      
=== feature codes are not always working for mobility, if multiple mobility objects exist ===
=== Presence display on fkey 'Partner' stops updating ===


{|
{|
Line 879: Line 895:
|-
|-
|Id
|Id
|[http://mantis.innovaphone.com/view.php?id=48602 48602]
|[http://mantis.innovaphone.com/view.php?id=48569 48569]
|}
|}
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: 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.
      
      
=== enabling mobility/cw didn't work for 2 stage dialing over mobility object ===
=== If for one user two mobile endpoints are configured, no mobile endpoint could be called ===


{|
{|
Line 890: Line 906:
|-
|-
|Id
|Id
|[http://mantis.innovaphone.com/view.php?id=48616 48616]
|[http://mantis.innovaphone.com/view.php?id=48571 48571]
|}
|}
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: 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
      
      
=== use flashman erase on "reset to factory defaults" ===
=== IP 22/24/28/302/305 - provide more dynamic memory by disabling memory guard ===


{|
{|
Line 901: Line 917:
|-
|-
|Id
|Id
|[http://mantis.innovaphone.com/view.php?id=47983 47983]
|[http://mantis.innovaphone.com/view.php?id=48576 48576]
|}
|}
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: 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
      
      
=== malloc must always run disabled ===
=== Call-Completion display at called phone not deleted if calling/called in same but not root node ===


{|
{|
Line 912: Line 930:
|-
|-
|Id
|Id
|[http://mantis.innovaphone.com/view.php?id=47646 47646]
|[http://mantis.innovaphone.com/view.php?id=48580 48580]
|}
|}
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: 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
''Status:''
checked in to 9.00,8.00,09-80500
      
      
=== reduce phone firmware size by excluding unused LDAP components ===
=== Phone: Handling of failed attended transfer ===


{|
{|
Line 925: Line 941:
|-
|-
|Id
|Id
|[http://mantis.innovaphone.com/view.php?id=47709 47709]
|[http://mantis.innovaphone.com/view.php?id=48585 48585]
|}
|}
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: 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.
''Status:''
checked in to 9.00,8.00,09-80500
      
      
=== Config download must be supressed in phone training mode ===
=== Progress Indicator 'Call not end to end ISDN' sent with each H.323 alert ===


{|
{|
Line 938: Line 952:
|-
|-
|Id
|Id
|[http://mantis.innovaphone.com/view.php?id=47713 47713]
|[http://mantis.innovaphone.com/view.php?id=48597 48597]
|}
|}
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 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
''Status:''
checked in to 9.00,8.00,09-80500
      
      
=== provide uptime and local time of trap in debug log ===
=== feature codes are not always working for mobility, if multiple mobility objects exist ===


{|
{|
Line 951: Line 963:
|-
|-
|Id
|Id
|[http://mantis.innovaphone.com/view.php?id=47855 47855]
|[http://mantis.innovaphone.com/view.php?id=48602 48602]
|}
|}
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: 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  
''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 ===
=== Gateway Routing Table: Routing a call to a Gatekeeper registration using Name Out did not work anymore ===


{|
{|
Line 964: Line 974:
|-
|-
|Id
|Id
|[http://mantis.innovaphone.com/view.php?id=48017 48017]
|[http://mantis.innovaphone.com/view.php?id=48608 48608]
|}
|}
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: 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
''Status:''
checked in to 9.00,8.00,09-80500
      
      
=== ip2000/ip6000 - start ETH2 (virtual network connction for Linux) only when Linux is enabled ===
=== PBX/Node was added to config object when configuration was changed ===


{|
{|
Line 977: Line 985:
|-
|-
|Id
|Id
|[http://mantis.innovaphone.com/view.php?id=48061 48061]
|[http://mantis.innovaphone.com/view.php?id=48612 48612]
|}
|}
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: 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
''Status:''
checked in to 8.00,09-80500,9.00
      
      
=== IP 22/24/28/302/305 - provide more dynamic memory by disabling memory guard ===
=== enabling mobility/cw didn't work for 2 stage dialing over mobility object ===


{|
{|
Line 990: Line 996:
|-
|-
|Id
|Id
|[http://mantis.innovaphone.com/view.php?id=48576 48576]
|[http://mantis.innovaphone.com/view.php?id=48616 48616]
|}
|}
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: 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  
''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 ===
=== 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=48785 48785]
|[http://mantis.innovaphone.com/view.php?id=48622 48622]
|}
|}
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: 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/>  
''Status:''
checked in to 9.00,8.00,09-80500
      
      
=== "mod cmd UP0 scfg TFTP://..." does not work ===
=== Missing normalization of received diverting leg info ===


{|
{|
Line 1,016: Line 1,018:
|-
|-
|Id
|Id
|[http://mantis.innovaphone.com/view.php?id=48911 48911]
|[http://mantis.innovaphone.com/view.php?id=48624 48624]
|}
|}
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: 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
''Status:''
checked in to 9.00,8.00,09-80300,09-80500 
      
      
=== prevent to link useless exit code from library ===
=== PBX: Dialing local objects without PBX config was not possible from different PBX ===


{|
{|
Line 1,029: Line 1,029:
|-
|-
|Id
|Id
|[http://mantis.innovaphone.com/view.php?id=48937 48937]
|[http://mantis.innovaphone.com/view.php?id=48692 48692]
|}
|}
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: 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
      
      
=== "mod cmd UP0 prot TFTP://..." does not work ===
=== allow empty search base in directory search object ===


{|
{|
Line 1,042: Line 1,040:
|-
|-
|Id
|Id
|[http://mantis.innovaphone.com/view.php?id=48957 48957]
|[http://mantis.innovaphone.com/view.php?id=48703 48703]
|}
|}
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: 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  
''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 if T.38 timer expiry during closing of T.38 session ===


{|
{|
Line 1,055: Line 1,051:
|-
|-
|Id
|Id
|[http://mantis.innovaphone.com/view.php?id=47731 47731]
|[http://mantis.innovaphone.com/view.php?id=48707 48707]
|}
|}
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: 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
=== Memory Leak ===
      
=== default language setting from bootcode must be respected when setting phone default configuration ===


{|
{|
Line 1,068: Line 1,062:
|-
|-
|Id
|Id
|[http://mantis.innovaphone.com/view.php?id=48342 48342]
|[http://mantis.innovaphone.com/view.php?id=48714 48714]
|}
|}
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: 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.
''Status:''
checked in to 9.00,8.00,09-80500
      
      
=== Kerberos for PBX-Realms did not work on IP302 and IP305 ===
=== PBX: As diverting number the real number was sent even if Send Number configured ===


{|
{|
Line 1,081: Line 1,073:
|-
|-
|Id
|Id
|[http://mantis.innovaphone.com/view.php?id=48347 48347]
|[http://mantis.innovaphone.com/view.php?id=48718 48718]
|}
|}
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: 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
      
      
=== AD Replication. Only 10x In-Maps per Source Attribute Configurable ===
=== Remove memory leak in kerberos client ===


{|
{|
Line 1,092: Line 1,084:
|-
|-
|Id
|Id
|[http://mantis.innovaphone.com/view.php?id=47629 47629]
|[http://mantis.innovaphone.com/view.php?id=48720 48720]
|}
|}
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: 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
      
      
=== VM: Trap, Double-Free after sending Email with Body ===
=== PBX: Reject external calls did not work as desired together with call forward ===


{|
{|
Line 1,103: Line 1,095:
|-
|-
|Id
|Id
|[http://mantis.innovaphone.com/view.php?id=48492 48492]
|[http://mantis.innovaphone.com/view.php?id=48727 48727]
|}
|}
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: 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
      
      
=== Show presence note (if available) instead of activity during ringback  ===
=== IP240-1000 - network connectivity lost  after restart of the physical layer controller because of spurious errors ===


{|
{|
Line 1,114: Line 1,106:
|-
|-
|Id
|Id
|[http://mantis.innovaphone.com/view.php?id=47531 47531]
|[http://mantis.innovaphone.com/view.php?id=48785 48785]
|}
|}
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: 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
      
      
=== Setup wizard does not accept new XML formatted license files ===
=== Presence subscription to external user failed when forwarded through PBX object "Gateway" ===


{|
{|
Line 1,125: Line 1,119:
|-
|-
|Id
|Id
|[http://mantis.innovaphone.com/view.php?id=48401 48401]
|[http://mantis.innovaphone.com/view.php?id=48791 48791]
|}
|}
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: "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.
      
      
=== Presence: Added overlay activity attribute ===
=== Leaks with DECT signalling using TLS ===


{|
{|
Line 1,136: Line 1,130:
|-
|-
|Id
|Id
|[http://mantis.innovaphone.com/view.php?id=48563 48563]
|[http://mantis.innovaphone.com/view.php?id=48794 48794]
|}
|}
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: 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
      
      
=== RTP is sent to wrong destination ===
=== RTP is sent to wrong destination ===
Line 1,151: Line 1,145:
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: 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.
      
      
=== Missing Tooltips in web ui for licenses ===
=== Potential trap when reconfiguring Gateway interfaces ===


{|
{|
Line 1,158: Line 1,152:
|-
|-
|Id
|Id
|[http://mantis.innovaphone.com/view.php?id=47930 47930]
|[http://mantis.innovaphone.com/view.php?id=48833 48833]
|}
|}
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: 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
      
      
=== Reject of ectLinkIdRequest not handled ===
=== Gateway: Trap if reconfiguring an analog interface registration with Feature Code support ===


{|
{|
Line 1,169: Line 1,163:
|-
|-
|Id
|Id
|[http://mantis.innovaphone.com/view.php?id=48095 48095]
|[http://mantis.innovaphone.com/view.php?id=48838 48838]
|}
|}
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: 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
      
      
=== Presence display on fkey 'Partner' stops updating ===
=== IP-DECT facility entity memory leak ===


{|
{|
Line 1,180: Line 1,174:
|-
|-
|Id
|Id
|[http://mantis.innovaphone.com/view.php?id=48569 48569]
|[http://mantis.innovaphone.com/view.php?id=48852 48852]
|}
|}
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: 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.  
      
      
=== Phone: Handling of failed attended transfer ===
=== Trust manufacturer root certificate by default if there is no certificate in flash ===


{|
{|
Line 1,191: Line 1,185:
|-
|-
|Id
|Id
|[http://mantis.innovaphone.com/view.php?id=48585 48585]
|[http://mantis.innovaphone.com/view.php?id=48861 48861]
|}
|}
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: 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
      
      
=== SIP: Fax and audio offer was rejected with 488 ===
=== Presence note ignored if presence activity has been set ===


{|
{|
Line 1,202: Line 1,196:
|-
|-
|Id
|Id
|[http://mantis.innovaphone.com/view.php?id=47544 47544]
|[http://mantis.innovaphone.com/view.php?id=48863 48863]
|}
|}
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: 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: INVITE rejected with 407 ===
=== PBX: Device configuration was lost, if PBX object was changed with SOAP Admin function ===


{|
{|
Line 1,213: Line 1,207:
|-
|-
|Id
|Id
|[http://mantis.innovaphone.com/view.php?id=47631 47631]
|[http://mantis.innovaphone.com/view.php?id=48874 48874]
|}
|}
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 <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
      
      
=== SIP: Handling of weird simple-message-summary ===
=== H450 debug info ===


{|
{|
Line 1,224: Line 1,218:
|-
|-
|Id
|Id
|[http://mantis.innovaphone.com/view.php?id=47714 47714]
|[http://mantis.innovaphone.com/view.php?id=48889 48889]
|}
|}
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: 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: Handling of transfer to different ip address ===
=== "mod cmd UP0 scfg TFTP://..." does not work ===


{|
{|
Line 1,235: Line 1,229:
|-
|-
|Id
|Id
|[http://mantis.innovaphone.com/view.php?id=47919 47919]
|[http://mantis.innovaphone.com/view.php?id=48911 48911]
|}
|}
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: 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 
      
      
=== SIP: Problem with media negotiation after 488 ===
=== prevent to link useless exit code from library ===


{|
{|
Line 1,246: Line 1,242:
|-
|-
|Id
|Id
|[http://mantis.innovaphone.com/view.php?id=47956 47956]
|[http://mantis.innovaphone.com/view.php?id=48937 48937]
|}
|}
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: 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
      
      
=== SIP: Media negotiation problem at Alcatel Omni PCX ===
=== Master PBX to obtain licenses from another Master ===


{|
{|
Line 1,257: Line 1,255:
|-
|-
|Id
|Id
|[http://mantis.innovaphone.com/view.php?id=48337 48337]
|[http://mantis.innovaphone.com/view.php?id=48938 48938]
|}
|}
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: 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
      
      
=== SIP: Interoperability to Aastra endpoints ===
=== PBX BC conference object TAPI information ===


{|
{|
Line 1,268: Line 1,266:
|-
|-
|Id
|Id
|[http://mantis.innovaphone.com/view.php?id=48406 48406]
|[http://mantis.innovaphone.com/view.php?id=48940 48940]
|}
|}
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: 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: No switch from local ringback tone to inband ringback tone ===
=== IP-DECT GUI user search ===


{|
{|
Line 1,279: Line 1,277:
|-
|-
|Id
|Id
|[http://mantis.innovaphone.com/view.php?id=48438 48438]
|[http://mantis.innovaphone.com/view.php?id=48946 48946]
|}
|}
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: 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: Problems with DTMF when interworking v5 devices to SIP ===
=== "mod cmd UP0 prot TFTP://..." does not work ===


{|
{|
Line 1,290: Line 1,288:
|-
|-
|Id
|Id
|[http://mantis.innovaphone.com/view.php?id=48441 48441]
|[http://mantis.innovaphone.com/view.php?id=48957 48957]
|}
|}
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: 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
   
== Bug Fixes ==
 
 
      
      
=== SIP: CSeq not correct inside dialog ===
=== use flashman erase on "reset to factory defaults" ===


{|
{|
Line 1,301: Line 1,305:
|-
|-
|Id
|Id
|[http://mantis.innovaphone.com/view.php?id=48533 48533]
|[http://mantis.innovaphone.com/view.php?id=47983 47983]
|}
|}
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: 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/>
      
      
=== Memory Leak ===
=== Trap when configuring empty realm name for Kerberos server ===


{|
{|
Line 1,312: Line 1,316:
|-
|-
|Id
|Id
|[http://mantis.innovaphone.com/view.php?id=48714 48714]
|[http://mantis.innovaphone.com/view.php?id=48405 48405]
|}
|}
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: 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
   
== Bug Fixes ==
 
 
=== Other Bug Fixes ===
=== Other Bug Fixes ===


Line 1,341: Line 1,341:


      
      
=== Configurable distinction of internal and external call ringing on analogue port ===
=== RELAY: Remove config parameter "mask" from GUI ===


{|
{|
Line 1,348: Line 1,348:
|-
|-
|Id
|Id
|[http://mantis.innovaphone.com/view.php?id=49344 49344]
|[http://mantis.innovaphone.com/view.php?id=48127 48127]
|}
|}
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'.
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)
      
      
=== wrong help url in ICP object ===
=== PBX: Reference to Config Template lost, when opening User from Registrations page ===


{|
{|
Line 1,359: Line 1,359:
|-
|-
|Id
|Id
|[http://mantis.innovaphone.com/view.php?id=49411 49411]
|[http://mantis.innovaphone.com/view.php?id=49089 49089]
|}
|}
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: 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
      
      
=== fat32 check disc trap ===
=== SIP: Handling of re-INVITE collision ===


{|
{|
Line 1,370: Line 1,370:
|-
|-
|Id
|Id
|[http://mantis.innovaphone.com/view.php?id=50204 50204]
|[http://mantis.innovaphone.com/view.php?id=49135 49135]
|}
|}
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: 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.
      
      
=== wrong calculations causing check disc to damage data ===
=== Need to configure 'Route Root-Node External Calls to' in case of 'License Only' on Slave ===


{|
{|
Line 1,381: Line 1,381:
|-
|-
|Id
|Id
|[http://mantis.innovaphone.com/view.php?id=51305 51305]
|[http://mantis.innovaphone.com/view.php?id=49137 49137]
|}
|}
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: 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
      
      
=== Possible trap when removing a cf card without previous unmount ===
=== Media Renegotiation from H.323 Slowstart to H.323 EFC failed accross multiple PBXs ===


{|
{|
Line 1,392: Line 1,392:
|-
|-
|Id
|Id
|[http://mantis.innovaphone.com/view.php?id=51705 51705]
|[http://mantis.innovaphone.com/view.php?id=49147 49147]
|}
|}
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: 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
      
      
=== PBX: Reference to Config Template lost, when opening User from Registrations page ===
=== Gateway: Feature Code Support Configuration fixed ===


{|
{|
Line 1,403: Line 1,403:
|-
|-
|Id
|Id
|[http://mantis.innovaphone.com/view.php?id=49089 49089]
|[http://mantis.innovaphone.com/view.php?id=49152 49152]
|}
|}
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: 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
      
      
=== Need to configure 'Route Root-Node External Calls to' in case of 'License Only' on Slave ===
=== Memory Leak ===


{|
{|
Line 1,414: Line 1,414:
|-
|-
|Id
|Id
|[http://mantis.innovaphone.com/view.php?id=49137 49137]
|[http://mantis.innovaphone.com/view.php?id=49164 49164]
|}
|}
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: 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.
      
      
=== Media Renegotiation from H.323 Slowstart to H.323 EFC failed accross multiple PBXs ===
=== Gateway: CGPN Map at route was executed even if the call using this route failed ===


{|
{|
Line 1,425: Line 1,425:
|-
|-
|Id
|Id
|[http://mantis.innovaphone.com/view.php?id=49147 49147]
|[http://mantis.innovaphone.com/view.php?id=49175 49175]
|}
|}
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: 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
      
      
=== Gateway: Feature Code Support Configuration fixed ===
=== Cleanup gateway interface config ===


{|
{|
Line 1,436: Line 1,436:
|-
|-
|Id
|Id
|[http://mantis.innovaphone.com/view.php?id=49152 49152]
|[http://mantis.innovaphone.com/view.php?id=49181 49181]
|}
|}
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: 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.
   
=== Gateway: CGPN Map at route was executed even if the call using this route failed ===
 
{|
|Status
|<font><font color="green">Closed</font></font>
|-
|Id
|[http://mantis.innovaphone.com/view.php?id=49175 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.<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
      
      
=== PBX: Sending of multiple group indications after registration did not work ===
=== PBX: Sending of multiple group indications after registration did not work ===
Line 1,462: Line 1,451:
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: 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
      
      
=== PBX: After CFNR from Waiting with end of first announcement no MOH during call proceeding/alerting ===
=== ENUM/SIP interfaces shall accept incoming calls ===


{|
{|
Line 1,469: Line 1,458:
|-
|-
|Id
|Id
|[http://mantis.innovaphone.com/view.php?id=49458 49458]
|[http://mantis.innovaphone.com/view.php?id=49198 49198]
|}
|}
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: 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.
      
      
=== H.323, PROGRESS with cause treated as DISC causes problems ===
=== PPP IP header compression traps ===


{|
{|
Line 1,480: Line 1,469:
|-
|-
|Id
|Id
|[http://mantis.innovaphone.com/view.php?id=49889 49889]
|[http://mantis.innovaphone.com/view.php?id=49221 49221]
|}
|}
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: 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
      
      
=== Enblock flag not evaluated on Routes to MAP ===
=== Trap when SIP closes unused transport connections ===


{|
{|
Line 1,491: Line 1,482:
|-
|-
|Id
|Id
|[http://mantis.innovaphone.com/view.php?id=49896 49896]
|[http://mantis.innovaphone.com/view.php?id=49257 49257]
|}
|}
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: 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.
      
      
=== One-way-voice after unpark/pickup together with SRTP, H323 and Registration with password ===
=== NTP Server must respond to SYNC clients even if the device has no correct time from an official server  ===


{|
{|
Line 1,502: Line 1,493:
|-
|-
|Id
|Id
|[http://mantis.innovaphone.com/view.php?id=49963 49963]
|[http://mantis.innovaphone.com/view.php?id=49267 49267]
|}
|}
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: 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
      
      
=== PBX: No default device definition was added to new object ===
=== RAS registration over a PPTP connection fails - association of server-local addr to PPTP interface wrong ===


{|
{|
Line 1,513: Line 1,506:
|-
|-
|Id
|Id
|[http://mantis.innovaphone.com/view.php?id=49973 49973]
|[http://mantis.innovaphone.com/view.php?id=49308 49308]
|}
|}
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: 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
      
      
=== Media Negotiation between SIP and H.323 failed if Offer from both sides available ===
=== Configurable distinction of internal and external call ringing on analogue port ===


{|
{|
Line 1,524: Line 1,519:
|-
|-
|Id
|Id
|[http://mantis.innovaphone.com/view.php?id=50037 50037]
|[http://mantis.innovaphone.com/view.php?id=49344 49344]
|}
|}
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
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'.
      
      
=== PBX device definition with empty hw-id was generated for a user without name ===
=== wrong help url in ICP object ===


{|
{|
Line 1,535: Line 1,530:
|-
|-
|Id
|Id
|[http://mantis.innovaphone.com/view.php?id=50043 50043]
|[http://mantis.innovaphone.com/view.php?id=49411 49411]
|}
|}
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: 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: 'Route Internal Calls to' only works for internal destinations being users or slaves ===
=== Basic authentication support in HTTP client ===


{|
{|
Line 1,546: Line 1,541:
|-
|-
|Id
|Id
|[http://mantis.innovaphone.com/view.php?id=50068 50068]
|[http://mantis.innovaphone.com/view.php?id=49450 49450]
|}
|}
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: 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
      
      
=== PBX: On CFB configured at Slave PBX executed on max_calls, additional digits were added to called number ===
=== PBX: After CFNR from Waiting with end of first announcement no MOH during call proceeding/alerting ===


{|
{|
Line 1,557: Line 1,552:
|-
|-
|Id
|Id
|[http://mantis.innovaphone.com/view.php?id=50083 50083]
|[http://mantis.innovaphone.com/view.php?id=49458 49458]
|}
|}
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: 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
      
      
=== Trap if doing Pickup from analog interface with Feature Code ===
=== SIP: 180/Ringing was not re-transmitted ===


{|
{|
Line 1,568: Line 1,563:
|-
|-
|Id
|Id
|[http://mantis.innovaphone.com/view.php?id=50107 50107]
|[http://mantis.innovaphone.com/view.php?id=49461 49461]
|}
|}
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: 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.
      
      
=== Mobility: Reject of call to mobile endpoint did not work ===
=== SIP: Incoming calls not accepted by PBX ===


{|
{|
Line 1,579: Line 1,574:
|-
|-
|Id
|Id
|[http://mantis.innovaphone.com/view.php?id=50239 50239]
|[http://mantis.innovaphone.com/view.php?id=49473 49473]
|}
|}
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: 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.
      
      
=== Mobility: Call to obeject within other PBX not in root node failed ===
=== IP-DECT OEM compatibility with old MWI configuration ===


{|
{|
Line 1,590: Line 1,585:
|-
|-
|Id
|Id
|[http://mantis.innovaphone.com/view.php?id=50241 50241]
|[http://mantis.innovaphone.com/view.php?id=49518 49518]
|}
|}
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: 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.
      
      
=== Mobility: Call forwarding on no response did not work for mobile endpoints if only mobile endpoint ===
=== Trap when switching off SIP phone ===


{|
{|
Line 1,601: Line 1,596:
|-
|-
|Id
|Id
|[http://mantis.innovaphone.com/view.php?id=50242 50242]
|[http://mantis.innovaphone.com/view.php?id=49556 49556]
|}
|}
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: 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.
      
      
=== Trap if 'Escape Dialtone from' configured not being a User Object ===
=== IP72 DSP acoustic web page not storing changes upon "OK" ===


{|
{|
Line 1,612: Line 1,607:
|-
|-
|Id
|Id
|[http://mantis.innovaphone.com/view.php?id=50267 50267]
|[http://mantis.innovaphone.com/view.php?id=49576 49576]
|}
|}
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: 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/>
      
      
=== Mobility: Send presence info of called user with ALERT at call to mobile endpoint ===
=== IP72: WLAN code upgrade ===


{|
{|
Line 1,623: Line 1,618:
|-
|-
|Id
|Id
|[http://mantis.innovaphone.com/view.php?id=50349 50349]
|[http://mantis.innovaphone.com/view.php?id=49577 49577]
|}
|}
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: 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/>
      
      
=== PBX object device config lost, if invalid info added somewhere else (e.g. duplicate number) ===
=== IP72 announcement calls should be routed to headset if plugged ===


{|
{|
Line 1,634: Line 1,629:
|-
|-
|Id
|Id
|[http://mantis.innovaphone.com/view.php?id=50415 50415]
|[http://mantis.innovaphone.com/view.php?id=49587 49587]
|}
|}
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: 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/>
      
      
=== Potential trap with Mobility ===
=== 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=50989 50989]
|[http://mantis.innovaphone.com/view.php?id=49588 49588]
|}
|}
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: 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
      
      
=== Mobility Object returns busy if called from a unknown mobile phone ===
=== PBX Waiting Queue did not provide diverting party display name ===


{|
{|
Line 1,656: Line 1,651:
|-
|-
|Id
|Id
|[http://mantis.innovaphone.com/view.php?id=51010 51010]
|[http://mantis.innovaphone.com/view.php?id=49786 49786]
|}
|}
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: 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.
      
      
=== Potential trap when disconnecting call, WEBMEDIA-CH.5 default(82c09798): serial_event(814) ===
=== headset mode must be kept when a knocking call is accepted via operator while a disconnected call is pending ===


{|
{|
Line 1,667: Line 1,662:
|-
|-
|Id
|Id
|[http://mantis.innovaphone.com/view.php?id=51132 51132]
|[http://mantis.innovaphone.com/view.php?id=49796 49796]
|}
|}
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: 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 
      
      
=== PBX-CDR: Local Time wrong (same as UTC) ===
=== IP800 conference ===


{|
{|
Line 1,678: Line 1,675:
|-
|-
|Id
|Id
|[http://mantis.innovaphone.com/view.php?id=51415 51415]
|[http://mantis.innovaphone.com/view.php?id=49800 49800]
|}
|}
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: 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.
      
      
=== PBX: No Inband Disconnect for Gateway Object ===
=== H323 channel null pointer trap ===


{|
{|
Line 1,689: Line 1,686:
|-
|-
|Id
|Id
|[http://mantis.innovaphone.com/view.php?id=51421 51421]
|[http://mantis.innovaphone.com/view.php?id=49813 49813]
|}
|}
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: 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.
      
      
=== PBX CGPN missing with call to mobile endpoint, if not supplied by calling endpoint ===
=== IP-DECT OEM system name update ===


{|
{|
Line 1,700: Line 1,697:
|-
|-
|Id
|Id
|[http://mantis.innovaphone.com/view.php?id=51424 51424]
|[http://mantis.innovaphone.com/view.php?id=49825 49825]
|}
|}
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: 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.
      
      
=== no RTP-DTMF after rerouting ===
=== IP-DECT unattended call transfer ===


{|
{|
Line 1,711: Line 1,708:
|-
|-
|Id
|Id
|[http://mantis.innovaphone.com/view.php?id=51431 51431]
|[http://mantis.innovaphone.com/view.php?id=49829 49829]
|}
|}
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: 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.
      
      
=== dyn PBX General configuration page changes did not work sometime ===
=== SIP: INVITE after REFER for blind transfer missed Referred-By header ===


{|
{|
Line 1,722: Line 1,719:
|-
|-
|Id
|Id
|[http://mantis.innovaphone.com/view.php?id=51436 51436]
|[http://mantis.innovaphone.com/view.php?id=49854 49854]
|}
|}
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: 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.
      
      
=== PBX: Retrieve was not sent in case of chained Waiting Queues ===
=== 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=51450 51450]
|[http://mantis.innovaphone.com/view.php?id=49879 49879]
|}
|}
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: 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
      
      
=== PBX: Busy Name was not sent if busy because of 'Busy on ... calls' ===
=== 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=51451 51451]
|[http://mantis.innovaphone.com/view.php?id=49883 49883]
|}
|}
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
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
      
      
=== Config Wizard Update ===
=== 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=51501 51501]
|[http://mantis.innovaphone.com/view.php?id=49888 49888]
|}
|}
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
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
      
      
=== Problems with Mobility and Nodes ===
=== H.323, PROGRESS with cause treated as DISC causes problems ===


{|
{|
Line 1,766: Line 1,763:
|-
|-
|Id
|Id
|[http://mantis.innovaphone.com/view.php?id=51549 51549]
|[http://mantis.innovaphone.com/view.php?id=49889 49889]
|}
|}
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: 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
      
      
=== PBX: Pickup call did not show original called/parked endpoint ===
=== Enblock flag not evaluated on Routes to MAP ===


{|
{|
Line 1,777: Line 1,774:
|-
|-
|Id
|Id
|[http://mantis.innovaphone.com/view.php?id=51617 51617]
|[http://mantis.innovaphone.com/view.php?id=49896 49896]
|}
|}
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: 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
      
      
=== compatibility issue with PBX Waiting queue sending ct-complete before connect ===
=== Phone: Local coder config was not used on outgoing phone calls ===


{|
{|
Line 1,788: Line 1,785:
|-
|-
|Id
|Id
|[http://mantis.innovaphone.com/view.php?id=51620 51620]
|[http://mantis.innovaphone.com/view.php?id=49899 49899]
|}
|}
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: 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: SOAP initiated calls were sent with CT-SETUP ===
=== One-way-voice after unpark/pickup together with SRTP, H323 and Registration with password ===


{|
{|
Line 1,799: Line 1,796:
|-
|-
|Id
|Id
|[http://mantis.innovaphone.com/view.php?id=51622 51622]
|[http://mantis.innovaphone.com/view.php?id=49963 49963]
|}
|}
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: 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
      
      
=== PBX send call to mobile phone as diverted call ===
=== PBX: No default device definition was added to new object ===


{|
{|
Line 1,810: Line 1,807:
|-
|-
|Id
|Id
|[http://mantis.innovaphone.com/view.php?id=51623 51623]
|[http://mantis.innovaphone.com/view.php?id=49973 49973]
|}
|}
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 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
      
      
=== Assertion to verify that access to license data structures is correct ===
=== presence function key usage on phone traps with non-presence-available pbx ===


{|
{|
Line 1,821: Line 1,818:
|-
|-
|Id
|Id
|[http://mantis.innovaphone.com/view.php?id=51752 51752]
|[http://mantis.innovaphone.com/view.php?id=50034 50034]
|}
|}
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: 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/>
      
      
=== Trap if some but not all interfaces of a given type are unlicensed ===
=== Media Negotiation between SIP and H.323 failed if Offer from both sides available ===


{|
{|
Line 1,832: Line 1,829:
|-
|-
|Id
|Id
|[http://mantis.innovaphone.com/view.php?id=51771 51771]
|[http://mantis.innovaphone.com/view.php?id=50037 50037]
|}
|}
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: 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
      
      
=== Basic authentication support in HTTP client ===
=== PBX device definition with empty hw-id was generated for a user without name ===


{|
{|
Line 1,843: Line 1,840:
|-
|-
|Id
|Id
|[http://mantis.innovaphone.com/view.php?id=49450 49450]
|[http://mantis.innovaphone.com/view.php?id=50043 50043]
|}
|}
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: 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
      
      
=== Trap in SRTP socket ===
=== SIP: Incoming calls with anonymous From-URI were not tagged as CLIR ===


{|
{|
Line 1,854: Line 1,851:
|-
|-
|Id
|Id
|[http://mantis.innovaphone.com/view.php?id=51146 51146]
|[http://mantis.innovaphone.com/view.php?id=50058 50058]
|}
|}
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: 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.
      
      
=== One way media after SRTP renegotiation on IP6000 ===
=== IP-DECT old anonymous PPs ===


{|
{|
Line 1,865: Line 1,862:
|-
|-
|Id
|Id
|[http://mantis.innovaphone.com/view.php?id=51148 51148]
|[http://mantis.innovaphone.com/view.php?id=50064 50064]
|}
|}
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: 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.
      
      
=== LDAP Searches for unsupported DNs disconnected all LDAP connections ===
=== PBX: 'Route Internal Calls to' only works for internal destinations being users or slaves ===


{|
{|
Line 1,876: Line 1,873:
|-
|-
|Id
|Id
|[http://mantis.innovaphone.com/view.php?id=50934 50934]
|[http://mantis.innovaphone.com/view.php?id=50068 50068]
|}
|}
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: 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
      
      
=== RELAY: Remove config parameter "mask" from GUI ===
=== GUI: Registration indicator not aligned ===


{|
{|
Line 1,887: Line 1,884:
|-
|-
|Id
|Id
|[http://mantis.innovaphone.com/view.php?id=48127 48127]
|[http://mantis.innovaphone.com/view.php?id=50070 50070]
|}
|}
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: 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.  
      
      
=== SIP: Remote number update after pick-up does not work ===
=== PBX: On CFB configured at Slave PBX executed on max_calls, additional digits were added to called number ===


{|
{|
Line 1,898: Line 1,895:
|-
|-
|Id
|Id
|[http://mantis.innovaphone.com/view.php?id=51268 51268]
|[http://mantis.innovaphone.com/view.php?id=50083 50083]
|}
|}
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: 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 OEM compatibility with old MWI configuration ===
=== PBX: Presence subscription was rejected by object type 'Executive' ===


{|
{|
Line 1,909: Line 1,906:
|-
|-
|Id
|Id
|[http://mantis.innovaphone.com/view.php?id=49518 49518]
|[http://mantis.innovaphone.com/view.php?id=50091 50091]
|}
|}
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: 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.
      
      
=== IP800 conference ===
=== Gateway sends calls to wrong registered SIP endpoint ===


{|
{|
Line 1,920: Line 1,917:
|-
|-
|Id
|Id
|[http://mantis.innovaphone.com/view.php?id=49800 49800]
|[http://mantis.innovaphone.com/view.php?id=50102 50102]
|}
|}
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 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.
      
      
=== H323 channel null pointer trap ===
=== Trap if doing Pickup from analog interface with Feature Code ===


{|
{|
Line 1,931: Line 1,928:
|-
|-
|Id
|Id
|[http://mantis.innovaphone.com/view.php?id=49813 49813]
|[http://mantis.innovaphone.com/view.php?id=50107 50107]
|}
|}
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 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 OEM system name update ===
=== AD Replicator, Searches to Global Catalog Server weren't possible ===


{|
{|
Line 1,942: Line 1,939:
|-
|-
|Id
|Id
|[http://mantis.innovaphone.com/view.php?id=49825 49825]
|[http://mantis.innovaphone.com/view.php?id=50129 50129]
|}
|}
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: 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
      
      
=== IP-DECT unattended call transfer ===
=== Control calls without facility elements were forwarded on ISDN ===


{|
{|
Line 1,953: Line 1,950:
|-
|-
|Id
|Id
|[http://mantis.innovaphone.com/view.php?id=49829 49829]
|[http://mantis.innovaphone.com/view.php?id=50199 50199]
|}
|}
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: 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.  
      
      
=== IP-DECT old anonymous PPs ===
=== fat32 check disc trap ===


{|
{|
Line 1,964: Line 1,961:
|-
|-
|Id
|Id
|[http://mantis.innovaphone.com/view.php?id=50064 50064]
|[http://mantis.innovaphone.com/view.php?id=50204 50204]
|}
|}
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: 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
      
      
=== IP-DECT Radio call statistics ===
=== Phone: Changes to option 'Proposed Registration Interval' were applied after reboot only ===


{|
{|
Line 1,975: Line 1,972:
|-
|-
|Id
|Id
|[http://mantis.innovaphone.com/view.php?id=50736 50736]
|[http://mantis.innovaphone.com/view.php?id=50214 50214]
|}
|}
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: 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.
      
      
=== IP-DECT Handset's product number and software version ===
=== Mobility: Reject of call to mobile endpoint did not work ===


{|
{|
Line 1,986: Line 1,983:
|-
|-
|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,997: Line 1,994:
|-
|-
|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 2,008: Line 2,005:
|-
|-
|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 2,019: Line 2,016:
|-
|-
|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 ===
=== Wrong presence status in PBX admin dialog ===


{|
{|
Line 2,030: Line 2,027:
|-
|-
|Id
|Id
|[http://mantis.innovaphone.com/view.php?id=51269 51269]
|[http://mantis.innovaphone.com/view.php?id=50268 50268]
|}
|}
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: 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.
      
      
=== IP-DECT OEM protocol display update ===
=== Wrong calling party info on CTI initiated calls from a phone to a Trunk Object with 'Set Calling=Diverting No' checked ===


{|
{|
Line 2,041: Line 2,038:
|-
|-
|Id
|Id
|[http://mantis.innovaphone.com/view.php?id=51354 51354]
|[http://mantis.innovaphone.com/view.php?id=50309 50309]
|}
|}
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: 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
      
      
=== IP-DECT wrong forward of internal information event ===
=== In some countries the ring tone timing patterns for internal/external calls need to be swapped to meet country defaults ===


{|
{|
Line 2,052: Line 2,051:
|-
|-
|Id
|Id
|[http://mantis.innovaphone.com/view.php?id=51418 51418]
|[http://mantis.innovaphone.com/view.php?id=50328 50328]
|}
|}
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: 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
      
      
=== PBX BC Conference member type restriction / call information ===
=== Phone: Stop trying to subscribe for own presence ===


{|
{|
Line 2,063: Line 2,064:
|-
|-
|Id
|Id
|[http://mantis.innovaphone.com/view.php?id=51429 51429]
|[http://mantis.innovaphone.com/view.php?id=50346 50346]
|}
|}
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: 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 BC conference object TAPI feature clear call ===
=== Mobility: Send presence info of called user with ALERT at call to mobile endpoint ===


{|
{|
Line 2,074: Line 2,075:
|-
|-
|Id
|Id
|[http://mantis.innovaphone.com/view.php?id=51434 51434]
|[http://mantis.innovaphone.com/view.php?id=50349 50349]
|}
|}
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: 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 IP-Master in IP6000 device ===
=== Phone: Fkey "Partner" should light up LED when partner's presence activity is "on-the-phone" ===


{|
{|
Line 2,085: Line 2,086:
|-
|-
|Id
|Id
|[http://mantis.innovaphone.com/view.php?id=51509 51509]
|[http://mantis.innovaphone.com/view.php?id=50389 50389]
|}
|}
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: 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.  
      
      
=== IP-DECT trap during call release and information message ===
=== SIP: Signaling not sent to non-standard port ===


{|
{|
Line 2,096: Line 2,097:
|-
|-
|Id
|Id
|[http://mantis.innovaphone.com/view.php?id=51583 51583]
|[http://mantis.innovaphone.com/view.php?id=50394 50394]
|}
|}
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: 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.
      
      
=== IP-DECT configuration option 'Redirection with GK ID' ===
=== PBX object device config lost, if invalid info added somewhere else (e.g. duplicate number) ===


{|
{|
Line 2,107: Line 2,108:
|-
|-
|Id
|Id
|[http://mantis.innovaphone.com/view.php?id=51616 51616]
|[http://mantis.innovaphone.com/view.php?id=50415 50415]
|}
|}
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 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
      
      
=== IP6000 LE newer kernel support ===
=== SIP: Problems parsing exotic SIP URIs ===


{|
{|
Line 2,118: Line 2,119:
|-
|-
|Id
|Id
|[http://mantis.innovaphone.com/view.php?id=51712 51712]
|[http://mantis.innovaphone.com/view.php?id=50421 50421]
|}
|}
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: 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 logging release code ===
=== Gateway: Cannot use SIP interfaces without having "Media-Relay" and "Exclusive Coder" enabled ===


{|
{|
Line 2,129: Line 2,130:
|-
|-
|Id
|Id
|[http://mantis.innovaphone.com/view.php?id=51759 51759]
|[http://mantis.innovaphone.com/view.php?id=50425 50425]
|}
|}
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: 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.
      
      
=== IP72 announcement calls should be routed to headset if plugged ===
=== INCA phones - monitoring a headset conversation via handset (headset-spy) did not work ===


{|
{|
Line 2,140: Line 2,141:
|-
|-
|Id
|Id
|[http://mantis.innovaphone.com/view.php?id=49587 49587]
|[http://mantis.innovaphone.com/view.php?id=50673 50673]
|}
|}
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: 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
      
      
=== presence function key usage on phone traps with non-presence-available pbx ===
=== IP-DECT Radio call statistics ===


{|
{|
Line 2,151: Line 2,154:
|-
|-
|Id
|Id
|[http://mantis.innovaphone.com/view.php?id=50034 50034]
|[http://mantis.innovaphone.com/view.php?id=50736 50736]
|}
|}
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: 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.
      
      
=== Better norwegian translation for telephone text entries ===
=== IP-DECT Handset's product number and software version ===


{|
{|
Line 2,162: Line 2,165:
|-
|-
|Id
|Id
|[http://mantis.innovaphone.com/view.php?id=50941 50941]
|[http://mantis.innovaphone.com/view.php?id=50738 50738]
|}
|}
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: 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.
      
      
=== Ringing style upon incoming message is not configurable via web - ui ===
=== in  any phone recording mode the recorder gets number and/or h323id of the  currently connected remote party ===


{|
{|
Line 2,173: Line 2,176:
|-
|-
|Id
|Id
|[http://mantis.innovaphone.com/view.php?id=50963 50963]
|[http://mantis.innovaphone.com/view.php?id=50827 50827]
|}
|}
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: 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/>
''Status:''
checked in to 8.00,9.00,09-80500
      
      
=== Ringing tone used for incoming message can not be reconfigured permanently ===
=== Phone: Fkey "Partner" should try to subscribe for Presence only if checkmark set ===


{|
{|
Line 2,184: Line 2,189:
|-
|-
|Id
|Id
|[http://mantis.innovaphone.com/view.php?id=50976 50976]
|[http://mantis.innovaphone.com/view.php?id=50857 50857]
|}
|}
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: 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.
      
      
=== IP72: beacon recv time now configurable through command line ===
=== LDAP Searches for unsupported DNs disconnected all LDAP connections ===


{|
{|
Line 2,195: Line 2,200:
|-
|-
|Id
|Id
|[http://mantis.innovaphone.com/view.php?id=51452 51452]
|[http://mantis.innovaphone.com/view.php?id=50934 50934]
|}
|}
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: 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
      
      
=== IP72: Upgrade WLAN subsystem to Ascom 1.7.10 ===
=== Better norwegian translation for telephone text entries ===


{|
{|
Line 2,206: Line 2,211:
|-
|-
|Id
|Id
|[http://mantis.innovaphone.com/view.php?id=51516 51516]
|[http://mantis.innovaphone.com/view.php?id=50941 50941]
|}
|}
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: 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/>
      
      
=== IP72: ring though handset ===
=== 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=51624 51624]
|[http://mantis.innovaphone.com/view.php?id=50950 50950]
|}
|}
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: 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
      
      
=== IP72: function keys only available in idle mode ===
=== Phone: Fkey "Partner" show presence activity even if partners presence status is "closed" ===


{|
{|
Line 2,228: Line 2,233:
|-
|-
|Id
|Id
|[http://mantis.innovaphone.com/view.php?id=51798 51798]
|[http://mantis.innovaphone.com/view.php?id=50952 50952]
|}
|}
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: 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.
      
      
=== IP800: V8 Firmware upload not possible after V7 licenseses are returned to myinnovaphone  ===
=== Ringing style upon incoming message is not configurable via web - ui ===


{|
{|
|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=50963 50963]
|}
|}
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: 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/>
      
      
=== DTMF digits missing during DTMF generation  ===
=== Flashdir: Comparison for 'guid' could fail ===


{|
{|
|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=50965 50965]
|}
|}
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: 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/>
      
      
=== IP302/IP305: PCM connected channels disconnect other channels media ===
=== Phone: access to PBX directories failed if the PBX System Name contained non ascii characters (&gt;= 128) ===


{|
{|
|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=50974 50974]
|}
|}
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: 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
      
      
=== IP2x IP30x: unreliable V.34 modem  ===
=== IP-DECT memory leak ===


{|
{|
|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=50975 50975]
|}
|}
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: 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.
      
      
=== Manufacturer URL is needed in static HTML pages  ===
=== Ringing tone used for incoming message can not be reconfigured permanently ===


{|
{|
|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=50976 50976]
|}
|}
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: 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/>
      
      
=== HTTP client header access ===
=== Potential trap with Mobility ===


{|
{|
|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=50989 50989]
|}
|}
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
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
      
      
=== DSP debug ===
=== IP-DECT hanging calls ===


{|
{|
|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=51007 51007]
|}
|}
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: 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.
      
      
=== IP72 DSP acoustic web page not storing changes upon "OK" ===
=== IP-DECT OEM module MSF trap ===


{|
{|
Line 2,316: Line 2,323:
|-
|-
|Id
|Id
|[http://mantis.innovaphone.com/view.php?id=49576 49576]
|[http://mantis.innovaphone.com/view.php?id=51008 51008]
|}
|}
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: 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.
      
      
=== IP72: WLAN code upgrade ===
=== Mobility Object returns busy if called from a unknown mobile phone ===


{|
{|
Line 2,327: Line 2,334:
|-
|-
|Id
|Id
|[http://mantis.innovaphone.com/view.php?id=49577 49577]
|[http://mantis.innovaphone.com/view.php?id=51010 51010]
|}
|}
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: 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
      
      
=== PPP IP header compression traps ===
=== Potential trap when disconnecting call, WEBMEDIA-CH.5 default(82c09798): serial_event(814) ===


{|
{|
Line 2,338: Line 2,345:
|-
|-
|Id
|Id
|[http://mantis.innovaphone.com/view.php?id=49221 49221]
|[http://mantis.innovaphone.com/view.php?id=51132 51132]
|}
|}
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: 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
''Status:''
      
checked in to 9.00,8.00,09-80500
=== Trap in SRTP socket ===
      
=== NTP Server must respond to SYNC clients even if the device has no correct time from an official server  ===


{|
{|
Line 2,351: Line 2,356:
|-
|-
|Id
|Id
|[http://mantis.innovaphone.com/view.php?id=49267 49267]
|[http://mantis.innovaphone.com/view.php?id=51146 51146]
|}
|}
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: 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/>
''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 ===
=== One way media after SRTP renegotiation on IP6000 ===


{|
{|
Line 2,364: Line 2,367:
|-
|-
|Id
|Id
|[http://mantis.innovaphone.com/view.php?id=49308 49308]
|[http://mantis.innovaphone.com/view.php?id=51148 51148]
|}
|}
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: 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/>
''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 ===
=== SIP: Remote number update after pick-up does not work ===


{|
{|
Line 2,377: Line 2,378:
|-
|-
|Id
|Id
|[http://mantis.innovaphone.com/view.php?id=49796 49796]
|[http://mantis.innovaphone.com/view.php?id=51268 51268]
|}
|}
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: 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.
''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 OEM multi-cast module support ===


{|
{|
Line 2,390: Line 2,389:
|-
|-
|Id
|Id
|[http://mantis.innovaphone.com/view.php?id=50309 50309]
|[http://mantis.innovaphone.com/view.php?id=51269 51269]
|}
|}
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: 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
      
      
=== In some countries the ring tone timing patterns for internal/external calls need to be swapped to meet country defaults ===
=== wrong calculations causing check disc to damage data ===


{|
{|
Line 2,403: Line 2,400:
|-
|-
|Id
|Id
|[http://mantis.innovaphone.com/view.php?id=50328 50328]
|[http://mantis.innovaphone.com/view.php?id=51305 51305]
|}
|}
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: 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
''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 OEM protocol display update ===


{|
{|
Line 2,416: Line 2,411:
|-
|-
|Id
|Id
|[http://mantis.innovaphone.com/view.php?id=50673 50673]
|[http://mantis.innovaphone.com/view.php?id=51354 51354]
|}
|}
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: 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 9.00,8.00,09-80500
      
      
=== in any phone recording mode the recorder gets number and/or h323id of the  currently connected remote party ===
=== When upgrading a phone to V8 directories having been disabled in V7 may come up enabled in V8 ===


{|
{|
Line 2,429: Line 2,422:
|-
|-
|Id
|Id
|[http://mantis.innovaphone.com/view.php?id=50827 50827]
|[http://mantis.innovaphone.com/view.php?id=51381 51381]
|}
|}
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: 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:''
''Status:''
checked in to 8.00,9.00,09-80500  
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) ===
=== PBX-CDR: Local Time wrong (same as UTC) ===


{|
{|
Line 2,442: Line 2,435:
|-
|-
|Id
|Id
|[http://mantis.innovaphone.com/view.php?id=50974 50974]
|[http://mantis.innovaphone.com/view.php?id=51415 51415]
|}
|}
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: 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
''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 wrong forward of internal information event ===


{|
{|
Line 2,455: Line 2,446:
|-
|-
|Id
|Id
|[http://mantis.innovaphone.com/view.php?id=51381 51381]
|[http://mantis.innovaphone.com/view.php?id=51418 51418]
|}
|}
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: 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.  
''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 ===
=== PBX: No Inband Disconnect for Gateway Object ===


{|
{|
Line 2,468: Line 2,457:
|-
|-
|Id
|Id
|[http://mantis.innovaphone.com/view.php?id=51506 51506]
|[http://mantis.innovaphone.com/view.php?id=51421 51421]
|}
|}
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: '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
''Status:''
checked in to 8.00,9.00,09-80500
      
      
=== AD Replicator, Searches to Global Catalog Server weren't possible ===
=== PBX CGPN missing with call to mobile endpoint, if not supplied by calling endpoint ===


{|
{|
Line 2,481: Line 2,468:
|-
|-
|Id
|Id
|[http://mantis.innovaphone.com/view.php?id=50129 50129]
|[http://mantis.innovaphone.com/view.php?id=51424 51424]
|}
|}
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: 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
      
      
=== Flashdir: Comparison for 'guid' could fail ===
=== PBX BC Conference member type restriction / call information ===


{|
{|
Line 2,492: Line 2,479:
|-
|-
|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" ===
=== no RTP-DTMF after rerouting ===


{|
{|
Line 2,503: Line 2,490:
|-
|-
|Id
|Id
|[http://mantis.innovaphone.com/view.php?id=51733 51733]
|[http://mantis.innovaphone.com/view.php?id=51431 51431]
|}
|}
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: 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
      
      
=== Cleanup gateway interface config ===
=== PBX BC conference object TAPI feature clear call ===


{|
{|
Line 2,514: Line 2,501:
|-
|-
|Id
|Id
|[http://mantis.innovaphone.com/view.php?id=49181 49181]
|[http://mantis.innovaphone.com/view.php?id=51434 51434]
|}
|}
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: 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.  
      
      
=== PBX Waiting Queue did not provide diverting party display name ===
=== dyn PBX General configuration page changes did not work sometime ===


{|
{|
Line 2,525: Line 2,512:
|-
|-
|Id
|Id
|[http://mantis.innovaphone.com/view.php?id=49786 49786]
|[http://mantis.innovaphone.com/view.php?id=51436 51436]
|}
|}
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: 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
      
      
=== GUI: Registration indicator not aligned ===
=== SIP: NOTIFY(message-summary) not handled by PBX ===


{|
{|
Line 2,536: Line 2,523:
|-
|-
|Id
|Id
|[http://mantis.innovaphone.com/view.php?id=50070 50070]
|[http://mantis.innovaphone.com/view.php?id=51443 51443]
|}
|}
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: 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.  
      
      
=== PBX: Presence subscription was rejected by object type 'Executive' ===
=== PBX: Retrieve was not sent in case of chained Waiting Queues ===


{|
{|
Line 2,547: Line 2,534:
|-
|-
|Id
|Id
|[http://mantis.innovaphone.com/view.php?id=50091 50091]
|[http://mantis.innovaphone.com/view.php?id=51450 51450]
|}
|}
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: 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
      
      
=== Control calls without facility elements were forwarded on ISDN ===
=== PBX: Busy Name was not sent if busy because of 'Busy on ... calls' ===


{|
{|
Line 2,558: Line 2,545:
|-
|-
|Id
|Id
|[http://mantis.innovaphone.com/view.php?id=50199 50199]
|[http://mantis.innovaphone.com/view.php?id=51451 51451]
|}
|}
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: 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
      
      
=== Wrong presence status in PBX admin dialog ===
=== IP72: beacon recv time now configurable through command line ===


{|
{|
Line 2,569: Line 2,556:
|-
|-
|Id
|Id
|[http://mantis.innovaphone.com/view.php?id=50268 50268]
|[http://mantis.innovaphone.com/view.php?id=51452 51452]
|}
|}
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: 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: Fkey "Partner" should light up LED when partner's presence activity is "on-the-phone" ===
=== Make LCD dump to be displayed in browser ===


{|
{|
Line 2,580: Line 2,567:
|-
|-
|Id
|Id
|[http://mantis.innovaphone.com/view.php?id=50389 50389]
|[http://mantis.innovaphone.com/view.php?id=51485 51485]
|}
|}
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: 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.
      
      
=== Gateway: Cannot use SIP interfaces without having "Media-Relay" and "Exclusive Coder" enabled ===
=== Config Wizard Update ===


{|
{|
Line 2,591: Line 2,578:
|-
|-
|Id
|Id
|[http://mantis.innovaphone.com/view.php?id=50425 50425]
|[http://mantis.innovaphone.com/view.php?id=51501 51501]
|}
|}
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: 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
      
      
=== Make LCD dump to be displayed in browser ===
=== function keys defined in a config template could not be overloaded by an associated user object ===


{|
{|
Line 2,602: Line 2,589:
|-
|-
|Id
|Id
|[http://mantis.innovaphone.com/view.php?id=51485 51485]
|[http://mantis.innovaphone.com/view.php?id=51506 51506]
|}
|}
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: 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
      
      
=== ISDN: Sending of CEI facilities as Point to Multipoint endpoint did not work ===
=== IP-DECT IP-Master in IP6000 device ===


{|
{|
Line 2,613: Line 2,602:
|-
|-
|Id
|Id
|[http://mantis.innovaphone.com/view.php?id=51744 51744]
|[http://mantis.innovaphone.com/view.php?id=51509 51509]
|}
|}
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: 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.  
      
      
=== Phone: Local coder config was not used on outgoing phone calls ===
=== IP72: Upgrade WLAN subsystem to Ascom 1.7.10 ===


{|
{|
Line 2,624: Line 2,613:
|-
|-
|Id
|Id
|[http://mantis.innovaphone.com/view.php?id=49899 49899]
|[http://mantis.innovaphone.com/view.php?id=51516 51516]
|}
|}
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: 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: Stop trying to subscribe for own presence ===
=== Phone: Presence subscription of partner fkey not created sometimes ===


{|
{|
Line 2,635: Line 2,624:
|-
|-
|Id
|Id
|[http://mantis.innovaphone.com/view.php?id=50346 50346]
|[http://mantis.innovaphone.com/view.php?id=51519 51519]
|}
|}
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: 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.
      
      
=== Phone: Fkey "Partner" should try to subscribe for Presence only if checkmark set ===
=== Problems with Mobility and Nodes ===


{|
{|
Line 2,646: Line 2,635:
|-
|-
|Id
|Id
|[http://mantis.innovaphone.com/view.php?id=50857 50857]
|[http://mantis.innovaphone.com/view.php?id=51549 51549]
|}
|}
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: 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
      
      
=== Phone: Fkey "Partner" show presence activity even if partners presence status is "closed" ===
=== SIP: Send Call-Info header with "answer-after=0" for auto answer signaling ===


{|
{|
Line 2,657: Line 2,646:
|-
|-
|Id
|Id
|[http://mantis.innovaphone.com/view.php?id=50952 50952]
|[http://mantis.innovaphone.com/view.php?id=51554 51554]
|}
|}
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: 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.
      
      
=== Phone: Presence subscription of partner fkey not created sometimes ===
=== IP-DECT trap during call release and information message ===


{|
{|
Line 2,668: Line 2,657:
|-
|-
|Id
|Id
|[http://mantis.innovaphone.com/view.php?id=51519 51519]
|[http://mantis.innovaphone.com/view.php?id=51583 51583]
|}
|}
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: 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.  
      
      
=== Phone: Trap when re-creating presence call ===
=== Phone: Trap when re-creating presence call ===
Line 2,683: Line 2,672:
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: 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.
      
      
=== SIP: Handling of re-INVITE collision ===
=== IP-DECT configuration option 'Redirection with GK ID' ===


{|
{|
Line 2,690: Line 2,679:
|-
|-
|Id
|Id
|[http://mantis.innovaphone.com/view.php?id=49135 49135]
|[http://mantis.innovaphone.com/view.php?id=51616 51616]
|}
|}
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: 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.  
      
      
=== Memory Leak ===
=== PBX: Pickup call did not show original called/parked endpoint ===


{|
{|
Line 2,701: Line 2,690:
|-
|-
|Id
|Id
|[http://mantis.innovaphone.com/view.php?id=49164 49164]
|[http://mantis.innovaphone.com/view.php?id=51617 51617]
|}
|}
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: 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
      
      
=== ENUM/SIP interfaces shall accept incoming calls ===
=== compatibility issue with PBX Waiting queue sending ct-complete before connect ===


{|
{|
Line 2,712: Line 2,701:
|-
|-
|Id
|Id
|[http://mantis.innovaphone.com/view.php?id=49198 49198]
|[http://mantis.innovaphone.com/view.php?id=51620 51620]
|}
|}
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: 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
      
      
=== Trap when SIP closes unused transport connections ===
=== PBX: SOAP initiated calls were sent with CT-SETUP ===


{|
{|
Line 2,723: Line 2,712:
|-
|-
|Id
|Id
|[http://mantis.innovaphone.com/view.php?id=49257 49257]
|[http://mantis.innovaphone.com/view.php?id=51622 51622]
|}
|}
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: 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
      
      
=== SIP: 180/Ringing was not re-transmitted ===
=== PBX send call to mobile phone as diverted call ===


{|
{|
Line 2,734: Line 2,723:
|-
|-
|Id
|Id
|[http://mantis.innovaphone.com/view.php?id=49461 49461]
|[http://mantis.innovaphone.com/view.php?id=51623 51623]
|}
|}
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: 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
      
      
=== SIP: Incoming calls not accepted by PBX ===
=== IP72: ring though handset ===


{|
{|
Line 2,745: Line 2,734:
|-
|-
|Id
|Id
|[http://mantis.innovaphone.com/view.php?id=49473 49473]
|[http://mantis.innovaphone.com/view.php?id=51624 51624]
|}
|}
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 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/>
      
      
=== Trap when switching off SIP phone ===
=== Possible trap when removing a cf card without previous unmount ===


{|
{|
Line 2,756: Line 2,745:
|-
|-
|Id
|Id
|[http://mantis.innovaphone.com/view.php?id=49556 49556]
|[http://mantis.innovaphone.com/view.php?id=51705 51705]
|}
|}
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: 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  
      
      
=== SIP: INVITE after REFER for blind transfer missed Referred-By header ===
=== IP6000 LE newer kernel support ===


{|
{|
Line 2,767: Line 2,756:
|-
|-
|Id
|Id
|[http://mantis.innovaphone.com/view.php?id=49854 49854]
|[http://mantis.innovaphone.com/view.php?id=51712 51712]
|}
|}
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: 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.  
      
      
=== SIP: Incoming calls with anonymous From-URI were not tagged as CLIR ===
=== 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=50058 50058]
|[http://mantis.innovaphone.com/view.php?id=51715 51715]
|}
|}
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: 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  
      
      
=== Gateway sends calls to wrong registered SIP endpoint ===
=== LDAP/Replicator-Status  "There is no replicator active" ===


{|
{|
Line 2,789: Line 2,778:
|-
|-
|Id
|Id
|[http://mantis.innovaphone.com/view.php?id=50102 50102]
|[http://mantis.innovaphone.com/view.php?id=51733 51733]
|}
|}
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: 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/>
      
      
=== Phone: Changes to option 'Proposed Registration Interval' were applied after reboot only ===
=== ISDN: Sending of CEI facilities as Point to Multipoint endpoint did not work ===


{|
{|
Line 2,800: Line 2,789:
|-
|-
|Id
|Id
|[http://mantis.innovaphone.com/view.php?id=50214 50214]
|[http://mantis.innovaphone.com/view.php?id=51744 51744]
|}
|}
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: 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.
      
      
=== SIP: Signaling not sent to non-standard port ===
=== Assertion to verify that access to license data structures is correct ===


{|
{|
Line 2,811: Line 2,800:
|-
|-
|Id
|Id
|[http://mantis.innovaphone.com/view.php?id=50394 50394]
|[http://mantis.innovaphone.com/view.php?id=51752 51752]
|}
|}
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: 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
      
      
=== SIP: Problems parsing exotic SIP URIs ===
=== IP-DECT logging release code ===


{|
{|
Line 2,822: Line 2,811:
|-
|-
|Id
|Id
|[http://mantis.innovaphone.com/view.php?id=50421 50421]
|[http://mantis.innovaphone.com/view.php?id=51759 51759]
|}
|}
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 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.
      
      
=== SIP: NOTIFY(message-summary) not handled by PBX ===
=== Trap if some but not all interfaces of a given type are unlicensed ===


{|
{|
Line 2,833: Line 2,822:
|-
|-
|Id
|Id
|[http://mantis.innovaphone.com/view.php?id=51443 51443]
|[http://mantis.innovaphone.com/view.php?id=51771 51771]
|}
|}
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: 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
      
      
=== SIP: Send Call-Info header with "answer-after=0" for auto answer signaling ===
=== IP72: function keys only available in idle mode ===


{|
{|
Line 2,844: Line 2,833:
|-
|-
|Id
|Id
|[http://mantis.innovaphone.com/view.php?id=51554 51554]
|[http://mantis.innovaphone.com/view.php?id=51798 51798]
|}
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/>
   
=== DSP debug ===
 
{|
|Status
|<font><font color="red">Assigned</font></font>
|-
|Id
|[http://mantis.innovaphone.com/view.php?id=52124 52124]
|}
|}
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: 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  
=== Other new Features ===
=== Other new Features ===


Line 2,882: Line 2,882:


      
      
=== Option added to configure DTMF detection sensitivy ===
=== SIP: Unsolicited NOTIFY(message-summary) not handled ===


{|
{|
Line 2,889: Line 2,889:
|-
|-
|Id
|Id
|[http://mantis.innovaphone.com/view.php?id=52879 52879]
|[http://mantis.innovaphone.com/view.php?id=51636 51636]
|}
|}
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: 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.
      
      
=== PBX dtmf object selects wrong mobility user for feature codes ===
=== innovaphone endpoints which do not support group indications can turn off sending of group indications in PBX ===


{|
{|
Line 2,900: Line 2,900:
|-
|-
|Id
|Id
|[http://mantis.innovaphone.com/view.php?id=51811 51811]
|[http://mantis.innovaphone.com/view.php?id=51799 51799]
|}
|}
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: 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
      
      
=== PBX dtmf/icp object couldn't assign e164 without node/pbx if another object already has this e164 ===
=== PBX dtmf object selects wrong mobility user for feature codes ===


{|
{|
Line 2,911: Line 2,911:
|-
|-
|Id
|Id
|[http://mantis.innovaphone.com/view.php?id=51812 51812]
|[http://mantis.innovaphone.com/view.php?id=51811 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<br/><br/>Solution: use correct number to determine mobility user<br/><br/>Files: pbx_dtmf.cpp<br/><br/>Risk: no risk
   
=== PBX dtmf/icp object couldn't assign e164 without node/pbx if another object already has this e164 ===
 
{|
|Status
|<font><font color="green">Closed</font></font>
|-
|Id
|[http://mantis.innovaphone.com/view.php?id=51812 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<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: 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  
   
=== Phone: Mis-configuration may cause phone to try presence subscription for nobody ===
{|
|Status
|<font><font color="green">Closed</font></font>
|-
|Id
|[http://mantis.innovaphone.com/view.php?id=51838 51838]
|}
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.
      
      
=== Ignore calls from gateway objects to dtmf object if no mobility user is found for incoming number ===
=== Ignore calls from gateway objects to dtmf object if no mobility user is found for incoming number ===
Line 2,926: Line 2,948:
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: 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  
      
      
=== innovaphone endpoints which do not support group indications can turn off sending of group indications in PBX ===
=== Trap of PBX when relasing webmedia call ===


{|
{|
|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=51799 51799]
|[http://mantis.innovaphone.com/view.php?id=51938 51938]
|}
|}
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: 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.
      
      
=== Potential trap when disconnecting call, WEBMEDIA-CH.5 default(82c09798): serial_event(814) ===
=== Potential trap when disconnecting call, WEBMEDIA-CH.5 default(82c09798): serial_event(814) ===
Line 2,959: Line 2,981:
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: 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
      
      
=== PBX: Successive diversion activate/deactivate and dynamic group status sometimes failed ===
=== HTTP client head request waits for data ===


{|
{|
|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=52037 52037]
|[http://mantis.innovaphone.com/view.php?id=51978 51978]
|}
|}
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: 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
      
      
=== H.323 RAS Registration thru NAT to PBX does not work with password ===
=== IP-DECT Master potential trap ===


{|
{|
Line 2,977: Line 2,999:
|-
|-
|Id
|Id
|[http://mantis.innovaphone.com/view.php?id=52126 52126]
|[http://mantis.innovaphone.com/view.php?id=51983 51983]
|}
|}
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: 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.
      
      
=== Gateway: Potential Trap with collision of transfer an call clearing ===
=== ISDN: Call completion could not be activated at point-to-point interfaces ===


{|
{|
|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=52213 52213]
|[http://mantis.innovaphone.com/view.php?id=51990 51990]
|}
|}
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: 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.
      
      
=== Allow to limit license usage of slave PBX ===
=== SIP: UPDATE with SDP with "sendrecv" wasn't handled ===


{|
{|
Line 2,999: Line 3,021:
|-
|-
|Id
|Id
|[http://mantis.innovaphone.com/view.php?id=52238 52238]
|[http://mantis.innovaphone.com/view.php?id=52007 52007]
|}
|}
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: 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.
      
      
=== innovaphone parameters were not sent with H.323 ras registration confirm, if the confirm was lost the first time ===
=== H323 potential trap during signaling cleanup ===


{|
{|
Line 3,010: Line 3,032:
|-
|-
|Id
|Id
|[http://mantis.innovaphone.com/view.php?id=52240 52240]
|[http://mantis.innovaphone.com/view.php?id=52030 52030]
|}
|}
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: 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.
      
      
=== Potential hanging h323 signaling (Mem Leak) on collision of removing a signaling entity with outg. call ===
=== Phone: Presence fkey disappears and cannot be configured ===


{|
{|
|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=52252 52252]
|[http://mantis.innovaphone.com/view.php?id=52036 52036]
|}
|}
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: 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.
      
      
=== Avoid reboot when reading traces, if trap happens after firmware update ===
=== 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=52311 52311]
|[http://mantis.innovaphone.com/view.php?id=52037 52037]
|}
|}
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: 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
      
      
=== PBX: Potential Trap if changing groups ===
=== DHCP client must check if an address provided by the server or a kept/reused address  is not already in use ===


{|
{|
|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=52312 52312]
|[http://mantis.innovaphone.com/view.php?id=52076 52076]
|}
|}
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: 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
      
      
=== PBX: Unknown Registrations did not display name _UNKNOWN_ on the phone anymore ===
=== 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=52417 52417]
|[http://mantis.innovaphone.com/view.php?id=52095 52095]
|}
|}
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: 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
      
      
=== PBX SOAP FindUser did not work correctly with users not in root node ===
=== 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=52498 52498]
|[http://mantis.innovaphone.com/view.php?id=52126 52126]
|}
|}
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: 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
      
      
=== H.323 Signal IE when sent once during a call, was then sent with each subsequent message ===
=== IP-DECT OEM location recovery ===


{|
{|
|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=52146 52146]
|}
|}
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: 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.
      
      
=== Call Intrusion across PBXs did not work ===
=== IP-DECT trap during debugging ===


{|
{|
|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=52157 52157]
|}
|}
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: 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.
      
      
=== PBX Trunk automatic disconnect did not work if user was monitored by SOAP ===
=== SIP: SRTP key changes right after connect ===


{|
{|
Line 3,098: Line 3,124:
|-
|-
|Id
|Id
|[http://mantis.innovaphone.com/view.php?id=52574 52574]
|[http://mantis.innovaphone.com/view.php?id=52159 52159]
|}
|}
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: 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.
      
      
=== Potential trap if HTTP session is closed while command is still pending ===
=== SIP: Anonymize remote-party info when sending dialog-info if remote-party calls with CLIR ===


{|
{|
|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=52576 52576]
|[http://mantis.innovaphone.com/view.php?id=52171 52171]
|}
|}
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: 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.
      
      
=== IP-DECT/Analog: CC was lost if initiating endpoint busy ===
=== SIP: Trap when using TCP as transport ===


{|
{|
Line 3,120: Line 3,146:
|-
|-
|Id
|Id
|[http://mantis.innovaphone.com/view.php?id=52595 52595]
|[http://mantis.innovaphone.com/view.php?id=52209 52209]
|}
|}
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: 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.
      
      
=== Switch-PCM together with Media-Relay caused disconnect of call ===
=== 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=52614 52614]
|[http://mantis.innovaphone.com/view.php?id=52213 52213]
|}
|}
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: 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
      
      
=== Registration with Name or Number was only possible if Device with hw-id identical to name was configured ===
=== Allow to limit license usage of slave 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=52634 52634]
|[http://mantis.innovaphone.com/view.php?id=52238 52238]
|}
|}
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: 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.
      
      
=== PBX Mobility: Unexpected restart if 3 or more mobility destinations configured at a user ===
=== innovaphone parameters were not sent with H.323 ras registration confirm, if the confirm was lost the first time ===


{|
{|
|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=52240 52240]
|}
|}
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 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
      
      
=== PBX Mobility: No media if 3 or more forking/mobility destinations without delay configured ===
=== SIP Entity URI in "application/dialog-info+xml" and "application/pidf+xml" was wrong ===


{|
{|
Line 3,164: Line 3,190:
|-
|-
|Id
|Id
|[http://mantis.innovaphone.com/view.php?id=52783 52783]
|[http://mantis.innovaphone.com/view.php?id=52246 52246]
|}
|}
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: 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.
      
      
=== PBX Mobility: Trap if consultation call is cleared by remote side and user attempts to switch back to first call ===
=== DSP fix sporadic trap  ===


{|
{|
|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=52860 52860]
|[http://mantis.innovaphone.com/view.php?id=52247 52247]
|}
|}
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: 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
      
      
=== Kerberos trap when turning off standby PBX with replication ===
=== SIP: Bad REGISTER request was not rejected ===


{|
{|
Line 3,186: Line 3,212:
|-
|-
|Id
|Id
|[http://mantis.innovaphone.com/view.php?id=52415 52415]
|[http://mantis.innovaphone.com/view.php?id=52249 52249]
|}
|}
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: 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.
      
      
=== mem info for TLS socket ===
=== 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=52476 52476]
|[http://mantis.innovaphone.com/view.php?id=52252 52252]
|}
|}
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: 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
      
      
=== Problems with TLS event handling ===
=== Avoid reboot when reading traces, if trap happens after firmware update ===


{|
{|
Line 3,208: Line 3,234:
|-
|-
|Id
|Id
|[http://mantis.innovaphone.com/view.php?id=52537 52537]
|[http://mantis.innovaphone.com/view.php?id=52311 52311]
|}
|}
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 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
      
      
=== Control calls without facility elements were forwarded on ISDN ===
=== 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=52095 52095]
|[http://mantis.innovaphone.com/view.php?id=52312 52312]
|}
|}
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: 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
''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
      
      
=== IP-DECT Master potential trap ===
=== socket bind/connect sometimes failed because of  duplicate assignment of local wildcard port ===


{|
{|
|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=51983 51983]
|[http://mantis.innovaphone.com/view.php?id=52341 52341]
|}
|}
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: 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
      
      
=== H323 potential trap during signaling cleanup ===
=== IP-DECT call counter ===


{|
{|
Line 3,243: Line 3,269:
|-
|-
|Id
|Id
|[http://mantis.innovaphone.com/view.php?id=52030 52030]
|[http://mantis.innovaphone.com/view.php?id=52347 52347]
|}
|}
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: 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 OEM location recovery ===
=== SIP: Trap when performing call transfer on ARM based hardware ===


{|
{|
Line 3,254: Line 3,280:
|-
|-
|Id
|Id
|[http://mantis.innovaphone.com/view.php?id=52146 52146]
|[http://mantis.innovaphone.com/view.php?id=52356 52356]
|}
|}
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: 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.
      
      
=== IP-DECT trap during debugging ===
=== IP-DECT call counter busy state ===


{|
{|
Line 3,265: Line 3,291:
|-
|-
|Id
|Id
|[http://mantis.innovaphone.com/view.php?id=52157 52157]
|[http://mantis.innovaphone.com/view.php?id=52406 52406]
|}
|}
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: 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 call counter ===
=== Kerberos trap when turning off standby PBX with replication ===


{|
{|
|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=52347 52347]
|[http://mantis.innovaphone.com/view.php?id=52415 52415]
|}
|}
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.
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
      
      
=== IP-DECT call counter busy state ===
=== PBX: Unknown Registrations did not display name _UNKNOWN_ on the phone anymore ===


{|
{|
Line 3,287: Line 3,313:
|-
|-
|Id
|Id
|[http://mantis.innovaphone.com/view.php?id=52406 52406]
|[http://mantis.innovaphone.com/view.php?id=52417 52417]
|}
|}
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.
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
      
      
=== IP-DECT OEM protocol memory leaks ===
=== IP-DECT OEM protocol memory leaks ===
Line 3,301: Line 3,327:
|}
|}
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: 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.  
   
=== mem info for TLS socket ===
{|
|Status
|<font><font color="orange">To-decide</font></font>
|-
|Id
|[http://mantis.innovaphone.com/view.php?id=52476 52476]
|}
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
      
      
=== IP-DECT IP6000  DECT module ===
=== IP-DECT IP6000  DECT module ===
Line 3,313: Line 3,350:
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: 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 ===
=== PBX SOAP FindUser did not work correctly with users not in root node ===


{|
{|
Line 3,320: Line 3,357:
|-
|-
|Id
|Id
|[http://mantis.innovaphone.com/view.php?id=52528 52528]
|[http://mantis.innovaphone.com/view.php?id=52498 52498]
|}
|}
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: 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
      
      
=== IP-DECT interface functions for OEM modules ===
=== H.323 Signal IE when sent once during a call, was then sent with each subsequent message ===


{|
{|
Line 3,331: Line 3,368:
|-
|-
|Id
|Id
|[http://mantis.innovaphone.com/view.php?id=52920 52920]
|[http://mantis.innovaphone.com/view.php?id=52517 52517]
|}
|}
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: 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
      
      
=== HTTP client head request waits for data ===
=== IP-DECT BMC trace off command ===


{|
{|
|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=51978 51978]
|[http://mantis.innovaphone.com/view.php?id=52528 52528]
|}
|}
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: 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.
      
      
=== DSP fix sporadic trap  ===
=== Problems with TLS event handling ===


{|
{|
|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=52537 52537]
|}
|}
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: 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
      
      
=== DHCP client must check if an address provided by the server or a kept/reused address  is not already in use ===
=== local call forwarding on busy for already alerting calls ===


{|
{|
Line 3,364: Line 3,401:
|-
|-
|Id
|Id
|[http://mantis.innovaphone.com/view.php?id=52076 52076]
|[http://mantis.innovaphone.com/view.php?id=52541 52541]
|}
|}
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: 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:''
''Status:''
checked in to 8.00
checked in to 9.00,8.00
      
      
=== socket bind/connect sometimes failed because of duplicate assignment of local wildcard port ===
=== phone: DHCP configuration of a non-automatic primary registration fails when the registration is created before DHCP completion ===


{|
{|
Line 3,377: Line 3,414:
|-
|-
|Id
|Id
|[http://mantis.innovaphone.com/view.php?id=52341 52341]
|[http://mantis.innovaphone.com/view.php?id=52543 52543]
|}
|}
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: 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:''
''Status:''
checked in to 9.00,8.00
checked in to 9.00,8.00  
      
      
=== local call forwarding on busy for already alerting calls ===
=== Call Intrusion across PBXs did not work ===


{|
{|
Line 3,390: Line 3,427:
|-
|-
|Id
|Id
|[http://mantis.innovaphone.com/view.php?id=52541 52541]
|[http://mantis.innovaphone.com/view.php?id=52556 52556]
|}
|}
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 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
''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 ===
=== PBX Trunk automatic disconnect did not work if user was monitored by SOAP ===


{|
{|
Line 3,403: Line 3,438:
|-
|-
|Id
|Id
|[http://mantis.innovaphone.com/view.php?id=52543 52543]
|[http://mantis.innovaphone.com/view.php?id=52574 52574]
|}
|}
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 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
''Status:''
checked in to 9.00,8.00
      
      
=== phone: names containing non-ascii characters entered in the registration menu of secondary registrations are garbled ===
=== 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=52674 52674]
|[http://mantis.innovaphone.com/view.php?id=52576 52576]
|}
|}
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: 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
''Status:''
checked in to 9.00,8.00
      
      
=== phone: passwords containing non-ascii characters did not work for the primary registration ===
=== IP-DECT/Analog: CC was lost if initiating endpoint busy ===


{|
{|
Line 3,429: Line 3,460:
|-
|-
|Id
|Id
|[http://mantis.innovaphone.com/view.php?id=52788 52788]
|[http://mantis.innovaphone.com/view.php?id=52595 52595]
|}
|}
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 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
''Status:''
checked in to 9.00,8.00
      
      
=== directory entries displayed duplicate when using delayed input with slow LDAP-servers ===
=== Switch-PCM together with Media-Relay caused disconnect of call ===


{|
{|
Line 3,442: Line 3,471:
|-
|-
|Id
|Id
|[http://mantis.innovaphone.com/view.php?id=52877 52877]
|[http://mantis.innovaphone.com/view.php?id=52614 52614]
|}
|}
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 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
''Status:''
checked in to 7.00,8.00,9.00
      
      
=== Trap of PBX when relasing webmedia call ===
=== 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=51938 51938]
|[http://mantis.innovaphone.com/view.php?id=52634 52634]
|}
|}
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: 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.
      
      
=== ISDN: Call completion could not be activated at point-to-point interfaces ===
=== phone: names containing non-ascii characters entered in the registration menu of secondary registrations are garbled ===


{|
{|
Line 3,466: Line 3,493:
|-
|-
|Id
|Id
|[http://mantis.innovaphone.com/view.php?id=51990 51990]
|[http://mantis.innovaphone.com/view.php?id=52674 52674]
|}
|}
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 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: Mis-configuration may cause phone to try presence subscription for nobody ===
=== Noise after transfering a waiting queue connection ===


{|
{|
|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=51838 51838]
|[http://mantis.innovaphone.com/view.php?id=52718 52718]
|}
|}
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: 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.
      
      
=== Phone: Presence fkey disappears and cannot be configured ===
=== PBX Mobility: Unexpected restart if 3 or more mobility destinations configured at a user ===


{|
{|
Line 3,488: Line 3,517:
|-
|-
|Id
|Id
|[http://mantis.innovaphone.com/view.php?id=52036 52036]
|[http://mantis.innovaphone.com/view.php?id=52782 52782]
|}
|}
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: 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
      
      
=== SIP: Unsolicited NOTIFY(message-summary) not handled ===
=== PBX Mobility: No media if 3 or more forking/mobility destinations without delay configured ===


{|
{|
Line 3,499: Line 3,528:
|-
|-
|Id
|Id
|[http://mantis.innovaphone.com/view.php?id=51636 51636]
|[http://mantis.innovaphone.com/view.php?id=52783 52783]
|}
|}
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: 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
      
      
=== SIP: UPDATE with SDP with "sendrecv" wasn't handled ===
=== phone: passwords containing non-ascii characters did not work for the primary registration ===


{|
{|
|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=52788 52788]
|}
|}
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 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/>
''Status:''
checked in to 9.00,8.00
      
      
=== SIP: SRTP key changes right after connect ===
=== PBX Mobility: Trap if consultation call is cleared by remote side and user attempts to switch back to first call ===


{|
{|
Line 3,521: Line 3,552:
|-
|-
|Id
|Id
|[http://mantis.innovaphone.com/view.php?id=52159 52159]
|[http://mantis.innovaphone.com/view.php?id=52860 52860]
|}
|}
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 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
      
      
=== SIP: Anonymize remote-party info when sending dialog-info if remote-party calls with CLIR ===
=== directory entries displayed duplicate when using delayed input with slow LDAP-servers ===


{|
{|
Line 3,532: Line 3,563:
|-
|-
|Id
|Id
|[http://mantis.innovaphone.com/view.php?id=52171 52171]
|[http://mantis.innovaphone.com/view.php?id=52877 52877]
|}
|}
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: 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
      
      
=== SIP: Trap when using TCP as transport ===
=== Option added to configure DTMF detection sensitivy ===


{|
{|
Line 3,543: Line 3,576:
|-
|-
|Id
|Id
|[http://mantis.innovaphone.com/view.php?id=52209 52209]
|[http://mantis.innovaphone.com/view.php?id=52879 52879]
|}
|}
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: 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/>
      
      
=== SIP Entity URI in "application/dialog-info+xml" and "application/pidf+xml" was wrong ===
=== IP-DECT interface functions for OEM modules ===


{|
{|
Line 3,554: Line 3,587:
|-
|-
|Id
|Id
|[http://mantis.innovaphone.com/view.php?id=52246 52246]
|[http://mantis.innovaphone.com/view.php?id=52920 52920]
|}
|}
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: 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.  
   
=== SIP: Bad REGISTER request was not rejected ===
 
{|
|Status
|<font><font color="orange">To-decide</font></font>
|-
|Id
|[http://mantis.innovaphone.com/view.php?id=52249 52249]
|}
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>
|-
|Id
|[http://mantis.innovaphone.com/view.php?id=52356 52356]
|}
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>
|-
|Id
|[http://mantis.innovaphone.com/view.php?id=52718 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)<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 ==

Revision as of 09:19, 2 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

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

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.

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

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

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.

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

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

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)

Changes included in Version 8 hotfix1 Definition

New Features

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.

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.

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

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.

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.

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

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

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.

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

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

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

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

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

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.

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

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

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.

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.

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

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.

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

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.

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.

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

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

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.

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.

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.

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.

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

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

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

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

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

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.

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

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.

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.

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

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

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

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.

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

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

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

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

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

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

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

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

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.

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

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

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

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

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.

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

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.

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

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.

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 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


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

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.

"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

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

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.

"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

Bug Fixes

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



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

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)

Changes included in Version 8 hotfix2 Definition

New Features

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)

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

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.

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

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.

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

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: 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

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.

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

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.

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

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

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

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

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.

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.

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.

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

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

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

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.

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

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.

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.

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

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

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

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.

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

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

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

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.

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.

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

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: 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

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.

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.

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

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

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.

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

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.

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

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.

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

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.

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

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.

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.

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

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

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.

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

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.

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: 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.

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

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

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

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.

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

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

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

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.

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



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

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.

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

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



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 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.

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

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.

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

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

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: 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

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.

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

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.

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

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.

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

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

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.

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

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

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.

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

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.

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

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.

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.

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.

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.

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

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

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

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.

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

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

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.

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

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.

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

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

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

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

Changes included in Version 8 hotfix2 Definition

New Features

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.

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

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

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.

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

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.

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

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

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.

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.

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.

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.

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.

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

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

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

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

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.

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.

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

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.

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

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.

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

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

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.

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.

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.

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

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

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.

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

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.

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

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.

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

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

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.

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

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.

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

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

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

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

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

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.

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


V8 Change Requests

These are change requests applicable for v8, which are considered for implementation. Definition

New Features

Bug Fixes