Reference:Release Notes Firmware: Difference between revisions

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




   
=== Upload firmware to DRAM ===
{|
|Status
|<font><font color="green">Closed</font></font>
|-
|Id
|[http://mantis.innovaphone.com/view.php?id=29009 29009]
|}
This allows testing of a new firmware without flashing the firmeware. Its faster and it allows easy recovery from a bad firmware with a simple reset
      
      
=== CDR from PBX ===
=== CDR from PBX ===
Line 50: Line 39:
On a Box Level multiple admin accounts can be configured. These accounts can be either Administrators (as before) or Viewers (view config, no change).<br/><br/>On the PBX configured PBX users can be given Administrator rights:<br/>- PBX Full Admin.<br/>- PBX Admin all-objects (no General/Password/Filter)<br/>- PBX Admin non-critial objects. Only objects without critical flag<br/>- Call-Forward/Groups only<br/><br/>In Addition the admin can be restricted to a Node<br/>
On a Box Level multiple admin accounts can be configured. These accounts can be either Administrators (as before) or Viewers (view config, no change).<br/><br/>On the PBX configured PBX users can be given Administrator rights:<br/>- PBX Full Admin.<br/>- PBX Admin all-objects (no General/Password/Filter)<br/>- PBX Admin non-critial objects. Only objects without critical flag<br/>- Call-Forward/Groups only<br/><br/>In Addition the admin can be restricted to a Node<br/>
      
      
=== pbx dtmf feature codes object ===
=== SRTP - together with SIP and H.323 ===


{|
{|
Line 57: Line 46:
|-
|-
|Id
|Id
|[http://mantis.innovaphone.com/view.php?id=31663 31663]
|[http://mantis.innovaphone.com/view.php?id=4280 4280]
|}
|}
A new pbx object with dtmf feature codes:<br/><br/>CFU/CFB/CFNR De-/Activate<br/>Pickup Group/Directed<br/>Park/Unpark<br/>Park To/Unpark from<br/>Call Completion/Cancel CC<br/><br/>Each feature code can be freely configured or disabled.<br/>
works with secure signaling for key exchange
      
      
=== LDAP/HTTP Directory Access from DECT Handset ===
=== Handling of certificates ===


{|
{|
Line 68: Line 57:
|-
|-
|Id
|Id
|[http://mantis.innovaphone.com/view.php?id=15436 15436]
|[http://mantis.innovaphone.com/view.php?id=14920 14920]
|}
|}
A pbx object can be configured to gain access to a ldap directory (or to a http server).<br/>There are two different objects, one for quick dial and one for directory search.<br/><br/>* quick dial (mst): the real number of the target can be found by dialing a short number after dialing the quick dial pbx object.<br/><br/>* ldap/http directory: the combination of all letters of the first three digits of the dialed number after the object number represents the ldap/http filter (e.g. dialing 222 can be AAA,AAB,AAC,ABA,ABC...).<br/>The results can be searched through by 1 and * and the current result can be called by #.<br/><br/>If possible, the last dialed number can be redialed.
ASN.1 definition, etc.<br/>Needed for TLS
      
      
=== PBX Slaves can use licenses from Master (floating license) ===
=== 802.1x Port Authentication ===


{|
{|
Line 79: Line 68:
|-
|-
|Id
|Id
|[http://mantis.innovaphone.com/view.php?id=26945 26945]
|[http://mantis.innovaphone.com/view.php?id=14926 14926]
|}
|}
Basic+registrations licenses are installed on master only. Slaves use these licenses.
Research needed how this can work on a phone with a PC connected at the second port
''Status:''
''Status:''
implemented in v7.<br/><br/>See <br/>http://wiki.innovaphone.com/index.php?title=Reference:Administration/PBX/General<br/>and<br/>http://wiki.innovaphone.com/index.php?title=Reference:Licenses<br/>for description
EAP-MD5, as tested with Foundry FastIron 4802
      
      
=== Handling of certificates ===
=== Bootcode with Full IP/HTTP functionality ===


{|
{|
Line 92: Line 81:
|-
|-
|Id
|Id
|[http://mantis.innovaphone.com/view.php?id=14920 14920]
|[http://mantis.innovaphone.com/view.php?id=14934 14934]
|}
|}
ASN.1 definition, etc.<br/>Needed for TLS
- Bootcode with Decompression/Start of Firmware only<br/>- mini Firmware with IP/HTTP only<br/>- both packed into one image that is called bootcode<br/>- bootboot code enhanced to allow reading firmware from not continous flash segments<br/>- the bootboot code usually starts the normal firmware. If this fails the mini firmware, which is part of the bootcode image is started<br/>- on platforms with HW support for alternate bootcode, the bootboot code is stored twice<br/>- a bootcode update is only possible if the real firmware was booted<br/>- a real firmware update is possible only if the mini firmware inside the bootcode is ok<br/>- Bootcode with Decompression/Start of Firmware ( realbootcode ) is stored exclusiv in the first flash segment and is only updated if changed. <br/><br/>
      
      
=== 802.1x Port Authentication ===
=== LDAP/HTTP Directory Access from DECT Handset ===


{|
{|
Line 103: Line 92:
|-
|-
|Id
|Id
|[http://mantis.innovaphone.com/view.php?id=14926 14926]
|[http://mantis.innovaphone.com/view.php?id=15436 15436]
|}
|}
Research needed how this can work on a phone with a PC connected at the second port
A pbx object can be configured to gain access to a ldap directory (or to a http server).<br/>There are two different objects, one for quick dial and one for directory search.<br/><br/>* quick dial (mst): the real number of the target can be found by dialing a short number after dialing the quick dial pbx object.<br/><br/>* ldap/http directory: the combination of all letters of the first three digits of the dialed number after the object number represents the ldap/http filter (e.g. dialing 222 can be AAA,AAB,AAC,ABA,ABC...).<br/>The results can be searched through by 1 and * and the current result can be called by #.<br/><br/>If possible, the last dialed number can be redialed.
''Status:''
EAP-MD5, as tested with Foundry FastIron 4802
      
      
=== innovaphone Messaging ===
=== SIPS (SIP over TCP/TLS) ===


{|
{|
Line 116: Line 103:
|-
|-
|Id
|Id
|[http://mantis.innovaphone.com/view.php?id=26946 26946]
|[http://mantis.innovaphone.com/view.php?id=22336 22336]
|}
|}
innovaphone V7 Messaging<br/><br/>- based on SIP Messaging RFC 3428 (Session Initiation Protocol (SIP) Extension for Instant Messaging)<br/>- Interoperability with H.323 protocol<br/>- Alerting or inbound-intruding tone upon message receival<br/>- Missed messages counter<br/>- Incoming and outgoing messages displayed in the same list as incoming and outgoing calls (well known R and Redial keys as shortcuts)<br/>- Separate message lists also available<br/>- On busy subscriber, send message shortcut in context menu<br/>- Out of office do-not-disturb mode with out-of-office message being sent to each caller<br/>- special "Messaging Server Interface" mode developed to support Avics messaging syntax (special message content activates Avics mode)<br/>
needed for secure exchange of SRTP keys.<br/>needed for OCS interoperability
      
      
=== Bootcode with Full IP/HTTP functionality ===
=== PBX Slaves can use licenses from Master (floating license) ===


{|
{|
Line 127: Line 114:
|-
|-
|Id
|Id
|[http://mantis.innovaphone.com/view.php?id=14934 14934]
|[http://mantis.innovaphone.com/view.php?id=26945 26945]
|}
Basic+registrations licenses are installed on master only. Slaves use these licenses.
''Status:''
implemented in v7.<br/><br/>See <br/>http://wiki.innovaphone.com/index.php?title=Reference:Administration/PBX/General<br/>and<br/>http://wiki.innovaphone.com/index.php?title=Reference:Licenses<br/>for description
   
=== innovaphone Messaging ===
 
{|
|Status
|<font><font color="green">Closed</font></font>
|-
|Id
|[http://mantis.innovaphone.com/view.php?id=26946 26946]
|}
|}
- Bootcode with Decompression/Start of Firmware only<br/>- mini Firmware with IP/HTTP only<br/>- both packed into one image that is called bootcode<br/>- bootboot code enhanced to allow reading firmware from not continous flash segments<br/>- the bootboot code usually starts the normal firmware. If this fails the mini firmware, which is part of the bootcode image is started<br/>- on platforms with HW support for alternate bootcode, the bootboot code is stored twice<br/>- a bootcode update is only possible if the real firmware was booted<br/>- a real firmware update is possible only if the mini firmware inside the bootcode is ok<br/>- Bootcode with Decompression/Start of Firmware ( realbootcode ) is stored exclusiv in the first flash segment and is only updated if changed. <br/><br/>
innovaphone V7 Messaging<br/><br/>- based on SIP Messaging RFC 3428 (Session Initiation Protocol (SIP) Extension for Instant Messaging)<br/>- Interoperability with H.323 protocol<br/>- Alerting or inbound-intruding tone upon message receival<br/>- Missed messages counter<br/>- Incoming and outgoing messages displayed in the same list as incoming and outgoing calls (well known R and Redial keys as shortcuts)<br/>- Separate message lists also available<br/>- On busy subscriber, send message shortcut in context menu<br/>- Out of office do-not-disturb mode with out-of-office message being sent to each caller<br/>- special "Messaging Server Interface" mode developed to support Avics messaging syntax (special message content activates Avics mode)<br/>
      
      
=== Download firmware and bootcode ===
=== Active Directory Replication ===


{|
{|
Line 138: Line 138:
|-
|-
|Id
|Id
|[http://mantis.innovaphone.com/view.php?id=29010 29010]
|[http://mantis.innovaphone.com/view.php?id=29001 29001]
|}
|}
This allows to archive a firmware or bootcode version from the device.
Active Directory Replication<br/><br/>Wiki Documents: <br/>Configuration: http://wiki.innovaphone.com/index.php?title=Reference7:Configure_Active_Directory_Replication<br/><br/>Development: http://wiki.innovaphone.com/index.php?title=Development:Active_Directory_Replication
''Status:''
Configuration: http://wiki.innovaphone.com/index.php?title=Reference7:Configure_Active_Directory_Replication
      
      
=== Support for Multilocation TAPI in PBX-SOAP-API ===
=== Upload firmware to DRAM ===


{|
{|
Line 149: Line 151:
|-
|-
|Id
|Id
|[http://mantis.innovaphone.com/view.php?id=31655 31655]
|[http://mantis.innovaphone.com/view.php?id=29009 29009]
|}
|}
- Find other Location URLs<br/>- ...<br/>
This allows testing of a new firmware without flashing the firmeware. Its faster and it allows easy recovery from a bad firmware with a simple reset
      
      
=== SRTP - together with SIP and H.323 ===
=== Download firmware and bootcode ===


{|
{|
Line 160: Line 162:
|-
|-
|Id
|Id
|[http://mantis.innovaphone.com/view.php?id=4280 4280]
|[http://mantis.innovaphone.com/view.php?id=29010 29010]
|}
|}
works with secure signaling for key exchange
This allows to archive a firmware or bootcode version from the device.
      
      
=== Active Directory Replication ===
=== Support for Multilocation TAPI in PBX-SOAP-API ===


{|
{|
Line 171: Line 173:
|-
|-
|Id
|Id
|[http://mantis.innovaphone.com/view.php?id=29001 29001]
|[http://mantis.innovaphone.com/view.php?id=31655 31655]
|}
|}
Active Directory Replication<br/><br/>Wiki Documents: <br/>Configuration: http://wiki.innovaphone.com/index.php?title=Reference7:Configure_Active_Directory_Replication<br/><br/>Development: http://wiki.innovaphone.com/index.php?title=Development:Active_Directory_Replication
- Find other Location URLs<br/>- ...<br/>
''Status:''
Configuration: http://wiki.innovaphone.com/index.php?title=Reference7:Configure_Active_Directory_Replication
      
      
=== SIPS (SIP over TCP/TLS) ===
=== pbx dtmf feature codes object ===


{|
{|
Line 184: Line 184:
|-
|-
|Id
|Id
|[http://mantis.innovaphone.com/view.php?id=22336 22336]
|[http://mantis.innovaphone.com/view.php?id=31663 31663]
|}
|}
needed for secure exchange of SRTP keys.<br/>needed for OCS interoperability
A new pbx object with dtmf feature codes:<br/><br/>CFU/CFB/CFNR De-/Activate<br/>Pickup Group/Directed<br/>Park/Unpark<br/>Park To/Unpark from<br/>Call Completion/Cancel CC<br/><br/>Each feature code can be freely configured or disabled.<br/>
=== Other new Features ===
=== Other new Features ===


Line 402: Line 402:


      
      
=== Factory reset with V7 bootcode clears  linear firmware ===
=== IP72: new display driver for LCD NT75451 ===


{|
{|
Line 409: Line 409:
|-
|-
|Id
|Id
|[http://mantis.innovaphone.com/view.php?id=36251 36251]
|[http://mantis.innovaphone.com/view.php?id=33028 33028]
|}
|}
Problem: factory reset didnt check for linear firmware<br/><br/>Solution: check added<br/><br/>Files: flash_firmware.c<br/><br/>Products affected: ipxxx with V7 bootcode ( all except IP3000 and IP72 )<br/><br/>Risk: general bootcode update risk
Problem: newer phones require another lcd driver<br/><br/>Solution: fixed in code<br/><br/>Products affected: IP72<br/><br/>Risk: None
      
      
=== IP22 running out of sync ===
=== Trap During TLS Connection Termination ===


{|
{|
Line 420: Line 420:
|-
|-
|Id
|Id
|[http://mantis.innovaphone.com/view.php?id=35791 35791]
|[http://mantis.innovaphone.com/view.php?id=35603 35603]
|}
|}
Problem: IP22 initial value for internal PLL set wrong.<br/><br/>Solution: Initial value must be set correctly.<br/><br/>Products affected: ip22<br/><br/>Risk: Minimal, very small change
Problem: Occasional trap while TLS client connection shuts down.<br/><br/>Solution: Fixing state machine<br/><br/>Products affected: All<br/><br/>Risk: none<br/>
      
      
=== Firmware stall with MAX_BUSY_TICKS and Watchdog ===
=== CFU to Voicemail/Redial ===


{|
{|
Line 431: Line 431:
|-
|-
|Id
|Id
|[http://mantis.innovaphone.com/view.php?id=36099 36099]
|[http://mantis.innovaphone.com/view.php?id=35634 35634]
|}
|}
problem: Firmware produces unpredictable stalls which results from a permanent occuring interrupt from the si3241 chip. This interrupt is accidently enabled but never occured in the past.<br/><br/>solution: disable this interrupt<br/><br/>files: si3241.cpp<br/><br/>products: ip28<br/><br/>risks: minimal, very isolated fix
problem: If you dial a local user and gets his voicemail by CFU, then if you try to redial the number by pressing the redial bottom, the Voicemail name will appear in the display, but it is the correct local number that is dialed.<br/>We are running an IP6000 SR2 Hotfix 9 with Innovaphone voicemail.<br/><br/>solution: send divertingLegInformation1 to caller<br/><br/>products: All PBX products<br/><br/>risk: none<br/>
      
      
=== join/leave pbx dtmf feature should show all dynamic groups, independent of their current state ===
=== Dect SIP registration to PBX with authentication name ===


{|
{|
Line 442: Line 442:
|-
|-
|Id
|Id
|[http://mantis.innovaphone.com/view.php?id=35846 35846]
|[http://mantis.innovaphone.com/view.php?id=35680 35680]
|}
|}
problem: currently, a user, who dials the join code, just gets his groups with dynamic out state. If he has no such group, his call will be rejected.<br/>This might let the user think, that the dtmf object is buggy.<br/><br/>fix: just show all dynamic in/out groups for leave/join. If a user joins a group, where he is already in, nothing will happen and the user gets his \taffirmation tone.<br/><br/>products affected: all pbx devices<br/><br/>risk: minimal<br/>
Problem: Authentication name of the Dect user is not used for SIP registration if 'Name for Authentication' option is enabled.<br/><br/>Solution: If authentication name is set for the user, it is used for SIP registration independent of the 'Name for Authentication' option.<br/><br/>Files: dectmaster.cpp.<br/><br/>Products affected: All Dect devices.<br/><br/>Risk: Minimal.
      
      
=== Debugging Info for MAX_BUSY_TICKS improved ===
=== SOAP LocationUrl return value coding ===


{|
{|
Line 453: Line 453:
|-
|-
|Id
|Id
|[http://mantis.innovaphone.com/view.php?id=35752 35752]
|[http://mantis.innovaphone.com/view.php?id=35686 35686]
|}
|}
Problem: After a trap with MAX_BUSY_TICKS it was not possible to see which event caused the problem<br/><br/>Solution: Debug Information added<br/><br/>Products affected: All<br/><br/>Risk: None, code only executed on a trap
Problem: the PBX returns the url in a <loc> tag while it should be a <return> tag according to the WSDL.<br/><br/>Solutions: fix coding or change wsdl.<br/>Files affected: pbx/xml/pbx_xml.cpp<br/>Risk: near to zero.  .Net based SOAP clients do not care anyway, stricter implementations have not worked at all before. 
      
      
=== Potential Trap if H.323 Signaling entity deleted when calls active ===
=== SIP debug output to be removed ===


{|
{|
Line 464: Line 464:
|-
|-
|Id
|Id
|[http://mantis.innovaphone.com/view.php?id=35754 35754]
|[http://mantis.innovaphone.com/view.php?id=35739 35739]
|}
|}
Problem: If a H.323 signaling entity (IP-DECT User, Gateway GW definition, ...) was deleted while a call was active a trap could happen<br/><br/>Solution: Wait with cleanup until all calls are cleared<br/><br/>Products affected: All<br/><br/>Risk: Minimal, very isolated fix
Problem: Debug outputs forgotten in SIP stack<br/>Solution: Debug outputs removed<br/>Products affected: All<br/>Risk: None
      
      
=== IP-DECT Sporadic Hanging Radio Calls ===
=== "Administration/Diagnostics/Events/Save" should be enabled in viewer mode ===


{|
{|
Line 475: Line 475:
|-
|-
|Id
|Id
|[http://mantis.innovaphone.com/view.php?id=35830 35830]
|[http://mantis.innovaphone.com/view.php?id=35742 35742]
|}
|}
Problem: It could happen under special call clearing timing conditions that Radio calls remained in the User interface. The affected endpoints could still be called.<br/><br/>Solution: Improve call clearing to avoid this.<br/><br/>Products affected: All IP-DECT products<br/><br/>Risk: Minimal, very isolated fix.
Problem: The "Administration/Diagnostics/Events/Save" link is disabled in Viewer mode while "Administration/Diagnostics/Config Show" and other links creating textfiles with support info are not.<br/><br/>Solution: enable the "Save" link in xsl file<br/><br/>Products affected: All<br/><br/>Risk: None<br/>
      
      
=== No Media doing call from IP-DECT to slowstart destination which answers with CONN and Suppl. Services are enabled ===
=== Fix for Session-Expires handling ===


{|
{|
Line 486: Line 486:
|-
|-
|Id
|Id
|[http://mantis.innovaphone.com/view.php?id=35835 35835]
|[http://mantis.innovaphone.com/view.php?id=35749 35749]
|}
|}
Problem: Media negotiation result was not forwarded to the radio if CONN was first response to the call.<br/><br/>Solution: Forward media negotiation result<br/><br/>Products affected: All IP-DECT<br/><br/>Risk: None
Problem: Some SIP endpoints send reINVITE w/o Session-Expires header<br/>on calls established with session refresh. The SIP stack released the call in this case. This prevented interoperation with such SIP equipment<br/><br/>Solution: Restart the timer with the original expires value.<br/><br/>Products affected: All<br/><br/>Risk: Minimal
''Status:''
Fix: Session watchdog timer is restarted with original expires value.
      
      
=== RTP jitterbuffer did not work well for RTP out of sequence ===
=== Debugging Info for MAX_BUSY_TICKS improved ===


{|
{|
Line 497: Line 499:
|-
|-
|Id
|Id
|[http://mantis.innovaphone.com/view.php?id=35880 35880]
|[http://mantis.innovaphone.com/view.php?id=35752 35752]
|}
|}
Problem: Too many packets were dropped when many RTP packets where received out of sequence. In realy life this happens rarely, but it is done with OCS certification tests.<br/><br/>Solution: Jitter buffer fixed, to handle this better.<br/><br/>Products affected: All phones, all IP-DECT, IP800, IP6000<br/><br/>Files: medialib.h, media.cpp<br/><br/>Risk: Moderate. Quite a big change, but still isolated.
Problem: After a trap with MAX_BUSY_TICKS it was not possible to see which event caused the problem<br/><br/>Solution: Debug Information added<br/><br/>Products affected: All<br/><br/>Risk: None, code only executed on a trap
      
      
=== Logging of calls in PBX cannot be turned off ===
=== Display Master Id in users list ===


{|
{|
Line 508: Line 510:
|-
|-
|Id
|Id
|[http://mantis.innovaphone.com/view.php?id=35913 35913]
|[http://mantis.innovaphone.com/view.php?id=35753 35753]
|}
|}
problem: Call logging in PBX is always on. This can be a privacy problem.<br/><br/>solution: Call logging configurable<br/><br/>products: All products with PBX<br/><br/>files: pbx.cpp/h log.xsl<br/><br/>risk: Minmal. Call logging is now off by default, this could be a compatibility issue.
Problem: Master Id is unknown by the user administrators.<br/><br/>Solution: Display the Master ID in the create/edit users view (Users->Users), because the user administrators must know the Master Id to be able to log in handsets.<br/><br/>Products affected: IP1201, IP4001<br/><br/>Risk: Minimal
      
      
=== H.323 non-efc: User RoundTripDelayRequest as keep-alive ===
=== Potential Trap if H.323 Signaling entity deleted when calls active ===


{|
{|
Line 519: Line 521:
|-
|-
|Id
|Id
|[http://mantis.innovaphone.com/view.php?id=35916 35916]
|[http://mantis.innovaphone.com/view.php?id=35754 35754]
|}
|}
problem: For interoperability with some OEM equipment it is required to do the RoundTripDelayRequest keepalive<br/><br/>solution: Implement periodic RoundTripDelayRequest messages<br/><br/>files: h323ch.cpp/h<br/><br/>products: all<br/><br/>risks: Minimal (could be that there is H.323 equipment, which does not understand RoundTripDelayRequest, but very unlikely)
Problem: If a H.323 signaling entity (IP-DECT User, Gateway GW definition, ...) was deleted while a call was active a trap could happen<br/><br/>Solution: Wait with cleanup until all calls are cleared<br/><br/>Products affected: All<br/><br/>Risk: Minimal, very isolated fix
      
      
=== Wrong display information on phone, if a call is forwarded to Waiting ===
=== Refresh rate of call list gui pages ===


{|
{|
Line 530: Line 532:
|-
|-
|Id
|Id
|[http://mantis.innovaphone.com/view.php?id=35925 35925]
|[http://mantis.innovaphone.com/view.php?id=35755 35755]
|}
|}
problem: If a object is called which has a CFU set to a waiting queue, no information is sent back to the caller that a call-forward has happened, but a name-id from the waiting queue is sent. So the phone associates this name-id with the number dialed.<br/><br/>solution: Send diverting leg1 info in this case<br/><br/>files: pbx_wait.cpp<br/><br/>products: All products with PBX<br/><br/>risks: minimal. Isolated to forwarded calls to waiting.
Problem: Refresh rate too fast to scroll to the end of the following lists: Master calls, Radio calls and Handover calls.<br/><br/>Solution: Refreshing removed.<br/><br/>Products affected: All Dect devices.<br/><br/>Risk: Minimal.
      
      
=== Need to Support STATUS_INQ/STATUS procedure in H.323 for OEM ===
=== Short local tone ===


{|
{|
Line 541: Line 543:
|-
|-
|Id
|Id
|[http://mantis.innovaphone.com/view.php?id=36022 36022]
|[http://mantis.innovaphone.com/view.php?id=35757 35757]
|}
|}
problem: For an OEM product we need the H.323 STATUS_INQ/STATUS procedure to supervice the link state<br/><br/>solution: STATUS_INQ/STATUS in H.323 stack implemented<br/><br/>files: signal.cpp, signal.h, h323sig.cpp, h323sig.h, h323_tbl.tbl<br/><br/>products: all<br/><br/>risk: Moderate, functionality only used in OEM product. Should not have any influence if not used
Problem: A short local tone is generated before the external tone appears.<br/><br/>Solution: Set in-band-flag in Dect Master.<br/><br/>Products affected: IP1201, IP4001.<br/><br/>Risk: Minimal.
      
      
=== Need to set H.323 terminal_type for OEM ===
=== Load balancing for trunks ===


{|
{|
Line 552: Line 554:
|-
|-
|Id
|Id
|[http://mantis.innovaphone.com/view.php?id=36032 36032]
|[http://mantis.innovaphone.com/view.php?id=35761 35761]
|}
|}
problem: For interop reasons the terminal-type must be set to 50 even for a VOIP_GW type interface<br/><br/>solution: terminal_type configurable<br/><br/>files: voip.h, h323sig.cpp, h323sig.h<br/><br/>products: all<br/><br/>risks: Minimal. Functionality not used in innovaphone products<br/><br/>
Problem: Location registrations don't use load balancing between trunks.<br/>Problems appear with outgoing calls via trunks without location registrations.<br/><br/>Solution: Load balancing for location registrations added.<br/>Make a location registration before every outgoing call.<br/><br/>Products affected: IP1201, IP4001<br/><br/>Risk: Minimal.
      
      
=== Pickup from executive not possible, if the call was transfered to executive ===
=== Idle display updates if masters are down ===


{|
{|
Line 563: Line 565:
|-
|-
|Id
|Id
|[http://mantis.innovaphone.com/view.php?id=36061 36061]
|[http://mantis.innovaphone.com/view.php?id=35770 35770]
|}
|}
problem: A secretary receives a call for the executive, initiates a consulation call to the executive and hangs up. In this situation the secretary cannot pickup the call from the executive again.<br/><br/>solution: Handle a transfer to the executive<br/><br/>files: pbx_exec.cpp, pbx_exec.h<br/><br/>products: all with PBX<br/><br/>risks: Minimal, very isolated fix
Problem: No idle display update if the connection to masters fails.<br/><br/>Solution: Idle display update added. <br/><br/>Products affected: IP1201, IP4001.<br/><br/>Risk: Minimal.
      
      
=== Make H.245 keepalive with RoundTripDelay messages configurable ===
=== Forwarded Name Id sometimes corrupted ===


{|
{|
Line 574: Line 576:
|-
|-
|Id
|Id
|[http://mantis.innovaphone.com/view.php?id=36067 36067]
|[http://mantis.innovaphone.com/view.php?id=35775 35775]
|}
|}
problem: RoundTripDelay messages cause additional load, so it should be done only if required for interop reasons<br/><br/>solution: Make it configurable in the stack, so it can be turned on for OEMs<br/><br/>files: voip.h, h323.h, h323sig.cpp, h323ch.cpp<br/><br/>products: all<br/><br/>risks: None, in fact it reduces the risk of the change to put in the RoundTripDelay messages
Problem: Sometimes to Name Id, which is forwarded (e.g. Name Id forwarded on DECT Master to Radio, or Name Id forwarded in PBX) strange characters are added. strcopy was used instead of memcpy. Name still transmitted on H.450 null-terminated for compatibility<br/><br/>Solution: Use correct method for copy. Don't add null-character in H.450.<br/><br/>Products affected: All products with IP-DECT or PBX<br/><br/>Risk: Minimal, very isolated fix
      
      
=== H.323 reuse TCP did not work for call-independetnt messages ===
=== IP22 running out of sync ===


{|
{|
Line 585: Line 587:
|-
|-
|Id
|Id
|[http://mantis.innovaphone.com/view.php?id=36102 36102]
|[http://mantis.innovaphone.com/view.php?id=35791 35791]
|}
|}
problem: The reuse TCP option is required for OEM trunk interfaces not only for calls but also for call-independent messages. A new TCP socket was opened in this case for each message, which was never closed.<br/><br/>solution: Use existing TCP socket for these messages<br/><br/>files: h323sig.cpp<br/><br/>products: all<br/><br/>risks: Minimal, code only executed if reuse_tcp set, which happens only for special OEM cases
Problem: IP22 initial value for internal PLL set wrong.<br/><br/>Solution: Initial value must be set correctly.<br/><br/>Products affected: ip22<br/><br/>Risk: Minimal, very small change
      
      
=== Restart because of Trap in PBX together with transfer/pickup/call-intrusion and Waiting, Voicemail, MWI ===
=== switching between primary and secondary DNS on request timeout  fails sometimes in NAT ===


{|
{|
Line 596: Line 598:
|-
|-
|Id
|Id
|[http://mantis.innovaphone.com/view.php?id=36235 36235]
|[http://mantis.innovaphone.com/view.php?id=35805 35805]
|}
|}
problem: Under spedial rare conditions a restart could happen on transfer/pickup/call-intrusion together with calls to pseudo objects like Waiting, Voicemail or MWI, because of an invalid cast.<br/><br/>solution: Invalid cast fixed<br/><br/>files: pbx.cpp<br/><br/>products: All products with PBX<br/><br/>risks: Minimal
Problem: NATted DNS requests waiting for response are kept in a list which is checked in regular intervals for timed out requests. Each timed out request is removed from list and the dns_primary flag is toggled. Thus for an even number of timed out requests the dns_primary flag keeps it's original value. <br/><br/>Solution: toggle the dns_primary flag only once<br/><br/>Products affected: All<br/><br/>Risk: Minimal
      
      
=== Memory leak when executing call-completion on IP-DECT ===
=== Memory leak in Dect ===


{|
{|
Line 607: Line 609:
|-
|-
|Id
|Id
|[http://mantis.innovaphone.com/view.php?id=36265 36265]
|[http://mantis.innovaphone.com/view.php?id=35819 35819]
|}
|}
problem: When executing call-completion packets containing faststart elements are not deleted<br/><br/>solution: Free the packets<br/><br/>files: dtmffty.cpp<br/><br/>products: All IP-DECT<br/><br/>risks: Almost no risk
Problem: Memory leak in Dect.<br/><br/>Solution: Call clean up function.<br/><br/>Products affected: IP1200.<br/><br/>Risk: Minimal.
      
      
=== OEM specific disabling of the feature to change admin login ===
=== Undeleted calls from anonymous handsets. ===


{|
{|
Line 618: Line 620:
|-
|-
|Id
|Id
|[http://mantis.innovaphone.com/view.php?id=36274 36274]
|[http://mantis.innovaphone.com/view.php?id=35820 35820]
|}
|}
problem: For an OEM the feature to be able to change login caused undesirable behaviour with IE<br/><br/>solution: Disable the change login feature for OEM<br/><br/>files: command.cpp command.h<br/><br/>products: all, but change should change behaviour only for OEM products<br/><br/>risk: Only for OEM products
Problem: Calls from anonymous handsets aren't deleted. Channel information is also not deleted.<br/><br/>Solution: Deleting corrected.<br/><br/>Products affected: All Dect devices.<br/><br/>Risk: Minimal.
      
      
=== Trap because of buffer overrun when logging a login reject ===
=== Undeleted call facility object ===


{|
{|
Line 629: Line 631:
|-
|-
|Id
|Id
|[http://mantis.innovaphone.com/view.php?id=36323 36323]
|[http://mantis.innovaphone.com/view.php?id=35821 35821]
|}
|}
problem: If a login reject was logged, depending of the length of the user name a stack buffer was overrun, which could cause a trap<br/><br/>solution: fix buffer size<br/><br/>files: command.cpp<br/><br/>products: all<br/><br/>risks: none
Problem: Call facility object isn't deleted if user is unregistered to PBX.<br/><br/>Solution: Deleting corrected.<br/><br/>Products affected: All Dect devices.<br/><br/>Risk: Minimal.
      
      
=== Trap if too many licenses installed and slave obtains license from master ===
=== fix for ringback after taking incoming call completion response/ renaming call completion to call completion busy ===


{|
{|
Line 640: Line 642:
|-
|-
|Id
|Id
|[http://mantis.innovaphone.com/view.php?id=36347 36347]
|[http://mantis.innovaphone.com/view.php?id=35829 35829]
|}
|}
problem: If many licenses are installed on a master (e.g. all test licenses), the master traps as soon as a slave tries to read the licenses, because of buffer overrun.<br/><br/>solution: Increase buffer size, better check for buffer overrun.<br/><br/>files: inno_lic.cpp<br/><br/>products: All products with PBX<br/><br/>risks: No risk
problem: If a user dials the call completion feature code, gets the call completion response call and answers it, so that the other side is ringing, no ringback tone was heard.<br/>Additionally, as call completion no response is currently not possible, I would rename call completion to call completion busy.<br/><br/>fix: api_remote_hold on connector after SIG_ALERT<br/><br/>products affected: all pbx devices<br/><br/>risk: minimal<br/><br/>
      
      
=== Clear all sockets if registration changes ===
=== IP-DECT Sporadic Hanging Radio Calls ===


{|
{|
Line 651: Line 653:
|-
|-
|Id
|Id
|[http://mantis.innovaphone.com/view.php?id=36361 36361]
|[http://mantis.innovaphone.com/view.php?id=35830 35830]
|}
|}
problem: In case of the reuse_tcp option, old socket where used even if registration changed. Fallback from IP-DECT Standby to Master did not work because of that.<br/><br/>solution: cleanup all sockets if registration changes<br/><br/>files: h323.h h323sig.cpp<br/><br/>products: IP1200<br/><br/>risks: limited to IP1200
Problem: It could happen under special call clearing timing conditions that Radio calls remained in the User interface. The affected endpoints could still be called.<br/><br/>Solution: Improve call clearing to avoid this.<br/><br/>Products affected: All IP-DECT products<br/><br/>Risk: Minimal, very isolated fix.
      
      
=== PBX routing fails, because access to deleted buffer ===
=== No Media doing call from IP-DECT to slowstart destination which answers with CONN and Suppl. Services are enabled ===


{|
{|
Line 662: Line 664:
|-
|-
|Id
|Id
|[http://mantis.innovaphone.com/view.php?id=36429 36429]
|[http://mantis.innovaphone.com/view.php?id=35835 35835]
|}
|}
problem: When doing call routing in the PBX in a very short interval the called party number is read from a already deleted buffer. If the buffer is recycled during this period the routing fails.<br/><br/>solution: Delete buffer after call routing<br/><br/>files: pbx.cpp<br/><br/>products: All with PBX<br/><br/>risks: Small risk of collateral damage doing call routing in PBX
Problem: Media negotiation result was not forwarded to the radio if CONN was first response to the call.<br/><br/>Solution: Forward media negotiation result<br/><br/>Products affected: All IP-DECT<br/><br/>Risk: None
      
      
=== Unclosed announcement calls in conference ===
=== provide OEM specific DHCP Vendor Class Identifier ===


{|
{|
Line 673: Line 675:
|-
|-
|Id
|Id
|[http://mantis.innovaphone.com/view.php?id=36219 36219]
|[http://mantis.innovaphone.com/view.php?id=35838 35838]
|}
|}
Problem: Unclosed announcement calls in conference.<br/><br/>Solution: Fixed.<br/><br/>Files: pbx_bc_conf.cpp.<br/><br/>Products affected: All devices with PBX.<br/><br/>Risk: Minimal, only Broadcast Conference PBX Object.
Problem: in OEM specific network enviromments it may be necessary to use an OEM specific 'Vendor Class Identifier' in DHCP discover/offer messages.<br/><br/>Solution: 'product_info::vendor_class_identifier' defines the OEM spceific value, kernel::vendor_class_identifier() provides it.<br/><br/>Products affected: All<br/><br/>Risk: Minimal<br/>
      
      
=== Display Master Id in users list ===
=== Unusual memory leaks after closed calls ===


{|
{|
Line 684: Line 686:
|-
|-
|Id
|Id
|[http://mantis.innovaphone.com/view.php?id=35753 35753]
|[http://mantis.innovaphone.com/view.php?id=35839 35839]
|}
|}
Problem: Master Id is unknown by the user administrators.<br/><br/>Solution: Display the Master ID in the create/edit users view (Users->Users), because the user administrators must know the Master Id to be able to log in handsets.<br/><br/>Products affected: IP1201, IP4001<br/><br/>Risk: Minimal
Problem: Unusual memory leaks after closed calls.<br/><br/>Solution: Call clean-up function for unused events.<br/><br/>Products affected: All devices.<br/><br/>Risk: Minimal.
      
      
=== Refresh rate of call list gui pages ===
=== join/leave pbx dtmf feature should show all dynamic groups, independent of their current state ===


{|
{|
Line 695: Line 697:
|-
|-
|Id
|Id
|[http://mantis.innovaphone.com/view.php?id=35755 35755]
|[http://mantis.innovaphone.com/view.php?id=35846 35846]
|}
|}
Problem: Refresh rate too fast to scroll to the end of the following lists: Master calls, Radio calls and Handover calls.<br/><br/>Solution: Refreshing removed.<br/><br/>Products affected: All Dect devices.<br/><br/>Risk: Minimal.
problem: currently, a user, who dials the join code, just gets his groups with dynamic out state. If he has no such group, his call will be rejected.<br/>This might let the user think, that the dtmf object is buggy.<br/><br/>fix: just show all dynamic in/out groups for leave/join. If a user joins a group, where he is already in, nothing will happen and the user gets his \taffirmation tone.<br/><br/>products affected: all pbx devices<br/><br/>risk: minimal<br/>
      
      
=== Short local tone ===
=== New cause code mapping specification ===


{|
{|
Line 706: Line 708:
|-
|-
|Id
|Id
|[http://mantis.innovaphone.com/view.php?id=35757 35757]
|[http://mantis.innovaphone.com/view.php?id=35858 35858]
|}
|}
Problem: A short local tone is generated before the external tone appears.<br/><br/>Solution: Set in-band-flag in Dect Master.<br/><br/>Products affected: IP1201, IP4001.<br/><br/>Risk: Minimal.
Problem: New cause code mapping specification.<br/><br/>Solution: Cause code mapping changed.<br/><br/>Products affected: IP1201, IP4001.<br/><br/>Risk: Minimal.  
      
      
=== Load balancing for trunks ===
=== SIP specific call transfer handling as required by SIP provider ShoreTel ===


{|
{|
Line 717: Line 719:
|-
|-
|Id
|Id
|[http://mantis.innovaphone.com/view.php?id=35761 35761]
|[http://mantis.innovaphone.com/view.php?id=35872 35872]
|}
|}
Problem: Location registrations don't use load balancing between trunks.<br/>Problems appear with outgoing calls via trunks without location registrations.<br/><br/>Solution: Load balancing for location registrations added.<br/>Make a location registration before every outgoing call.<br/><br/>Products affected: IP1201, IP4001<br/><br/>Risk: Minimal.
Problem: Currently the call initiating the transfer is released as soon as the replacement call enters alerting state and also in case of an early release of the replacement call. <br/>In SIP (RFC-3515) the initiating call must not be released before the replacement call enters connected state. In case of an early release of the replacement call (transfer rejected) the initiating call must not be released but a transfer failure has to be reported.<br/><br/>Solution: SIP/H323 specific transfer handling in phonesig.cpp<br/><br/>Products affected: All INCA phones and IP72<br/><br/>Risk: Medium, needs to be retested with all SIP providers
      
      
=== Idle display updates if masters are down ===
=== RTP jitterbuffer did not work well for RTP out of sequence ===


{|
{|
Line 728: Line 730:
|-
|-
|Id
|Id
|[http://mantis.innovaphone.com/view.php?id=35770 35770]
|[http://mantis.innovaphone.com/view.php?id=35880 35880]
|}
|}
Problem: No idle display update if the connection to masters fails.<br/><br/>Solution: Idle display update added. <br/><br/>Products affected: IP1201, IP4001.<br/><br/>Risk: Minimal.
Problem: Too many packets were dropped when many RTP packets where received out of sequence. In realy life this happens rarely, but it is done with OCS certification tests.<br/><br/>Solution: Jitter buffer fixed, to handle this better.<br/><br/>Products affected: All phones, all IP-DECT, IP800, IP6000<br/><br/>Files: medialib.h, media.cpp<br/><br/>Risk: Moderate. Quite a big change, but still isolated.
      
      
=== Memory leak in Dect ===
=== Prevent random INCA leak reports in test ===


{|
{|
Line 739: Line 741:
|-
|-
|Id
|Id
|[http://mantis.innovaphone.com/view.php?id=35819 35819]
|[http://mantis.innovaphone.com/view.php?id=35882 35882]
|}
|}
Problem: Memory leak in Dect.<br/><br/>Solution: Call clean up function.<br/><br/>Products affected: IP1200.<br/><br/>Risk: Minimal.
Problem: Tests fail randomly because of a leak reported for the var LAN/LINK created by the inca MAC driver and polled in phone idle state any second<br/><br/>Solution: use vars notify mechanism instead of polling<br/><br/>Products affected: All INCA phones, IP72<br/><br/>Risk: None
      
      
=== Undeleted calls from anonymous handsets. ===
=== Logging of calls in PBX cannot be turned off ===


{|
{|
Line 750: Line 752:
|-
|-
|Id
|Id
|[http://mantis.innovaphone.com/view.php?id=35820 35820]
|[http://mantis.innovaphone.com/view.php?id=35913 35913]
|}
|}
Problem: Calls from anonymous handsets aren't deleted. Channel information is also not deleted.<br/><br/>Solution: Deleting corrected.<br/><br/>Products affected: All Dect devices.<br/><br/>Risk: Minimal.
problem: Call logging in PBX is always on. This can be a privacy problem.<br/><br/>solution: Call logging configurable<br/><br/>products: All products with PBX<br/><br/>files: pbx.cpp/h log.xsl<br/><br/>risk: Minmal. Call logging is now off by default, this could be a compatibility issue.
      
      
=== Undeleted call facility object ===
=== H.323 non-efc: User RoundTripDelayRequest as keep-alive ===


{|
{|
Line 761: Line 763:
|-
|-
|Id
|Id
|[http://mantis.innovaphone.com/view.php?id=35821 35821]
|[http://mantis.innovaphone.com/view.php?id=35916 35916]
|}
|}
Problem: Call facility object isn't deleted if user is unregistered to PBX.<br/><br/>Solution: Deleting corrected.<br/><br/>Products affected: All Dect devices.<br/><br/>Risk: Minimal.
problem: For interoperability with some OEM equipment it is required to do the RoundTripDelayRequest keepalive<br/><br/>solution: Implement periodic RoundTripDelayRequest messages<br/><br/>files: h323ch.cpp/h<br/><br/>products: all<br/><br/>risks: Minimal (could be that there is H.323 equipment, which does not understand RoundTripDelayRequest, but very unlikely)
      
      
=== New cause code mapping specification ===
=== missing details in event log "no route to destination" ===


{|
{|
Line 772: Line 774:
|-
|-
|Id
|Id
|[http://mantis.innovaphone.com/view.php?id=35858 35858]
|[http://mantis.innovaphone.com/view.php?id=35917 35917]
|}
|}
Problem: New cause code mapping specification.<br/><br/>Solution: Cause code mapping changed.<br/><br/>Products affected: IP1201, IP4001.<br/><br/>Risk: Minimal.
Problem: cause "unknown" is reported if a packet is directed to a specific interface but cannot be sent because the destination address requires a gateway and there is no gateway configured for this interface.<br/><br/>Solution: fix code<br/><br/>Products affected: All<br/><br/>Risk: None
      
      
=== Trap if no PBX line in OEM specific state ===
=== Wrong display information on phone, if a call is forwarded to Waiting ===


{|
{|
Line 783: Line 785:
|-
|-
|Id
|Id
|[http://mantis.innovaphone.com/view.php?id=35942 35942]
|[http://mantis.innovaphone.com/view.php?id=35925 35925]
|}
|}
Problem: Trap if no PBX line in OEM specific state.<br/><br/>Solution: PBX line check added.<br/><br/>Files: dectmaster.cpp<br/><br/>Products affected: IP1201, IP4001.<br/><br/>Risk: Minimal.  
problem: If a object is called which has a CFU set to a waiting queue, no information is sent back to the caller that a call-forward has happened, but a name-id from the waiting queue is sent. So the phone associates this name-id with the number dialed.<br/><br/>solution: Send diverting leg1 info in this case<br/><br/>files: pbx_wait.cpp<br/><br/>products: All products with PBX<br/><br/>risks: minimal. Isolated to forwarded calls to waiting.
      
      
=== OEM specific trunk busy handling ===
=== croatian translation corrections ===


{|
{|
Line 794: Line 796:
|-
|-
|Id
|Id
|[http://mantis.innovaphone.com/view.php?id=36103 36103]
|[http://mantis.innovaphone.com/view.php?id=35935 35935]
|}
|}
Problem: New OEM specific trunk busy handling.<br/><br/>Solution: Handling changed.<br/><br/>Files: dectmaster.cpp, dectdisplay_if.h, dectdisplay.h (oem)<br/><br/>Products affected: IP1201, IP4001.<br/><br/>Risk: Minimal.
<br/>Problem: parts of croatian translation needed corrections<br/><br/>Solution: corrected<br/><br/>Products affected: All phones<br/><br/>Risk: None <br/>
      
      
=== OEM specific pre-dial support ===
=== Sending NOTIFY(sipfrag) with error code reflecting error on transfer call ===


{|
{|
Line 805: Line 807:
|-
|-
|Id
|Id
|[http://mantis.innovaphone.com/view.php?id=36105 36105]
|[http://mantis.innovaphone.com/view.php?id=35938 35938]
|}
|}
Problem: New OEM specific pre-dial support.<br/><br/>Solution: Pre-dial support for OEM added.<br/><br/>Files: dectmaster.cpp<br/><br/>Products affected: IP1201, IP4001.<br/><br/>Risk: Minimal.
problem: failed transfer call was not correctly indicated on original call<br/><br/>solution: sending of NOTIFY(sipfrag) with error code<br/><br/>products: All products<br/><br/>files: sip.cpp<br/><br/>risk: minmal
      
      
=== OEM specific location handling during handover ===
=== Trap if no PBX line in OEM specific state ===


{|
{|
Line 816: Line 818:
|-
|-
|Id
|Id
|[http://mantis.innovaphone.com/view.php?id=36107 36107]
|[http://mantis.innovaphone.com/view.php?id=35942 35942]
|}
|}
Problem: New OEM specific location handling during handover.<br/><br/>Solution: OEM specific location handling changed.<br/><br/>Files: dectmaster.cpp, dectradio.h, dectradio.cpp.<br/><br/>Products affected: IP1201, IP4001.<br/><br/>Risk: Minimal.  
Problem: Trap if no PBX line in OEM specific state.<br/><br/>Solution: PBX line check added.<br/><br/>Files: dectmaster.cpp<br/><br/>Products affected: IP1201, IP4001.<br/><br/>Risk: Minimal.  
      
      
=== OEM specific trunk redundancy feature ===
=== IP72: default backlight off ===


{|
{|
Line 827: Line 829:
|-
|-
|Id
|Id
|[http://mantis.innovaphone.com/view.php?id=36111 36111]
|[http://mantis.innovaphone.com/view.php?id=35948 35948]
|}
|}
Problem: OEM specific trunk redundancy feature.<br/><br/>Solution: Feature implemented.<br/><br/>Files: dectmaster.h, dectmaster.cpp, dectmaster.xsl (oem).<br/><br/>Products affected: IP1201, IP4001.<br/><br/>Risk: Minimal.
<br/>Problem: with factory defaults, backlight level set to 0 (disabled)<br/><br/>Solution: fixed code to activate backlight (level 9)<br/><br/>Products affected: IP72<br/><br/>Risk: None <br/>
      
      
=== OEM specific change of PBX registration configuration for coder selection ===
=== IP72: fix default contrast settings for phones with hw-id F2 ===


{|
{|
Line 838: Line 840:
|-
|-
|Id
|Id
|[http://mantis.innovaphone.com/view.php?id=36115 36115]
|[http://mantis.innovaphone.com/view.php?id=35950 35950]
|}
|}
Problem: Coder is rejected (OEM specific).<br/><br/>Solution: Registration configuration changed.<br/><br/>Files: dectmaster.cpp.<br/><br/>Products affected: IP1201, IP4001.<br/><br/>Risk: Minimal.
Problem: with factory defaults, LCD contrast may not be satisfying<br/><br/>Solution: added contrast adjust on phone ui (phone-settings menu)<br/><br/>Products affected: IP72<br/><br/>Risk: None
      
      
=== Changed keep alive configuration for oem interoperability ===
=== Waiting-Queue: No Disconnect-Tone to Caller if external Transfer Call failed ===


{|
{|
Line 849: Line 851:
|-
|-
|Id
|Id
|[http://mantis.innovaphone.com/view.php?id=36118 36118]
|[http://mantis.innovaphone.com/view.php?id=35957 35957]
|}
|}
Problem: Keep alive is required for OEM.<br/><br/>Solution: Keep alive is enabled for OEM.<br/><br/>Files: dectmaster.cpp.<br/><br/>Products affected: IP1201, IP4001.<br/><br/>Risk: Minimal. OEM specific.
problem: failed external transfer call did not caused a disconnect tone to be played to the calling party<br/><br/>solution: do not kill the webmedia channel when the external transfer call is started<br/><br/>products: All PBX products<br/><br/>files: pbx_wait.cpp<br/><br/>risk: minmal
      
      
=== OEM specific call status support ===
=== Phone Registration 1 SIP Interop Tweaks - checkmarks cannot be cleared ===


{|
{|
Line 860: Line 862:
|-
|-
|Id
|Id
|[http://mantis.innovaphone.com/view.php?id=36120 36120]
|[http://mantis.innovaphone.com/view.php?id=35958 35958]
|}
|}
Problem: OEM specific call status support required.<br/><br/>Solution: Call status support implemented. OEM specific enabled.<br/><br/>Files: dectmaster.h, dectmaster.cpp.<br/><br/>Products affected: IP1201, IP4001.<br/><br/>Risk: Minimal. OEM specific.
Problem: The checkmarks under "Configuration/Registration 1/Registration/SIP Interop Tweaks" can be set but not cleared via WEB interface.<br/><br/>Solution: fix evaluation of boolean options<br/><br/>Files: phonesig.cpp<br/><br/>Products affected: all INCA phones, IP72<br/><br/>Risk: None 
      
      
=== Prevent high Dect-Master CPU load ===
=== Need to Support STATUS_INQ/STATUS procedure in H.323 for OEM ===


{|
{|
Line 871: Line 873:
|-
|-
|Id
|Id
|[http://mantis.innovaphone.com/view.php?id=36121 36121]
|[http://mantis.innovaphone.com/view.php?id=36022 36022]
|}
|}
Problem: CPU load in Dect Master device too high.<br/><br/>Solution: Reuse of radio-master TCP connection.<br/><br/>Files: dectmaster.cpp, dectradio.cpp.<br/><br/>Products affected: IP1200.<br/><br/>Risk: Minimal. Tested in previous version.
problem: For an OEM product we need the H.323 STATUS_INQ/STATUS procedure to supervice the link state<br/><br/>solution: STATUS_INQ/STATUS in H.323 stack implemented<br/><br/>files: signal.cpp, signal.h, h323sig.cpp, h323sig.h, h323_tbl.tbl<br/><br/>products: all<br/><br/>risk: Moderate, functionality only used in OEM product. Should not have any influence if not used
      
      
=== OEM specific unused feature codes ===
=== Need to set H.323 terminal_type for OEM ===


{|
{|
Line 882: Line 884:
|-
|-
|Id
|Id
|[http://mantis.innovaphone.com/view.php?id=36123 36123]
|[http://mantis.innovaphone.com/view.php?id=36032 36032]
|}
|}
Problem: Unused feature codes.<br/><br/>Solution: Unused feature codes disabled.<br/><br/>Files: dectfty.xsl (oem), config.h (oem).<br/><br/>Products affected: IP1201, IP4001.<br/><br/>Risk: Minimal.
problem: For interop reasons the terminal-type must be set to 50 even for a VOIP_GW type interface<br/><br/>solution: terminal_type configurable<br/><br/>files: voip.h, h323sig.cpp, h323sig.h<br/><br/>products: all<br/><br/>risks: Minimal. Functionality not used in innovaphone products<br/><br/>
      
      
=== Dect MWI message center number configurable to user number ===
=== Hold state indication not cleared on a call transfer requested via direct signalling ===


{|
{|
Line 893: Line 895:
|-
|-
|Id
|Id
|[http://mantis.innovaphone.com/view.php?id=36161 36161]
|[http://mantis.innovaphone.com/view.php?id=36041 36041]
|}
|}
Problem: No possibility to configure a message center number with user number.<br/><br/>Solution: Implementation of this new feature: if MWI is enabled and no fix message number is configured the user's number is called as message center number.<br/><br/>Files: dectfty.h, dectfty.cpp, dectfty.xsl (oem), dtmffty.h, dtmffty.cpp.<br/><br/>Products affected: All Dect devices.<br/><br/>Risk: Minimal.
Problem: the call on which the transfer is requested is set on hold by remote party before. the hold state was not cleared after release of this call.<br/><br/>Solution: clear hold state when the replacement call is set up.<br/><br/>Products affected: All INCA phones and IP72<br/><br/>Files: phonesig.cpp, phonesig.h, forms_phone_impl.cpp (test support)<br/><br/>Risk: Low, direct signalling not used in innovaphone environment
''Status:''
Test with GnuGk provided by TAC in phone/transfer OK
      
      
=== MWI not updated at PP power up ===
=== Pickup from executive not possible, if the call was transfered to executive ===


{|
{|
Line 904: Line 908:
|-
|-
|Id
|Id
|[http://mantis.innovaphone.com/view.php?id=36162 36162]
|[http://mantis.innovaphone.com/view.php?id=36061 36061]
|}
|}
Problem: MWI not updated at PP power up.<br/><br/>Solution: Sending mwi state after receiving power up event.<br/><br/>Files: dect.h, dect.cpp (oem).<br/><br/>Products affected: IP1200.<br/><br/>Risk: Minimal.
problem: A secretary receives a call for the executive, initiates a consulation call to the executive and hangs up. In this situation the secretary cannot pickup the call from the executive again.<br/><br/>solution: Handle a transfer to the executive<br/><br/>files: pbx_exec.cpp, pbx_exec.h<br/><br/>products: all with PBX<br/><br/>risks: Minimal, very isolated fix
      
      
=== OEM specific Dect ras connection up event ===
=== Make H.245 keepalive with RoundTripDelay messages configurable ===


{|
{|
Line 915: Line 919:
|-
|-
|Id
|Id
|[http://mantis.innovaphone.com/view.php?id=36163 36163]
|[http://mantis.innovaphone.com/view.php?id=36067 36067]
|}
|}
Problem: OEM specific Dect ras connection up event specification changed.<br/><br/>Solution: Ras connection up event handling changed.<br/><br/>Files: dectradio.h, dectradio.cpp.<br/><br/>Products affected: IP1201, IP4001.<br/><br/>Risk: Minimal.
problem: RoundTripDelay messages cause additional load, so it should be done only if required for interop reasons<br/><br/>solution: Make it configurable in the stack, so it can be turned on for OEMs<br/><br/>files: voip.h, h323.h, h323sig.cpp, h323ch.cpp<br/><br/>products: all<br/><br/>risks: None, in fact it reduces the risk of the change to put in the RoundTripDelay messages
      
      
=== OEM specific location state for disconnected radio connections ===
=== Firmware stall with MAX_BUSY_TICKS and Watchdog ===


{|
{|
Line 926: Line 930:
|-
|-
|Id
|Id
|[http://mantis.innovaphone.com/view.php?id=36164 36164]
|[http://mantis.innovaphone.com/view.php?id=36099 36099]
|}
|}
Problem: OEM specific location state for disconnected radio connections is not changed.<br/><br/>Solution: Implementation of location state handling changed.<br/><br/>Files: dectmaster.h, dectmaster.cpp.<br/><br/>Products affected: IP1201, IP4001.<br/><br/>Risk: Minimal.
problem: Firmware produces unpredictable stalls which results from a permanent occuring interrupt from the si3241 chip. This interrupt is accidently enabled but never occured in the past.<br/><br/>solution: disable this interrupt<br/><br/>files: si3241.cpp<br/><br/>products: ip28<br/><br/>risks: minimal, very isolated fix
      
      
=== OEM specific trunk configuration option ===
=== H.323 reuse TCP did not work for call-independetnt messages ===


{|
{|
Line 937: Line 941:
|-
|-
|Id
|Id
|[http://mantis.innovaphone.com/view.php?id=36165 36165]
|[http://mantis.innovaphone.com/view.php?id=36102 36102]
|}
|}
Problem: OEM specific trunk configuration option is not needed.<br/><br/>Solution: Option removed.<br/><br/>Files: dectmaster.h, dectmaster.cpp, dectmaster.xsl (oem).<br/><br/>Products affected: IP1201, IP4001.<br/><br/>Risk: Minimal.
problem: The reuse TCP option is required for OEM trunk interfaces not only for calls but also for call-independent messages. A new TCP socket was opened in this case for each message, which was never closed.<br/><br/>solution: Use existing TCP socket for these messages<br/><br/>files: h323sig.cpp<br/><br/>products: all<br/><br/>risks: Minimal, code only executed if reuse_tcp set, which happens only for special OEM cases
      
      
=== Not possible to disable option "Allow DTMF through RTP" ===
=== OEM specific trunk busy handling ===


{|
{|
Line 948: Line 952:
|-
|-
|Id
|Id
|[http://mantis.innovaphone.com/view.php?id=36196 36196]
|[http://mantis.innovaphone.com/view.php?id=36103 36103]
|}
|}
Problem: Not possible to disable option "Allow DTMF through RTP".<br/><br/>Solution: Fixed.<br/><br/>Files: dectmaster.cpp, dectmaster.xsl (oem).<br/><br/>Products affected: IP1200.<br/><br/>Risk: Minimal.
Problem: New OEM specific trunk busy handling.<br/><br/>Solution: Handling changed.<br/><br/>Files: dectmaster.cpp, dectdisplay_if.h, dectdisplay.h (oem)<br/><br/>Products affected: IP1201, IP4001.<br/><br/>Risk: Minimal.  
      
      
=== Frequency band support for Brazil (Subset of South America) ===
=== OEM specific pre-dial support ===


{|
{|
Line 959: Line 963:
|-
|-
|Id
|Id
|[http://mantis.innovaphone.com/view.php?id=36216 36216]
|[http://mantis.innovaphone.com/view.php?id=36105 36105]
|}
|}
Problem: Frequency band support for Brazil (Subset of South America).<br/><br/>Solution: New Dect Radio BMC firmware.<br/><br/>Files: New BMC firmware version PCS 05Ae, dect.h (oem), dect.cpp (oem), dect.xsl (oem).<br/><br/>Products affected: IP1200.<br/><br/>Risk: Normal.  
Problem: New OEM specific pre-dial support.<br/><br/>Solution: Pre-dial support for OEM added.<br/><br/>Files: dectmaster.cpp<br/><br/>Products affected: IP1201, IP4001.<br/><br/>Risk: Minimal.  
      
      
=== Fix for internal test module for Dect ===
=== OEM specific location handling during handover ===


{|
{|
Line 970: Line 974:
|-
|-
|Id
|Id
|[http://mantis.innovaphone.com/view.php?id=36283 36283]
|[http://mantis.innovaphone.com/view.php?id=36107 36107]
|}
|}
Problem: Memory leak and trap in dummysig module.<br/><br/>Solution: Fixed.<br/><br/>Files: dummysig.h, dummysig.cpp.<br/><br/>Products affected: All Dect devices in test mode.<br/><br/>Risk: No risk; module only used for internal tests.
Problem: New OEM specific location handling during handover.<br/><br/>Solution: OEM specific location handling changed.<br/><br/>Files: dectmaster.cpp, dectradio.h, dectradio.cpp.<br/><br/>Products affected: IP1201, IP4001.<br/><br/>Risk: Minimal.  
      
      
=== OEM specific GUI view ===
=== OEM specific trunk redundancy feature ===


{|
{|
Line 981: Line 985:
|-
|-
|Id
|Id
|[http://mantis.innovaphone.com/view.php?id=36285 36285]
|[http://mantis.innovaphone.com/view.php?id=36111 36111]
|}
|}
Problem: New OEM specific GUI.<br/><br/>Solution: Files changed.<br/><br/>Files: dect_edit_user.xsl (oem), dect_edit_users_right.xsl (oem).<br/><br/>Products affected: IP1201, IP4001.<br/><br/>Risk: No risk; oem specific, only GUI.
Problem: OEM specific trunk redundancy feature.<br/><br/>Solution: Feature implemented.<br/><br/>Files: dectmaster.h, dectmaster.cpp, dectmaster.xsl (oem).<br/><br/>Products affected: IP1201, IP4001.<br/><br/>Risk: Minimal.  
      
      
=== OEM specific registration handling if a trunk goes down ===
=== OEM specific change of PBX registration configuration for coder selection ===


{|
{|
Line 992: Line 996:
|-
|-
|Id
|Id
|[http://mantis.innovaphone.com/view.php?id=36385 36385]
|[http://mantis.innovaphone.com/view.php?id=36115 36115]
|}
|}
Problem: Reregistration is missed if a trunk goes down.<br/><br/>Solution: Reregistration of users registered to this trunk before added.<br/><br/>Files: dectmaster.h, dectmaster.cpp.<br/><br/>Products affected: IP4001, IP1201.<br/><br/>Risk: Minimal.
Problem: Coder is rejected (OEM specific).<br/><br/>Solution: Registration configuration changed.<br/><br/>Files: dectmaster.cpp.<br/><br/>Products affected: IP1201, IP4001.<br/><br/>Risk: Minimal.  
      
      
=== Unusual memory leaks after closed calls ===
=== Changed keep alive configuration for oem interoperability ===


{|
{|
Line 1,003: Line 1,007:
|-
|-
|Id
|Id
|[http://mantis.innovaphone.com/view.php?id=35839 35839]
|[http://mantis.innovaphone.com/view.php?id=36118 36118]
|}
|}
Problem: Unusual memory leaks after closed calls.<br/><br/>Solution: Call clean-up function for unused events.<br/><br/>Products affected: All devices.<br/><br/>Risk: Minimal.
Problem: Keep alive is required for OEM.<br/><br/>Solution: Keep alive is enabled for OEM.<br/><br/>Files: dectmaster.cpp.<br/><br/>Products affected: IP1201, IP4001.<br/><br/>Risk: Minimal. OEM specific.  
      
      
=== IP72: new display driver for LCD NT75451 ===
=== OEM specific call status support ===


{|
{|
Line 1,014: Line 1,018:
|-
|-
|Id
|Id
|[http://mantis.innovaphone.com/view.php?id=33028 33028]
|[http://mantis.innovaphone.com/view.php?id=36120 36120]
|}
|}
Problem: newer phones require another lcd driver<br/><br/>Solution: fixed in code<br/><br/>Products affected: IP72<br/><br/>Risk: None
Problem: OEM specific call status support required.<br/><br/>Solution: Call status support implemented. OEM specific enabled.<br/><br/>Files: dectmaster.h, dectmaster.cpp.<br/><br/>Products affected: IP1201, IP4001.<br/><br/>Risk: Minimal. OEM specific.
      
      
=== croatian translation corrections ===
=== Prevent high Dect-Master CPU load ===


{|
{|
Line 1,025: Line 1,029:
|-
|-
|Id
|Id
|[http://mantis.innovaphone.com/view.php?id=35935 35935]
|[http://mantis.innovaphone.com/view.php?id=36121 36121]
|}
|}
<br/>Problem: parts of croatian translation needed corrections<br/><br/>Solution: corrected<br/><br/>Products affected: All phones<br/><br/>Risk: None <br/>
Problem: CPU load in Dect Master device too high.<br/><br/>Solution: Reuse of radio-master TCP connection.<br/><br/>Files: dectmaster.cpp, dectradio.cpp.<br/><br/>Products affected: IP1200.<br/><br/>Risk: Minimal. Tested in previous version.
      
      
=== IP72: default backlight off ===
=== DSP channel of transfer initiating call lost when call is released by the party requesting the transfer ===


{|
{|
Line 1,036: Line 1,040:
|-
|-
|Id
|Id
|[http://mantis.innovaphone.com/view.php?id=35948 35948]
|[http://mantis.innovaphone.com/view.php?id=36122 36122]
|}
|}
<br/>Problem: with factory defaults, backlight level set to 0 (disabled)<br/><br/>Solution: fixed code to activate backlight (level 9)<br/><br/>Products affected: IP72<br/><br/>Risk: None <br/>
Problem: If the call on which the transfer is requested is released by the remote party before the replacement call reaches alerting/connected state the DSP channel assigned to the initiating call is not freed and lost until reboot. first seen in direct signalling tests but may happen with gk-routed signalling too.<br/><br/>Solution: free DSP channel.<br/><br/>Products affected: All INCA phones and IP72<br/><br/>Files: phonesig.cpp, phonesig.h<br/><br/>Risk: Low, very unlikely to happen in innovaphone environment
      
      
=== IP72: fix default contrast settings for phones with hw-id F2 ===
=== OEM specific unused feature codes ===


{|
{|
Line 1,047: Line 1,051:
|-
|-
|Id
|Id
|[http://mantis.innovaphone.com/view.php?id=35950 35950]
|[http://mantis.innovaphone.com/view.php?id=36123 36123]
|}
|}
Problem: with factory defaults, LCD contrast may not be satisfying<br/><br/>Solution: added contrast adjust on phone ui (phone-settings menu)<br/><br/>Products affected: IP72<br/><br/>Risk: None
Problem: Unused feature codes.<br/><br/>Solution: Unused feature codes disabled.<br/><br/>Files: dectfty.xsl (oem), config.h (oem).<br/><br/>Products affected: IP1201, IP4001.<br/><br/>Risk: Minimal.
      
      
=== Support for IP111 ===
=== automagic URL filename expansion in update  'bmc' command wrong ===


{|
{|
Line 1,058: Line 1,062:
|-
|-
|Id
|Id
|[http://mantis.innovaphone.com/view.php?id=36255 36255]
|[http://mantis.innovaphone.com/view.php?id=36124 36124]
|}
|}
problem: lcd/forms support for upcoming phone model IP111<br/><br/>solution: changed code<br/><br/>files: lcd_ip111.cpp<br/><br/>products: all phone-inca phones<br/><br/>risks: none<br/><br/>
Problem: the file name appended to the '/' terminated URL od a 'bmc' command is "ccfp1200" but not "ccfp1200.bin" as documented in wiki and used for the delivered file.  <br/><br/>Solution: fix name in update.cpp, add note to wiki<br/><br/>Products affected: IP1200<br/><br/>Files: update.cpp<br/><br/>Risk: Low, most probably most customers did not use this feature 
      
      
=== SIPS missing in phone UI in protocol list ===
=== Dect MWI message center number configurable to user number ===


{|
{|
Line 1,069: Line 1,073:
|-
|-
|Id
|Id
|[http://mantis.innovaphone.com/view.php?id=36346 36346]
|[http://mantis.innovaphone.com/view.php?id=36161 36161]
|}
|}
problem: SIPS missing in phone UI in protocol list<br/><br/>solution: fixed in code<br/><br/>files:<br/><br/>products: phone_inca, ip72<br/><br/>risks: none<br/>
Problem: No possibility to configure a message center number with user number.<br/><br/>Solution: Implementation of this new feature: if MWI is enabled and no fix message number is configured the user's number is called as message center number.<br/><br/>Files: dectfty.h, dectfty.cpp, dectfty.xsl (oem), dtmffty.h, dtmffty.cpp.<br/><br/>Products affected: All Dect devices.<br/><br/>Risk: Minimal.
      
      
=== mwi function key configuration in the phone-ui was not complete ===
=== MWI not updated at PP power up ===


{|
{|
Line 1,080: Line 1,084:
|-
|-
|Id
|Id
|[http://mantis.innovaphone.com/view.php?id=36360 36360]
|[http://mantis.innovaphone.com/view.php?id=36162 36162]
|}
|}
problem: mwi function key configuration in the phone-ui was not complete<br/><br/>solution: fixed in code, added "global" and "append own number" flags<br/><br/>files:<br/><br/>products: phone_inca, ip72<br/><br/>risks: none
Problem: MWI not updated at PP power up.<br/><br/>Solution: Sending mwi state after receiving power up event.<br/><br/>Files: dect.h, dect.cpp (oem).<br/><br/>Products affected: IP1200.<br/><br/>Risk: Minimal.
      
      
=== IP72: use production settings variable to det default contrast ===
=== OEM specific Dect ras connection up event ===


{|
{|
Line 1,091: Line 1,095:
|-
|-
|Id
|Id
|[http://mantis.innovaphone.com/view.php?id=36386 36386]
|[http://mantis.innovaphone.com/view.php?id=36163 36163]
|}
|}
problem: IP72: use production settings variable (if available) to det default contrast<br/><br/>solution: read vars1, set accordingly<br/><br/>files: lcd_ip22x.cpp<br/><br/>products: IP72<br/><br/>risks: none<br/><br/>
Problem: OEM specific Dect ras connection up event specification changed.<br/><br/>Solution: Ras connection up event handling changed.<br/><br/>Files: dectradio.h, dectradio.cpp.<br/><br/>Products affected: IP1201, IP4001.<br/><br/>Risk: Minimal.
      
      
=== XPARENT coder in selection list, but cannot be selected ===
=== OEM specific location state for disconnected radio connections ===


{|
{|
Line 1,102: Line 1,106:
|-
|-
|Id
|Id
|[http://mantis.innovaphone.com/view.php?id=36230 36230]
|[http://mantis.innovaphone.com/view.php?id=36164 36164]
|}
|}
problem: The XPARENT coder is used automatically and is not configurable, but is still shown in the list<br/><br/>solution: Remove XPARENT from list<br/><br/>files: channel.h<br/><br/>products: all<br/><br/>risk: none<br/><br/>
Problem: OEM specific location state for disconnected radio connections is not changed.<br/><br/>Solution: Implementation of location state handling changed.<br/><br/>Files: dectmaster.h, dectmaster.cpp.<br/><br/>Products affected: IP1201, IP4001.<br/><br/>Risk: Minimal.
      
      
=== CFU to Voicemail/Redial ===
=== OEM specific trunk configuration option ===


{|
{|
Line 1,113: Line 1,117:
|-
|-
|Id
|Id
|[http://mantis.innovaphone.com/view.php?id=35634 35634]
|[http://mantis.innovaphone.com/view.php?id=36165 36165]
|}
|}
problem: If you dial a local user and gets his voicemail by CFU, then if you try to redial the number by pressing the redial bottom, the Voicemail name will appear in the display, but it is the correct local number that is dialed.<br/>We are running an IP6000 SR2 Hotfix 9 with Innovaphone voicemail.<br/><br/>solution: send divertingLegInformation1 to caller<br/><br/>products: All PBX products<br/><br/>risk: none<br/>
Problem: OEM specific trunk configuration option is not needed.<br/><br/>Solution: Option removed.<br/><br/>Files: dectmaster.h, dectmaster.cpp, dectmaster.xsl (oem).<br/><br/>Products affected: IP1201, IP4001.<br/><br/>Risk: Minimal.
      
      
=== Fix for trap in HTTP client ===
=== Not possible to disable option "Allow DTMF through RTP" ===


{|
{|
Line 1,124: Line 1,128:
|-
|-
|Id
|Id
|[http://mantis.innovaphone.com/view.php?id=36357 36357]
|[http://mantis.innovaphone.com/view.php?id=36196 36196]
|}
|}
problem: trap in HTTP client (deleted packet to user)<br/><br/>solution: fixed in code<br/><br/>files: httpclient_i.cpp<br/><br/>products: all products<br/><br/>risks: no risk
Problem: Not possible to disable option "Allow DTMF through RTP".<br/><br/>Solution: Fixed.<br/><br/>Files: dectmaster.cpp, dectmaster.xsl (oem).<br/><br/>Products affected: IP1200.<br/><br/>Risk: Minimal.
      
      
=== IP800: Lost trace after trap to minifirmware and load to DRAM ===
=== IP800: Lost trace after trap to minifirmware and load to DRAM ===
Line 1,139: Line 1,143:
Problem: Stack was initialized  <br/><br/>Solution: Stack init removed<br/><br/>Files: ip800.cpp<br/><br/>Products affected: IP800<br/>
Problem: Stack was initialized  <br/><br/>Solution: Stack init removed<br/><br/>Files: ip800.cpp<br/><br/>Products affected: IP800<br/>
      
      
=== Fix for Session-Expires handling ===
=== Message Waiting Indications from a PBX Message Waiting Object are not visible in a special workíng environment ===


{|
{|
Line 1,146: Line 1,150:
|-
|-
|Id
|Id
|[http://mantis.innovaphone.com/view.php?id=35749 35749]
|[http://mantis.innovaphone.com/view.php?id=36201 36201]
|}
|}
Problem: Some SIP endpoints send reINVITE w/o Session-Expires header<br/>on calls established with session refresh. The SIP stack released the call in this case. This prevented interoperation with such SIP equipment<br/><br/>Solution: Restart the timer with the original expires value.<br/><br/>Products affected: All<br/><br/>Risk: Minimal
Problem: To receive Message Waiting Indications for a certain number on from a PBX Message Waiting Object on multiple phones each phone uses a separate registration to this Object. A MWI received on a registration triggers only a MWI-key defined for this registration. Because the registration to the Message Waiting Object is not the active registration neither the global led nor the key led (if any) is triggered.   <br/><br/>Solution: a 'global' flag is added to the MWI-key. If the flag is set a MWI matching this key is broadcasted to all registrations at the same PBX. Two MWI-keys need to be defined: one with the 'global' flag for the registration to the Message Waiting Object and one for the user registration. <br/><br/>Products affected: All INCA phones and IP72<br/><br/>Risk: Low, only applied if 'global' flag is set
''Status:''
Fix: Session watchdog timer is restarted with original expires value.
      
      
=== V7 Bootcode shows always 999 after firmware downgrade to V6 ===
=== An incoming transfer on a call which was initiator of a rejected transfer before did not work (direct signalling) ===


{|
{|
Line 1,159: Line 1,161:
|-
|-
|Id
|Id
|[http://mantis.innovaphone.com/view.php?id=36264 36264]
|[http://mantis.innovaphone.com/view.php?id=36210 36210]
|}
|}
Problem: Bootcode version was defined in each startup file. That version number identifies only to the primary boot for V6 firmware.With V7 the bootcode version is part of the minifirmware.<br/><br/>Solution: global define for bootcode version number to 1000 added. Bootcode numbering from the build system would cause bootcode update more frequently than needed.<br/><br/>Files: boot.h  startup_*.S<br/><br/>Products affected: ipxxx with V7 bootcode ( all except IP3000 and IP72 )<br/><br/>Risk: low
Problem: the call on which a transfer is requested is not restored to the correct signalling state after the transfer has been rejected. The new incoming transfer request is accepted but fails after setup of replacement call because of the wrong signalling state. <br/><br/>Solution: save signalling state before setup of replacement call and restore when replacement call fails.<br/><br/>Products affected: All INCA phones and IP72<br/><br/>Files: phonesig.cpp, phonesig.h<br/><br/>Risk: Minimal, direct signalling not used in innovaphone environment<br/>
      
      
=== mapping of "600 Busy Everywhere" to cause #17 (User Busy) ===
=== Frequency band support for Brazil (Subset of South America) ===


{|
{|
Line 1,170: Line 1,172:
|-
|-
|Id
|Id
|[http://mantis.innovaphone.com/view.php?id=36238 36238]
|[http://mantis.innovaphone.com/view.php?id=36216 36216]
|}
|}
Problem: "600 Busy Everywhere" is mapped to cause #21 (Call rejected)<br/><br/>Solution: Map to cause #17 (User Busy)<br/><br/>Files: sip.cpp<br/><br/>Products affected: All devices<br/><br/>Risk: No risk
Problem: Frequency band support for Brazil (Subset of South America).<br/><br/>Solution: New Dect Radio BMC firmware.<br/><br/>Files: New BMC firmware version PCS 05Ae, dect.h (oem), dect.cpp (oem), dect.xsl (oem).<br/><br/>Products affected: IP1200.<br/><br/>Risk: Normal.
      
      
=== Dect SIP registration to PBX with authentication name ===
=== Unclosed announcement calls in conference ===


{|
{|
Line 1,181: Line 1,183:
|-
|-
|Id
|Id
|[http://mantis.innovaphone.com/view.php?id=35680 35680]
|[http://mantis.innovaphone.com/view.php?id=36219 36219]
|}
|}
Problem: Authentication name of the Dect user is not used for SIP registration if 'Name for Authentication' option is enabled.<br/><br/>Solution: If authentication name is set for the user, it is used for SIP registration independent of the 'Name for Authentication' option.<br/><br/>Files: dectmaster.cpp.<br/><br/>Products affected: All Dect devices.<br/><br/>Risk: Minimal.
Problem: Unclosed announcement calls in conference.<br/><br/>Solution: Fixed.<br/><br/>Files: pbx_bc_conf.cpp.<br/><br/>Products affected: All devices with PBX.<br/><br/>Risk: Minimal, only Broadcast Conference PBX Object.  
      
      
=== SOAP LocationUrl return value coding ===
=== XPARENT coder in selection list, but cannot be selected ===


{|
{|
Line 1,192: Line 1,194:
|-
|-
|Id
|Id
|[http://mantis.innovaphone.com/view.php?id=35686 35686]
|[http://mantis.innovaphone.com/view.php?id=36230 36230]
|}
|}
Problem: the PBX returns the url in a <loc> tag while it should be a <return> tag according to the WSDL.<br/><br/>Solutions: fix coding or change wsdl.<br/>Files affected: pbx/xml/pbx_xml.cpp<br/>Risk: near to zero.  .Net based SOAP clients do not care anyway, stricter implementations have not worked at all before. 
problem: The XPARENT coder is used automatically and is not configurable, but is still shown in the list<br/><br/>solution: Remove XPARENT from list<br/><br/>files: channel.h<br/><br/>products: all<br/><br/>risk: none<br/><br/>
      
      
=== fix for ringback after taking incoming call completion response/ renaming call completion to call completion busy ===
=== Restart because of Trap in PBX together with transfer/pickup/call-intrusion and Waiting, Voicemail, MWI ===


{|
{|
Line 1,203: Line 1,205:
|-
|-
|Id
|Id
|[http://mantis.innovaphone.com/view.php?id=35829 35829]
|[http://mantis.innovaphone.com/view.php?id=36235 36235]
|}
|}
problem: If a user dials the call completion feature code, gets the call completion response call and answers it, so that the other side is ringing, no ringback tone was heard.<br/>Additionally, as call completion no response is currently not possible, I would rename call completion to call completion busy.<br/><br/>fix: api_remote_hold on connector after SIG_ALERT<br/><br/>products affected: all pbx devices<br/><br/>risk: minimal<br/><br/>
problem: Under spedial rare conditions a restart could happen on transfer/pickup/call-intrusion together with calls to pseudo objects like Waiting, Voicemail or MWI, because of an invalid cast.<br/><br/>solution: Invalid cast fixed<br/><br/>files: pbx.cpp<br/><br/>products: All products with PBX<br/><br/>risks: Minimal
      
      
=== Forwarded Name Id sometimes corrupted ===
=== mapping of "600 Busy Everywhere" to cause #17 (User Busy) ===


{|
{|
Line 1,214: Line 1,216:
|-
|-
|Id
|Id
|[http://mantis.innovaphone.com/view.php?id=35775 35775]
|[http://mantis.innovaphone.com/view.php?id=36238 36238]
|}
|}
Problem: Sometimes to Name Id, which is forwarded (e.g. Name Id forwarded on DECT Master to Radio, or Name Id forwarded in PBX) strange characters are added. strcopy was used instead of memcpy. Name still transmitted on H.450 null-terminated for compatibility<br/><br/>Solution: Use correct method for copy. Don't add null-character in H.450.<br/><br/>Products affected: All products with IP-DECT or PBX<br/><br/>Risk: Minimal, very isolated fix
Problem: "600 Busy Everywhere" is mapped to cause #21 (Call rejected)<br/><br/>Solution: Map to cause #17 (User Busy)<br/><br/>Files: sip.cpp<br/><br/>Products affected: All devices<br/><br/>Risk: No risk
      
      
=== "Administration/Diagnostics/Events/Save" should be enabled in viewer mode ===
=== Factory reset with V7 bootcode clears  linear firmware ===


{|
{|
Line 1,225: Line 1,227:
|-
|-
|Id
|Id
|[http://mantis.innovaphone.com/view.php?id=35742 35742]
|[http://mantis.innovaphone.com/view.php?id=36251 36251]
|}
|}
Problem: The "Administration/Diagnostics/Events/Save" link is disabled in Viewer mode while "Administration/Diagnostics/Config Show" and other links creating textfiles with support info are not.<br/><br/>Solution: enable the "Save" link in xsl file<br/><br/>Products affected: All<br/><br/>Risk: None<br/>
Problem: factory reset didnt check for linear firmware<br/><br/>Solution: check added<br/><br/>Files: flash_firmware.c<br/><br/>Products affected: ipxxx with V7 bootcode ( all except IP3000 and IP72 )<br/><br/>Risk: general bootcode update risk
      
      
=== provide OEM specific DHCP Vendor Class Identifier ===
=== Support for IP111 ===


{|
{|
Line 1,236: Line 1,238:
|-
|-
|Id
|Id
|[http://mantis.innovaphone.com/view.php?id=35838 35838]
|[http://mantis.innovaphone.com/view.php?id=36255 36255]
|}
|}
Problem: in OEM specific network enviromments it may be necessary to use an OEM specific 'Vendor Class Identifier' in DHCP discover/offer messages.<br/><br/>Solution: 'product_info::vendor_class_identifier' defines the OEM spceific value, kernel::vendor_class_identifier() provides it.<br/><br/>Products affected: All<br/><br/>Risk: Minimal<br/>
problem: lcd/forms support for upcoming phone model IP111<br/><br/>solution: changed code<br/><br/>files: lcd_ip111.cpp<br/><br/>products: all phone-inca phones<br/><br/>risks: none<br/><br/>
      
      
=== missing details in event log "no route to destination" ===
=== No DISC signaling with INFO(application/qsig) if not supported by remote side ===


{|
{|
Line 1,247: Line 1,249:
|-
|-
|Id
|Id
|[http://mantis.innovaphone.com/view.php?id=35917 35917]
|[http://mantis.innovaphone.com/view.php?id=36259 36259]
|}
|}
Problem: cause "unknown" is reported if a packet is directed to a specific interface but cannot be sent because the destination address requires a gateway and there is no gateway configured for this interface.<br/><br/>Solution: fix code<br/><br/>Products affected: All<br/><br/>Risk: None
Problem: INFO(application/qsig) might not be supported; don't try if not supported<br/><br/>Solution: detection of 415/488 reject for INFO(application/qsig)<br/><br/>Files: sip.cpp<br/><br/>Products affected: All devices<br/><br/>Risk: Missing inband info, since call is released if disc cannot be signaled
      
      
=== automagic URL filename expansion in update  'bmc' command wrong ===
=== URI parameter "epid" in AOR ===


{|
{|
Line 1,258: Line 1,260:
|-
|-
|Id
|Id
|[http://mantis.innovaphone.com/view.php?id=36124 36124]
|[http://mantis.innovaphone.com/view.php?id=36260 36260]
|}
|}
Problem: the file name appended to the '/' terminated URL od a 'bmc' command is "ccfp1200" but not "ccfp1200.bin" as documented in wiki and used for the delivered file.  <br/><br/>Solution: fix name in update.cpp, add note to wiki<br/><br/>Products affected: IP1200<br/><br/>Files: update.cpp<br/><br/>Risk: Low, most probably most customers did not use this feature 
Problem: Microsoft OCS rejects registration if no "epid" parameter is present<br/><br/>Solution: Adding "epid" parameter to AOR in From header in REGSTER,INVITE,SUBSCRIBE<br/><br/>Files: sip.cpp, sip.h<br/><br/>Products affected: All devices<br/><br/>Risk: Minimal, since unknown parameters are to be ignored (handled transparently) by specification
      
      
=== switching between primary and secondary DNS on request timeout  fails sometimes in NAT ===
=== Avoid endless authentication re-trying ===


{|
{|
Line 1,269: Line 1,271:
|-
|-
|Id
|Id
|[http://mantis.innovaphone.com/view.php?id=35805 35805]
|[http://mantis.innovaphone.com/view.php?id=36261 36261]
|}
|}
Problem: NATted DNS requests waiting for response are kept in a list which is checked in regular intervals for timed out requests. Each timed out request is removed from list and the dns_primary flag is toggled. Thus for an even number of timed out requests the dns_primary flag keeps it's original value.  <br/><br/>Solution: toggle the dns_primary flag only once<br/><br/>Products affected: All<br/><br/>Risk: Minimal
Problem: Endless authentication re-trying if the auth request does not contain a nonce (e.g. NTLM auth)<br/><br/>Solution: Don't take 'no nonce' as 'changed nonce'<br/><br/>Files: sip.cpp<br/><br/>Products affected: All devices<br/><br/>Risk: No risk
      
      
=== SIP specific call transfer handling as required by SIP provider ShoreTel ===
=== V7 Bootcode shows always 999 after firmware downgrade to V6 ===


{|
{|
Line 1,280: Line 1,282:
|-
|-
|Id
|Id
|[http://mantis.innovaphone.com/view.php?id=35872 35872]
|[http://mantis.innovaphone.com/view.php?id=36264 36264]
|}
|}
Problem: Currently the call initiating the transfer is released as soon as the replacement call enters alerting state and also in case of an early release of the replacement call. <br/>In SIP (RFC-3515) the initiating call must not be released before the replacement call enters connected state. In case of an early release of the replacement call (transfer rejected) the initiating call must not be released but a transfer failure has to be reported.<br/><br/>Solution: SIP/H323 specific transfer handling in phonesig.cpp<br/><br/>Products affected: All INCA phones and IP72<br/><br/>Risk: Medium, needs to be retested with all SIP providers
Problem: Bootcode version was defined in each startup file. That version number identifies only to the primary boot for V6 firmware.With V7 the bootcode version is part of the minifirmware.<br/><br/>Solution: global define for bootcode version number to 1000 added. Bootcode numbering from the build system would cause bootcode update more frequently than needed.<br/><br/>Files: boot.h  startup_*.S<br/><br/>Products affected: ipxxx with V7 bootcode ( all except IP3000 and IP72 )<br/><br/>Risk: low
      
      
=== Prevent random INCA leak reports in test ===
=== Memory leak when executing call-completion on IP-DECT ===


{|
{|
Line 1,291: Line 1,293:
|-
|-
|Id
|Id
|[http://mantis.innovaphone.com/view.php?id=35882 35882]
|[http://mantis.innovaphone.com/view.php?id=36265 36265]
|}
|}
Problem: Tests fail randomly because of a leak reported for the var LAN/LINK created by the inca MAC driver and polled in phone idle state any second<br/><br/>Solution: use vars notify mechanism instead of polling<br/><br/>Products affected: All INCA phones, IP72<br/><br/>Risk: None
problem: When executing call-completion packets containing faststart elements are not deleted<br/><br/>solution: Free the packets<br/><br/>files: dtmffty.cpp<br/><br/>products: All IP-DECT<br/><br/>risks: Almost no risk
      
      
=== Phone Registration 1 SIP Interop Tweaks - checkmarks cannot be cleared ===
=== OEM specific disabling of the feature to change admin login ===


{|
{|
Line 1,302: Line 1,304:
|-
|-
|Id
|Id
|[http://mantis.innovaphone.com/view.php?id=35958 35958]
|[http://mantis.innovaphone.com/view.php?id=36274 36274]
|}
|}
Problem: The checkmarks under "Configuration/Registration 1/Registration/SIP Interop Tweaks" can be set but not cleared via WEB interface.<br/><br/>Solution: fix evaluation of boolean options<br/><br/>Files: phonesig.cpp<br/><br/>Products affected: all INCA phones, IP72<br/><br/>Risk: None 
problem: For an OEM the feature to be able to change login caused undesirable behaviour with IE<br/><br/>solution: Disable the change login feature for OEM<br/><br/>files: command.cpp command.h<br/><br/>products: all, but change should change behaviour only for OEM products<br/><br/>risk: Only for OEM products
      
      
=== Hold state indication not cleared on a call transfer requested via direct signalling ===
=== Fix for internal test module for Dect ===


{|
{|
Line 1,313: Line 1,315:
|-
|-
|Id
|Id
|[http://mantis.innovaphone.com/view.php?id=36041 36041]
|[http://mantis.innovaphone.com/view.php?id=36283 36283]
|}
|}
Problem: the call on which the transfer is requested is set on hold by remote party before. the hold state was not cleared after release of this call.<br/><br/>Solution: clear hold state when the replacement call is set up.<br/><br/>Products affected: All INCA phones and IP72<br/><br/>Files: phonesig.cpp, phonesig.h, forms_phone_impl.cpp (test support)<br/><br/>Risk: Low, direct signalling not used in innovaphone environment
Problem: Memory leak and trap in dummysig module.<br/><br/>Solution: Fixed.<br/><br/>Files: dummysig.h, dummysig.cpp.<br/><br/>Products affected: All Dect devices in test mode.<br/><br/>Risk: No risk; module only used for internal tests.
''Status:''
Test with GnuGk provided by TAC in phone/transfer OK
      
      
=== DSP channel of transfer initiating call lost when call is released by the party requesting the transfer ===
=== OEM specific GUI view ===


{|
{|
Line 1,326: Line 1,326:
|-
|-
|Id
|Id
|[http://mantis.innovaphone.com/view.php?id=36122 36122]
|[http://mantis.innovaphone.com/view.php?id=36285 36285]
|}
|}
Problem: If the call on which the transfer is requested is released by the remote party before the replacement call reaches alerting/connected state the DSP channel assigned to the initiating call is not freed and lost until reboot. first seen in direct signalling tests but may happen with gk-routed signalling too.<br/><br/>Solution: free DSP channel.<br/><br/>Products affected: All INCA phones and IP72<br/><br/>Files: phonesig.cpp, phonesig.h<br/><br/>Risk: Low, very unlikely to happen in innovaphone environment
Problem: New OEM specific GUI.<br/><br/>Solution: Files changed.<br/><br/>Files: dect_edit_user.xsl (oem), dect_edit_users_right.xsl (oem).<br/><br/>Products affected: IP1201, IP4001.<br/><br/>Risk: No risk; oem specific, only GUI.
      
      
=== Message Waiting Indications from a PBX Message Waiting Object are not visible in a special workíng environment ===
=== IP150 - Right hand part of OEM specific WEB interface is not displayed ===


{|
{|
Line 1,337: Line 1,337:
|-
|-
|Id
|Id
|[http://mantis.innovaphone.com/view.php?id=36201 36201]
|[http://mantis.innovaphone.com/view.php?id=36312 36312]
|}
|}
Problem: To receive Message Waiting Indications for a certain number on from a PBX Message Waiting Object on multiple phones each phone uses a separate registration to this Object. A MWI received on a registration triggers only a MWI-key defined for this registration. Because the registration to the Message Waiting Object is not the active registration neither the global led nor the key led (if any) is triggered.    <br/><br/>Solution: a 'global' flag is added to the MWI-key. If the flag is set a MWI matching this key is broadcasted to all registrations at the same PBX. Two MWI-keys need to be defined: one with the 'global' flag for the registration to the Message Waiting Object and one for the user registration. <br/><br/>Products affected: All INCA phones and IP72<br/><br/>Risk: Low, only applied if 'global' flag is set
Problem: An IP150 with OEM id 9 (FHF) does not display the right hand part WEB interface<br/><br/>Solution: add login-menu template to fxf.xsl (OEM replacement for inno.xsl)<br/><br/>Products affected: IP150<br/><br/>Files: fxf.xsl<br/><br/>Risk: None
      
      
=== An incoming transfer on a call which was initiator of a rejected transfer before did not work (direct signalling) ===
=== Trap because of buffer overrun when logging a login reject ===


{|
{|
Line 1,348: Line 1,348:
|-
|-
|Id
|Id
|[http://mantis.innovaphone.com/view.php?id=36210 36210]
|[http://mantis.innovaphone.com/view.php?id=36323 36323]
|}
|}
Problem: the call on which a transfer is requested is not restored to the correct signalling state after the transfer has been rejected. The new incoming transfer request is accepted but fails after setup of replacement call because of the wrong signalling state. <br/><br/>Solution: save signalling state before setup of replacement call and restore when replacement call fails.<br/><br/>Products affected: All INCA phones and IP72<br/><br/>Files: phonesig.cpp, phonesig.h<br/><br/>Risk: Minimal, direct signalling not used in innovaphone environment<br/>
problem: If a login reject was logged, depending of the length of the user name a stack buffer was overrun, which could cause a trap<br/><br/>solution: fix buffer size<br/><br/>files: command.cpp<br/><br/>products: all<br/><br/>risks: none
      
      
=== IP150 - Right hand part of OEM specific WEB interface is not displayed ===
=== SIPS missing in phone UI in protocol list ===


{|
{|
Line 1,359: Line 1,359:
|-
|-
|Id
|Id
|[http://mantis.innovaphone.com/view.php?id=36312 36312]
|[http://mantis.innovaphone.com/view.php?id=36346 36346]
|}
|}
Problem: An IP150 with OEM id 9 (FHF) does not display the right hand part WEB interface<br/><br/>Solution: add login-menu template to fxf.xsl (OEM replacement for inno.xsl)<br/><br/>Products affected: IP150<br/><br/>Files: fxf.xsl<br/><br/>Risk: None
problem: SIPS missing in phone UI in protocol list<br/><br/>solution: fixed in code<br/><br/>files:<br/><br/>products: phone_inca, ip72<br/><br/>risks: none<br/>
      
      
=== Trap During TLS Connection Termination ===
=== Trap if too many licenses installed and slave obtains license from master ===


{|
{|
Line 1,370: Line 1,370:
|-
|-
|Id
|Id
|[http://mantis.innovaphone.com/view.php?id=35603 35603]
|[http://mantis.innovaphone.com/view.php?id=36347 36347]
|}
|}
Problem: Occasional trap while TLS client connection shuts down.<br/><br/>Solution: Fixing state machine<br/><br/>Products affected: All<br/><br/>Risk: none<br/>
problem: If many licenses are installed on a master (e.g. all test licenses), the master traps as soon as a slave tries to read the licenses, because of buffer overrun.<br/><br/>solution: Increase buffer size, better check for buffer overrun.<br/><br/>files: inno_lic.cpp<br/><br/>products: All products with PBX<br/><br/>risks: No risk
      
      
=== Waiting-Queue: No Disconnect-Tone to Caller if external Transfer Call failed ===
=== Fix for trap in HTTP client ===


{|
{|
Line 1,381: Line 1,381:
|-
|-
|Id
|Id
|[http://mantis.innovaphone.com/view.php?id=35957 35957]
|[http://mantis.innovaphone.com/view.php?id=36357 36357]
|}
|}
problem: failed external transfer call did not caused a disconnect tone to be played to the calling party<br/><br/>solution: do not kill the webmedia channel when the external transfer call is started<br/><br/>products: All PBX products<br/><br/>files: pbx_wait.cpp<br/><br/>risk: minmal
problem: trap in HTTP client (deleted packet to user)<br/><br/>solution: fixed in code<br/><br/>files: httpclient_i.cpp<br/><br/>products: all products<br/><br/>risks: no risk
      
      
=== SIP debug output to be removed ===
=== mwi function key configuration in the phone-ui was not complete ===


{|
{|
Line 1,392: Line 1,392:
|-
|-
|Id
|Id
|[http://mantis.innovaphone.com/view.php?id=35739 35739]
|[http://mantis.innovaphone.com/view.php?id=36360 36360]
|}
|}
Problem: Debug outputs forgotten in SIP stack<br/>Solution: Debug outputs removed<br/>Products affected: All<br/>Risk: None
problem: mwi function key configuration in the phone-ui was not complete<br/><br/>solution: fixed in code, added "global" and "append own number" flags<br/><br/>files:<br/><br/>products: phone_inca, ip72<br/><br/>risks: none
      
      
=== Sending NOTIFY(sipfrag) with error code reflecting error on transfer call ===
=== Clear all sockets if registration changes ===


{|
{|
Line 1,403: Line 1,403:
|-
|-
|Id
|Id
|[http://mantis.innovaphone.com/view.php?id=35938 35938]
|[http://mantis.innovaphone.com/view.php?id=36361 36361]
|}
|}
problem: failed transfer call was not correctly indicated on original call<br/><br/>solution: sending of NOTIFY(sipfrag) with error code<br/><br/>products: All products<br/><br/>files: sip.cpp<br/><br/>risk: minmal
problem: In case of the reuse_tcp option, old socket where used even if registration changed. Fallback from IP-DECT Standby to Master did not work because of that.<br/><br/>solution: cleanup all sockets if registration changes<br/><br/>files: h323.h h323sig.cpp<br/><br/>products: IP1200<br/><br/>risks: limited to IP1200
      
      
=== No DISC signaling with INFO(application/qsig) if not supported by remote side ===
=== OEM specific registration handling if a trunk goes down ===


{|
{|
Line 1,414: Line 1,414:
|-
|-
|Id
|Id
|[http://mantis.innovaphone.com/view.php?id=36259 36259]
|[http://mantis.innovaphone.com/view.php?id=36385 36385]
|}
|}
Problem: INFO(application/qsig) might not be supported; don't try if not supported<br/><br/>Solution: detection of 415/488 reject for INFO(application/qsig)<br/><br/>Files: sip.cpp<br/><br/>Products affected: All devices<br/><br/>Risk: Missing inband info, since call is released if disc cannot be signaled
Problem: Reregistration is missed if a trunk goes down.<br/><br/>Solution: Reregistration of users registered to this trunk before added.<br/><br/>Files: dectmaster.h, dectmaster.cpp.<br/><br/>Products affected: IP4001, IP1201.<br/><br/>Risk: Minimal.
      
      
=== URI parameter "epid" in AOR ===
=== IP72: use production settings variable to det default contrast ===


{|
{|
Line 1,425: Line 1,425:
|-
|-
|Id
|Id
|[http://mantis.innovaphone.com/view.php?id=36260 36260]
|[http://mantis.innovaphone.com/view.php?id=36386 36386]
|}
|}
Problem: Microsoft OCS rejects registration if no "epid" parameter is present<br/><br/>Solution: Adding "epid" parameter to AOR in From header in REGSTER,INVITE,SUBSCRIBE<br/><br/>Files: sip.cpp, sip.h<br/><br/>Products affected: All devices<br/><br/>Risk: Minimal, since unknown parameters are to be ignored (handled transparently) by specification
problem: IP72: use production settings variable (if available) to det default contrast<br/><br/>solution: read vars1, set accordingly<br/><br/>files: lcd_ip22x.cpp<br/><br/>products: IP72<br/><br/>risks: none<br/><br/>
      
      
=== Avoid endless authentication re-trying ===
=== PBX routing fails, because access to deleted buffer ===


{|
{|
Line 1,436: Line 1,436:
|-
|-
|Id
|Id
|[http://mantis.innovaphone.com/view.php?id=36261 36261]
|[http://mantis.innovaphone.com/view.php?id=36429 36429]
|}
|}
Problem: Endless authentication re-trying if the auth request does not contain a nonce (e.g. NTLM auth)<br/><br/>Solution: Don't take 'no nonce' as 'changed nonce'<br/><br/>Files: sip.cpp<br/><br/>Products affected: All devices<br/><br/>Risk: No risk
problem: When doing call routing in the PBX in a very short interval the called party number is read from a already deleted buffer. If the buffer is recycled during this period the routing fails.<br/><br/>solution: Delete buffer after call routing<br/><br/>files: pbx.cpp<br/><br/>products: All with PBX<br/><br/>risks: Small risk of collateral damage doing call routing in PBX
      
      
== Bug Fixes ==
== Bug Fixes ==
Line 1,452: Line 1,452:


      
      
=== IP4001 minifirmware sometimes doesnt start ===
=== OEM specific registration handling if a trunk goes up ===


{|
{|
Line 1,459: Line 1,459:
|-
|-
|Id
|Id
|[http://mantis.innovaphone.com/view.php?id=36658 36658]
|[http://mantis.innovaphone.com/view.php?id=36435 36435]
|}
|}
problem: unused IRQ are not disabled<br/><br/>solution: disable unused IRQs<br/><br/>files: ip4001.cpp<br/><br/>products: ip4001<br/><br/>risks: none
Problem: Reregistration of all users is missed if a trunk goes up.<br/><br/>Solution: Reregistration of users added.<br/><br/>Files: dectmaster.cpp.<br/><br/>Products affected: IP4001, IP1201.<br/><br/>Risk: Minimal.
      
      
=== after bootcode update and softreset the box enters TFTP mode ===
=== R-key usage after handover in alerting state ===


{|
{|
Line 1,470: Line 1,470:
|-
|-
|Id
|Id
|[http://mantis.innovaphone.com/view.php?id=36708 36708]
|[http://mantis.innovaphone.com/view.php?id=36465 36465]
|}
|}
problem: old tftp entry in DRAM is used<br/><br/>solution: adjust tftp entry, call cache_init<br/><br/>files: startup_ac460.s cache_ac460.s boot.h<br/><br/>products: ip800 ip1200 ip1201<br/><br/>risks: none
Problem: R-key usage is not possible if handover was made during alerting state.<br/><br/>Solution: Radio call state set command added.<br/><br/>Files: dectradio.cpp.<br/><br/>Products affected: All dect devices.<br/><br/>Risk: Minimal.
      
      
=== no ringing voltage ===
=== OEM specific infinite loop because of invalid pointer ===


{|
{|
Line 1,481: Line 1,481:
|-
|-
|Id
|Id
|[http://mantis.innovaphone.com/view.php?id=36700 36700]
|[http://mantis.innovaphone.com/view.php?id=36467 36467]
|}
|}
problem: After few days uptime ringing may fail until box will be reset.<br/><br/>solution: change some initial register values<br/><br/>files: si3241.cpp, si3241.h<br/><br/>products: ip28<br/><br/>risks: none
Problem: Infinite loop because of invalid pointer in endpoint location object.<br/><br/>Solution: Pointer update during endpoint update added.<br/><br/>Files: dectmaster.cpp.<br/><br/>Products affected: IP4001, IP1201.<br/><br/>Risk: Minimal.
      
      
=== clip retry ===
=== SIP allocation limit is too low at 500kB ===


{|
{|
Line 1,492: Line 1,492:
|-
|-
|Id
|Id
|[http://mantis.innovaphone.com/view.php?id=36702 36702]
|[http://mantis.innovaphone.com/view.php?id=36490 36490]
|}
|}
problem: clip reception not assured<br/><br/>solution: sent more than once<br/><br/>files: ab_sig.cpp si3241.cpp<br/><br/>products: ip28<br/><br/>risks: very low
Problem: SIP allocation limit is too low at 500kB and should be platform dependend higher<br/><br/>Solution: Use the platform dependend limit<br/><br/>Files: sip.h, sip.cpp, siptrans.cpp<br/><br/>Products affected: All devices<br/><br/>Risk: Out of memory traps due to badly chosen platform dependend limit
      
      
=== pbx dtmf object can cause traps with disabled feature codes ===
=== PBX: Call Completion sometimes indicated call-back possible, even if called user still busy ===


{|
{|
Line 1,503: Line 1,503:
|-
|-
|Id
|Id
|[http://mantis.innovaphone.com/view.php?id=36844 36844]
|[http://mantis.innovaphone.com/view.php?id=36587 36587]
|}
|}
Problem: if feature codes are disabled and enabled feature codes are called, a check for the disabled feature codes wasn't done, so a null pointer was given.<br/><br/>Solution: check for disabled feature codes<br/><br/>Files: pbx_dtmf.cpp<br/><br/>Products affected: all pbx devices<br/><br/>Risk: none
problem: A call back possible was indicated if a connected call was cleared on the monitored user, even if this call was a call without media for supplementary services.<br/><br/>solution: For call completion check if disconnected call was with media<br/><br/>files: pbx.cpp<br/><br/>products: All products with PBX<br/><br/>risks: No known risks
      
      
=== PBX Dtmf object: no de/activation of cfnr feature possible ===
=== SOAP/TAPI did not show connected for monitored operator of Waiting Queue ===


{|
{|
Line 1,514: Line 1,514:
|-
|-
|Id
|Id
|[http://mantis.innovaphone.com/view.php?id=37798 37798]
|[http://mantis.innovaphone.com/view.php?id=36588 36588]
|}
|}
problem: un-/checking the cfnr feature code checkbox has no effect<br/><br/>solution: change false attribute name in xsl file, was a false paste<br/><br/>files: pbx_edit_dtmf-ctrl.xsl<br/><br/>products: all pbx products<br/><br/>risks: no
problem: If a user received a call as operator of a waiting queue, this call was indicated in SOAP/TAPI as alerting even if the user accepted the call.<br/><br/>solution: Fixed bug which prevented forwarding of SIG_CONN to SOAP under some special conditions<br/><br/>files: pbx.cpp<br/><br/>products: All products with PBX<br/><br/>risks: Since the change is at a quite central place, there could be a change in behaviour in other places as well.
      
      
=== PBX: Call Completion sometimes indicated call-back possible, even if called user still busy ===
=== SIP:TRANSIT calls are terminated if unknown coder has been negotiated ===


{|
{|
Line 1,525: Line 1,525:
|-
|-
|Id
|Id
|[http://mantis.innovaphone.com/view.php?id=36587 36587]
|[http://mantis.innovaphone.com/view.php?id=36606 36606]
|}
|}
problem: A call back possible was indicated if a connected call was cleared on the monitored user, even if this call was a call without media for supplementary services.<br/><br/>solution: For call completion check if disconnected call was with media<br/><br/>files: pbx.cpp<br/><br/>products: All products with PBX<br/><br/>risks: No known risks
problem: SIP:TRANSIT calls are terminated if unknown coder has been negotiated<br/><br/>solution: Do not terminate these calls<br/><br/>files: sip.cpp<br/><br/>products: All products with PBX or GATEWAY<br/><br/>risks: Problems with re-negotiation later on
      
      
=== SOAP/TAPI did not show connected for monitored operator of Waiting Queue ===
=== IP header of IGMP reports contains invalid Option field ===


{|
{|
Line 1,536: Line 1,536:
|-
|-
|Id
|Id
|[http://mantis.innovaphone.com/view.php?id=36588 36588]
|[http://mantis.innovaphone.com/view.php?id=36607 36607]
|}
|}
problem: If a user received a call as operator of a waiting queue, this call was indicated in SOAP/TAPI as alerting even if the user accepted the call.<br/><br/>solution: Fixed bug which prevented forwarding of SIG_CONN to SOAP under some special conditions<br/><br/>files: pbx.cpp<br/><br/>products: All products with PBX<br/><br/>risks: Since the change is at a quite central place, there could be a change in behaviour in other places as well.
Problem: The IP header option field of IGMP reports was badly initialized and did not contain the router alert option.  routers or switches may ignore the reports because of the missing option.  network maintenance tools may report an error for the wrong option field. <br/><br/>Solution: place router alert in ip_data[0-3], not behind it :-(<br/><br/>Products affected: all products<br/><br/>Files: ipproc.cpp<br/><br/>Risk: None
      
      
=== Trap when changing H.323 tracing while H.323 calls are up ===
=== Trap when changing H.323 tracing while H.323 calls are up ===
Line 1,550: Line 1,550:
|}
|}
problem: When the tracing of the H.323 was changed while a call was up, a restart happened the next time a message was received for this call.<br/><br/>solution: Bug fixed, which caused writing into the wrong object<br/><br/>files: h323sig.cpp<br/><br/>products: all<br/><br/>risks: None
problem: When the tracing of the H.323 was changed while a call was up, a restart happened the next time a message was received for this call.<br/><br/>solution: Bug fixed, which caused writing into the wrong object<br/><br/>files: h323sig.cpp<br/><br/>products: all<br/><br/>risks: None
   
=== Bad URI parameter "epid=(NULL)" in INVITE ===
{|
|Status
|<font><font color="green">Closed</font></font>
|-
|Id
|[http://mantis.innovaphone.com/view.php?id=36611 36611]
|}
problem: Bad URI parameter "epid=(NULL)" in INVITE <br/><br/>solution: no epid parameter when interface is not registered<br/><br/>files: sip.cpp<br/><br/>products: All products with PBX or GATEWAY<br/><br/>risks: no risk
      
      
=== Obtain license from master did not work on standby PBX ===
=== Obtain license from master did not work on standby PBX ===
Line 1,573: Line 1,584:
problem: Some ISDN public switches seem to have a problem with calls rejected using a DISC message.<br/><br/>solution: Interop option added to use REL instead<br/><br/>files: q931.cpp, q931.h, te_tbl.tbl, isdn_interop.xsl<br/><br/>products: All with ISDN interfaces<br/><br/>risk: No real risk, since behaviour is changed only if option checked
problem: Some ISDN public switches seem to have a problem with calls rejected using a DISC message.<br/><br/>solution: Interop option added to use REL instead<br/><br/>files: q931.cpp, q931.h, te_tbl.tbl, isdn_interop.xsl<br/><br/>products: All with ISDN interfaces<br/><br/>risk: No real risk, since behaviour is changed only if option checked
      
      
=== PBX Routing to a object without Node/PBX not possible from Slave to Master ===
=== SIP/TCP Response not always been sent through connection of incoming request ===


{|
{|
Line 1,580: Line 1,591:
|-
|-
|Id
|Id
|[http://mantis.innovaphone.com/view.php?id=36648 36648]
|[http://mantis.innovaphone.com/view.php?id=36631 36631]
|}
|}
problem: If a PBX object without Node and PBX is configured, it should be possible to call this object on a given PBX by dialing the Node Prefix of this PBX and the Number of the object. This was not possible from a slave to a master.<br/><br/>solution: Routing fixed<br/><br/>files: pbx.cpp<br/><br/>products: all with PBX<br/><br/>risks: Possible collateral damage should be limited to objects without node/pbx
problem: If a remote SIP/TCP device uses an inbound TCP connection on its side to send a request, the innovaphone opened a new outbound connection for the response.<br/><br/>solution: Keep connection in context of server transaction in order to send the response on the same connection no matter if inbound or outbound<br/><br/>files: siptrans.cpp, siptrans.h<br/><br/>products: All products<br/><br/>risks: other transport problems with SIP/TCP and SIP/TLS
      
      
=== PBX-SOAP UserRedirect call routing did not work for Users not in root-node together with escapes ===
=== PBX Routing to a object without Node/PBX not possible from Slave to Master ===


{|
{|
Line 1,591: Line 1,602:
|-
|-
|Id
|Id
|[http://mantis.innovaphone.com/view.php?id=36661 36661]
|[http://mantis.innovaphone.com/view.php?id=36648 36648]
|}
|}
problem: If a call was transfered by SOAP/TAPI to a destination containing escape prefixes, the escape was not removed as it should<br/><br/>solution: Routing fixed<br/><br/>files: pbx.cpp<br/><br/>products: All products with PBX<br/><br/>risks: Collateral damage in the context of PBX call routing
problem: If a PBX object without Node and PBX is configured, it should be possible to call this object on a given PBX by dialing the Node Prefix of this PBX and the Number of the object. This was not possible from a slave to a master.<br/><br/>solution: Routing fixed<br/><br/>files: pbx.cpp<br/><br/>products: all with PBX<br/><br/>risks: Possible collateral damage should be limited to objects without node/pbx
      
      
=== Trap on special call disconnect collisions for ISDN-ISDN calls ===
=== Wrong or duplicate MWI interrogation ===


{|
{|
Line 1,602: Line 1,613:
|-
|-
|Id
|Id
|[http://mantis.innovaphone.com/view.php?id=36772 36772]
|[http://mantis.innovaphone.com/view.php?id=36652 36652]
|}
|}
problem: A trap could happen if the incoming call was disconnected before the outgoing channel was initialized<br/><br/>solution: Check for this situation implemented<br/><br/>files: media.cpp medialib.h<br/><br/>products: all<br/><br/>risks: low risk of collateral damage in the area of channel connect/disconnect
Problem: MWI interrogation is not enabled, but interrogation is sent, or MWI interrogation is enabled and interrogation is sent duplicate.<br/><br/>Solution: Implementation fixed.<br/><br/>Files: dtmffty.cpp.<br/><br/>Products affected: All dect devices.<br/><br/>Risk: Minimal.
      
      
=== PBX error log for external call transfer attempt, which is not allowed ===
=== Media negotiation problem at OCS ===


{|
{|
Line 1,613: Line 1,624:
|-
|-
|Id
|Id
|[http://mantis.innovaphone.com/view.php?id=36818 36818]
|[http://mantis.innovaphone.com/view.php?id=36654 36654]
|}
|}
problem: If external transfer is not allowed but user still try, the admin must be made aware, to either enable the external call transfer or to educate the users.<br/><br/>solution: Error log implemented<br/><br/>files: pbx.cpp, pbx.h, pbx_api.h<br/><br/>products: All with PBX<br/><br/>risks: very small risk of collateral damage
problem: Mediation server rejects our reINVITE with 491<br/><br/>solution: Avoid sending reINVITE when Media-Relay and Exclusive-Coder is configured<br/><br/>files: sip.cpp<br/><br/>products: All gateway products<br/><br/>risks: causing other media negotiation problems
      
      
=== H.323 compatibility issue with h245-after-conn ===
=== IP4001 minifirmware sometimes doesnt start ===


{|
{|
Line 1,624: Line 1,635:
|-
|-
|Id
|Id
|[http://mantis.innovaphone.com/view.php?id=36821 36821]
|[http://mantis.innovaphone.com/view.php?id=36658 36658]
|}
|}
problem: Some H.323 implementations require tunneled H.245 messages to be sent in Facility messages only, not in other signaling messages like Connect<br/><br/>solution: The h245-after-connect option together with H.245 tunneling enforces this behaviour now<br/><br/>files: h323sig.cpp<br/><br/>products: all<br/><br/>risks: very low risk of collateral damage. New code executed only if h245-after-connect option selected
problem: unused IRQ are not disabled<br/><br/>solution: disable unused IRQs<br/><br/>files: ip4001.cpp<br/><br/>products: ip4001<br/><br/>risks: none
      
      
=== Trap because of NULL pointer access sometimes if outgoing call via Trunk Object fails ===
=== PBX-SOAP UserRedirect call routing did not work for Users not in root-node together with escapes ===


{|
{|
Line 1,635: Line 1,646:
|-
|-
|Id
|Id
|[http://mantis.innovaphone.com/view.php?id=37121 37121]
|[http://mantis.innovaphone.com/view.php?id=36661 36661]
|}
|}
problem: If an outgoing call via a trunk object fails due to no channels available or another cause which would result in a retry on another interface, with DISC message (no REL which is normal), sometimes a trap can happen because of a NULL pointer access.<br/><br/>solution: Check for this condition added<br/><br/>files: pbx.cpp<br/><br/>products: all with PBX<br/><br/>risks: No risk, new code is executed only if we had a trap without the change
problem: If a call was transfered by SOAP/TAPI to a destination containing escape prefixes, the escape was not removed as it should<br/><br/>solution: Routing fixed<br/><br/>files: pbx.cpp<br/><br/>products: All products with PBX<br/><br/>risks: Collateral damage in the context of PBX call routing
      
      
=== PBX: Routing to objects which conflict with escapes did not work anymore (did work in v6) ===
=== Soft conversion via 'drive/CX0' also started after read-operation ===


{|
{|
Line 1,646: Line 1,657:
|-
|-
|Id
|Id
|[http://mantis.innovaphone.com/view.php?id=37134 37134]
|[http://mantis.innovaphone.com/view.php?id=36688 36688]
|}
|}
problem: For a call which is routed back to the calling node, because the destination is not found, it should be checked if there is an object with the same number as an escape first, before sending the call to the node-extern. This was already implemented in v6 and removed by accident.<br/><br/>solution: Implementation from v6 put back<br/><br/>files: pbx.cpp<br/><br/>products: All products with PBX<br/><br/>risks: Code possibly not removed by accident but for some reason
problem: Soft conversion via 'drive/CX0' also started after read-operation. Ought to start only after write-operation.<br/><br/>solution: Fix to be offered with v7 hf2.<br/><br/>files: fp_xcode.cpp<br/><br/>products: All products with CF card<br/><br/>risks: none
      
      
=== PBX: CFNR on 'Gateway' Objects executed if remote party did not answer ===
=== syslog not available in viewer mode ===


{|
{|
Line 1,657: Line 1,668:
|-
|-
|Id
|Id
|[http://mantis.innovaphone.com/view.php?id=37169 37169]
|[http://mantis.innovaphone.com/view.php?id=36691 36691]
|}
|}
problem: A CFNR configured on a Gateway type object (Gateway, Trunk, ...) was executed if remote party did not answer. There is no real application for such a behaviour<br/><br/>solution: Execute CFNR only if there is a local problem (e.g. local ISDN interface does not respond)<br/><br/>files: pbx.cpp<br/><br/>products: all products with PBX<br/><br/>risks: Could be there is an applikation for the old behaviour we did not think of
problem: syslog not available in viewer mode (while trace is available)<br/><br/>solution: give access to syslog in viewer mode<br/><br/>files: log.xsl<br/><br/>products: All products<br/><br/>risks: no risk
      
      
=== Workaround for OEM H.323 bug (OLC before MSD) ===
=== alerting calls cannot be picked from trunk object when a connected call is parked at the trunk user ===


{|
{|
Line 1,668: Line 1,679:
|-
|-
|Id
|Id
|[http://mantis.innovaphone.com/view.php?id=37640 37640]
|[http://mantis.innovaphone.com/view.php?id=36694 36694]
|}
|}
problem: An OEM equipment sends OLC before the Master Slave Determination is complete<br/><br/>solution: Handle OLC even if Master Slave Determination is not complete<br/><br/>files: h323ch.cpp<br/><br/>products: all<br/><br/>risks: Minimal, unlikely that other equipment is sending OLC before MSD an expect it is ignored
Problem: a phone was configured with 2 park keys addressing different park positions at the same object. if an alerting call was picked up by pressing the corresponding key and parked back by pressing this key again an alerting call indicated at the other key could not picked up thereafter.<br/><br/>Products affected: PBX<br/><br/>Files: pbx.cpp<br/><br/>Risk: seems to be low but needs test
''Status:''
Hallo Guntram,<br/>in pbx::pick_req() wird der pseudo user ignoriert wenn pbx_user::parked nicht leer ist. Ich hab in V8 mal eingebaut daß pbx_user::pseudo->pickup() aufgerufen wird wenn in pbx_user::parked nichts gefunden wurde. Das scheint zu helfen. Kannst Du mal schauen ob das OK ist?<br/>:-) joachim
      
      
=== H.323: Duplicate TerminalCapabilitySetAck message sent sometimes ===
=== no ringing voltage ===


{|
{|
Line 1,679: Line 1,692:
|-
|-
|Id
|Id
|[http://mantis.innovaphone.com/view.php?id=37658 37658]
|[http://mantis.innovaphone.com/view.php?id=36700 36700]
|}
|}
problem: In some states 2 TerminalCapabilitySetAck messages were sent in response to a single TerminalCapabilitySet message. This can create problems with some third party equipment<br/><br/>solution: Only send a single TerminalCapabilitySet message<br/><br/>files: h323ch.cpp<br/><br/>products: all<br/><br/>risks: Minimal
problem: After few days uptime ringing may fail until box will be reset.<br/><br/>solution: change some initial register values<br/><br/>files: si3241.cpp, si3241.h<br/><br/>products: ip28<br/><br/>risks: none
      
      
=== PBX: CFNR at user should have precedence over "No Answer" Destination at Trunk ===
=== clip retry ===


{|
{|
Line 1,690: Line 1,703:
|-
|-
|Id
|Id
|[http://mantis.innovaphone.com/view.php?id=37677 37677]
|[http://mantis.innovaphone.com/view.php?id=36702 36702]
|}
|}
problem: It is confusing that a CFNR set at a user is not executed because of a No Answer destination configured at the trunk object.<br/><br/>solution: The CFNR now has precedence over No Answer at Trunk<br/><br/>files: pbx.cpp<br/><br/>products: all with PBX<br/><br/>risks: It could be that some customers expect explicitly the old behaviour, but this is unlikely
problem: clip reception not assured<br/><br/>solution: sent more than once<br/><br/>files: ab_sig.cpp si3241.cpp<br/><br/>products: ip28<br/><br/>risks: very low
      
      
=== One way media when doing multiple transfer together with Media-Relay ===
=== sprintf from standard library pulled by ip6000 ethernet lib ===


{|
{|
Line 1,701: Line 1,714:
|-
|-
|Id
|Id
|[http://mantis.innovaphone.com/view.php?id=37680 37680]
|[http://mantis.innovaphone.com/view.php?id=36707 36707]
|}
|}
problem: When a call which was transfered to another PBX with Media-Relay on both PBXs and then another Transfer was done on the remote PBX, there was one-way media. This was due to a H.323 media negotiation bug which could result in one/no-way media with many scenarions as long as Media-Relay is involved<br/><br/>solution: Media Negotiation bug fixed<br/><br/>files: h323ch.cpp, h323ch.h, h323sig.cpp<br/><br/>products: all<br/><br/>risks: There is a small risk of collateral damage
Problem: the file IxEthDBUtil.c uses sprintf instead of _sprintf and thus pulls sprintf and a bulk of needless code from libc (syscall stubs, malloc, floating point functions ..., more than 20 kB).<br/><br/>Solution: use _sprintf<br/><br/>Products affected: IP6000/IP2000<br/><br/>Files: IxEthDBUtil.c<br/><br/>Risk: None
      
      
=== Int/Ext added to CF Filter config to allow config of call-forward for internal/external calls only ===
=== after bootcode update and softreset the box enters TFTP mode ===


{|
{|
Line 1,712: Line 1,725:
|-
|-
|Id
|Id
|[http://mantis.innovaphone.com/view.php?id=37706 37706]
|[http://mantis.innovaphone.com/view.php?id=36708 36708]
|}
|}
problem: Call Forward for Internal/External calls only was hard to configured (esspecially automatically with TAPI), because unclear which Trunk prefixes to be used for filter<br/><br/>solution: Filter option added to check for Internal/External calls expicility. The private numbering plan is used to determine if a call is Internal<br/><br/>files: pbx_admin.cpp, pbx_edit_cfs.xsl, pbx.cpp, pbx.h, ep_lib.cpp<br/><br/>products: all with PBX<br/><br/>risks: Small risk of collateral damage
problem: old tftp entry in DRAM is used<br/><br/>solution: adjust tftp entry, call cache_init<br/><br/>files: startup_ac460.s cache_ac460.s boot.h<br/><br/>products: ip800 ip1200 ip1201<br/><br/>risks: none
      
      
=== Media Negotiation Problem on SIP-H.323 calls with hold/retrieve ===
=== park function key extensions to provide line key functionality ===


{|
{|
Line 1,723: Line 1,736:
|-
|-
|Id
|Id
|[http://mantis.innovaphone.com/view.php?id=37726 37726]
|[http://mantis.innovaphone.com/view.php?id=36771 36771]
|}
|}
problem: On a SIP-H323 call, multiple hold/retrieve cycles could result in no media.<br/><br/>solution: Media Neg. fixed<br/><br/>files: h323ch.cpp<br/><br/>products: all<br/><br/>risks: Small risk of collateral damage
Problem: the park function key does provide the line key functionality as expected/preferred by some customers mainly in italy, france and the states<br/><br/>Solution: add two flags the the park function key<br/>1) Park Active Call before Unpark - when a call is unparked with such a key and the currently active call was unparked before with another park-key the active call is parked back to it's previous position.<br/>2) Automatic Connect after Unpark - when a call is unparked with such a key the call is automatically connected to the requesting phone. when parking a call with such a key the call is immediately removed from phone, no busy tone is played.   <br/><br/>Products affected: all phones<br/><br/>Files: phone_user_ui.cpp, phone_config.h, fkey_edit_park.xsl, app_reg.cpp, phone_config.cpp, app_fkey.cpp, app_call.cpp, app_ctl.h<br/><br/>Risk: Low, behaviour changed only if explicitely configured
      
      
=== Some OEM equipment only accepts one tunneled H.245 message per H.225 frame ===
=== Trap on special call disconnect collisions for ISDN-ISDN calls ===


{|
{|
Line 1,734: Line 1,747:
|-
|-
|Id
|Id
|[http://mantis.innovaphone.com/view.php?id=37744 37744]
|[http://mantis.innovaphone.com/view.php?id=36772 36772]
|}
|}
problem: An OEM equipment creates strange problems with multiple tunneled H.245 messages within a single H.225 PDU, and only Facility PDUs are allowed for tunneled H.245<br/><br/>solution: The option h245-after-conn results now in single H.245 sent in Facility PDUs<br/><br/>files: h323sig.cpp, h323sig.h<br/><br/>products: all<br/><br/>risks: very small risk of collateral damge. h245-after-conn is rarely needed and using seperate Facility for each H.245 should not create problems
problem: A trap could happen if the incoming call was disconnected before the outgoing channel was initialized<br/><br/>solution: Check for this situation implemented<br/><br/>files: media.cpp medialib.h<br/><br/>products: all<br/><br/>risks: low risk of collateral damage in the area of channel connect/disconnect
      
      
=== OEM specific MSD handling when doing media renegotiation ===
=== UART modem IRQ not serviced ===


{|
{|
Line 1,745: Line 1,758:
|-
|-
|Id
|Id
|[http://mantis.innovaphone.com/view.php?id=37790 37790]
|[http://mantis.innovaphone.com/view.php?id=36805 36805]
|}
|}
problem: OEM H.323 implementation gets confused when receiving a MasterSlaveDetermination message during slowstart media renegotiation<br/><br/>solution: Option to not send MSD in this case<br/><br/>files: signal.h, h323.h, h323sig.cpp, h323ch.cpp, h323ch.h, dectmaster.cpp<br/><br/>products: all<br/><br/>risks: Small risk of collateral damge. This special behaviour is truned on only for the OEM
problem: modem IRQ may cause continous interrupts<br/><br/>solution: read MSR register<br/><br/>files: uart_drv.cpp<br/><br/>products: all products with uart_drv (3000,4001,phone_inca,1200)<br/><br/>risks: none
      
      
=== OEM H.323 requirement to send saved INFO after receiving CONN ===
=== UART not part of IP4001 project ===


{|
{|
Line 1,756: Line 1,769:
|-
|-
|Id
|Id
|[http://mantis.innovaphone.com/view.php?id=37793 37793]
|[http://mantis.innovaphone.com/view.php?id=36806 36806]
|}
|}
problem: OEM equipment answers call with CONN right away and expects dialing info as keypad after CONN. Dialing info maybe get lost.<br/><br/>solution: Send saved dialing info after CONN<br/><br/>files: h323sig.cpp, h323_tbl.tbl<br/><br/>products: all<br/><br/>risks: Minimal risk of collateral damage
problem: used in the ascom ip4001 build<br/><br/>solution: add uart to ip4001 project, change uart to support 32bit uart access and the fifo mode used in ip4001<br/><br/>files: ip4001.vcproj uart_drv.cpp<br/><br/>products: ip4001 ip3000 ip1200 ip1201<br/><br/>risks: low
      
      
=== TLS client authentication for interoperability with OCS ===
=== IP4001 production test interface start procedure is unreliable ===


{|
{|
Line 1,767: Line 1,780:
|-
|-
|Id
|Id
|[http://mantis.innovaphone.com/view.php?id=36823 36823]
|[http://mantis.innovaphone.com/view.php?id=36807 36807]
|}
|}
problem: OCS uses TLS with mutual authentication. The current implementation does not fully support this.<br/><br/>solution: TLS client authentication implemented.<br/><br/>files: tls.cpp, tls.h, rsa.cpp<br/><br/>products: All<br/><br/>risks: very small risk of damage to the TLS state machine
problem: start procedure assumes that a  global variable is persistent over reset<br/><br/>solution: use config flags mechanism instead<br/><br/>files: ip4001.cpp, prodtestif_init.cpp<br/><br/>products: ip4001<br/><br/>risks: none
      
      
=== Soft conversion via 'drive/CX0' also started after read-operation ===
=== forward calling name identification on waiting queue during DTMF dialing ===


{|
{|
Line 1,778: Line 1,791:
|-
|-
|Id
|Id
|[http://mantis.innovaphone.com/view.php?id=36688 36688]
|[http://mantis.innovaphone.com/view.php?id=36811 36811]
|}
|}
problem: Soft conversion via 'drive/CX0' also started after read-operation. Ought to start only after write-operation.<br/><br/>solution: Fix to be offered with v7 hf2.<br/><br/>files: fp_xcode.cpp<br/><br/>products: All products with CF card<br/><br/>risks: none
problem: calling party's name identification was not forwarded by waiting queue after DTMF dialing<br/><br/>solution: forward received calling party's name identification<br/><br/>files: pbx_wait.cpp<br/><br/>products: All PBX waiting queues<br/><br/>risks: low risk
      
      
=== Password complexity ===
=== PBX error log for external call transfer attempt, which is not allowed ===


{|
{|
Line 1,789: Line 1,802:
|-
|-
|Id
|Id
|[http://mantis.innovaphone.com/view.php?id=36853 36853]
|[http://mantis.innovaphone.com/view.php?id=36818 36818]
|}
|}
Problem: Password complexity function doesn't recognize special characters.<br/><br/>Solution: Fixed.<br/><br/>Files: password.cpp, latin1.h.<br/><br/>Products affected: All devices.<br/><br/>Risk: Minimal.
problem: If external transfer is not allowed but user still try, the admin must be made aware, to either enable the external call transfer or to educate the users.<br/><br/>solution: Error log implemented<br/><br/>files: pbx.cpp, pbx.h, pbx_api.h<br/><br/>products: All with PBX<br/><br/>risks: very small risk of collateral damage
      
      
=== OEM specific registration handling if a trunk goes up ===
=== H.323 compatibility issue with h245-after-conn ===


{|
{|
Line 1,800: Line 1,813:
|-
|-
|Id
|Id
|[http://mantis.innovaphone.com/view.php?id=36435 36435]
|[http://mantis.innovaphone.com/view.php?id=36821 36821]
|}
|}
Problem: Reregistration of all users is missed if a trunk goes up.<br/><br/>Solution: Reregistration of users added.<br/><br/>Files: dectmaster.cpp.<br/><br/>Products affected: IP4001, IP1201.<br/><br/>Risk: Minimal.  
problem: Some H.323 implementations require tunneled H.245 messages to be sent in Facility messages only, not in other signaling messages like Connect<br/><br/>solution: The h245-after-connect option together with H.245 tunneling enforces this behaviour now<br/><br/>files: h323sig.cpp<br/><br/>products: all<br/><br/>risks: very low risk of collateral damage. New code executed only if h245-after-connect option selected
      
      
=== R-key usage after handover in alerting state ===
=== TLS client authentication for interoperability with OCS ===


{|
{|
Line 1,811: Line 1,824:
|-
|-
|Id
|Id
|[http://mantis.innovaphone.com/view.php?id=36465 36465]
|[http://mantis.innovaphone.com/view.php?id=36823 36823]
|}
|}
Problem: R-key usage is not possible if handover was made during alerting state.<br/><br/>Solution: Radio call state set command added.<br/><br/>Files: dectradio.cpp.<br/><br/>Products affected: All dect devices.<br/><br/>Risk: Minimal.
problem: OCS uses TLS with mutual authentication. The current implementation does not fully support this.<br/><br/>solution: TLS client authentication implemented.<br/><br/>files: tls.cpp, tls.h, rsa.cpp<br/><br/>products: All<br/><br/>risks: very small risk of damage to the TLS state machine
      
      
=== OEM specific infinite loop because of invalid pointer ===
=== Authentication name for SIP registration in DECT devices ===
 
{|
|Status
|<font><font color="green">Closed</font></font>
|-
|Id
|[http://mantis.innovaphone.com/view.php?id=36836 36836]
|}
Problem: Wrong copied user authentication name string for SIP registration.<br/><br/>Solution: Fixed.<br/><br/>Files: dectusers.cpp.<br/><br/>Products affected: All DECT devices.<br/><br/>Risk: Minimal.
   
=== pbx dtmf object can cause traps with disabled feature codes ===


{|
{|
Line 1,822: Line 1,846:
|-
|-
|Id
|Id
|[http://mantis.innovaphone.com/view.php?id=36467 36467]
|[http://mantis.innovaphone.com/view.php?id=36844 36844]
|}
|}
Problem: Infinite loop because of invalid pointer in endpoint location object.<br/><br/>Solution: Pointer update during endpoint update added.<br/><br/>Files: dectmaster.cpp.<br/><br/>Products affected: IP4001, IP1201.<br/><br/>Risk: Minimal.
Problem: if feature codes are disabled and enabled feature codes are called, a check for the disabled feature codes wasn't done, so a null pointer was given.<br/><br/>Solution: check for disabled feature codes<br/><br/>Files: pbx_dtmf.cpp<br/><br/>Products affected: all pbx devices<br/><br/>Risk: none
      
      
=== Wrong or duplicate MWI interrogation ===
=== Userpart of SIP-URIs not unescaped when parameter "user=phone" present ===


{|
{|
Line 1,833: Line 1,857:
|-
|-
|Id
|Id
|[http://mantis.innovaphone.com/view.php?id=36652 36652]
|[http://mantis.innovaphone.com/view.php?id=36847 36847]
|}
|}
Problem: MWI interrogation is not enabled, but interrogation is sent, or MWI interrogation is enabled and interrogation is sent duplicate.<br/><br/>Solution: Implementation fixed.<br/><br/>Files: dtmffty.cpp.<br/><br/>Products affected: All dect devices.<br/><br/>Risk: Minimal.
Problem: Userpart of SIP-URIs not unescaped when parameter "user=phone" present. May keep SIP telephones from using the "DTMF Features" object.<br/>E.g INVITE sip:%2367%23@innovaphone.de;user=phone SIP/2.0<br/><br/>Solution: Unescape userpart of SIP-URIs even when parameter "user=phone" is present.<br/><br/>Files: sipmsg.cpp<br/><br/>Products affected: all devices<br/><br/>Risk: none
      
      
=== Authentication name for SIP registration in DECT devices ===
=== Password complexity ===


{|
{|
Line 1,844: Line 1,868:
|-
|-
|Id
|Id
|[http://mantis.innovaphone.com/view.php?id=36836 36836]
|[http://mantis.innovaphone.com/view.php?id=36853 36853]
|}
|}
Problem: Wrong copied user authentication name string for SIP registration.<br/><br/>Solution: Fixed.<br/><br/>Files: dectusers.cpp.<br/><br/>Products affected: All DECT devices.<br/><br/>Risk: Minimal.
Problem: Password complexity function doesn't recognize special characters.<br/><br/>Solution: Fixed.<br/><br/>Files: password.cpp, latin1.h.<br/><br/>Products affected: All devices.<br/><br/>Risk: Minimal.
      
      
=== Dect frequency and other bases GUI page ===
=== Dect frequency and other bases GUI page ===
Line 1,892: Line 1,916:
Problem: Sort order of user list handling changes to ascending.<br/><br/>Solution: Sort order handling changed.<br/><br/>Files: dect_users_right.xsl, dect_users_left.xsl, dect_edit_user.xsl.<br/><br/>Products affected: IP1200.<br/><br/>Risk: Minimal.
Problem: Sort order of user list handling changes to ascending.<br/><br/>Solution: Sort order handling changed.<br/><br/>Files: dect_users_right.xsl, dect_users_left.xsl, dect_edit_user.xsl.<br/><br/>Products affected: IP1200.<br/><br/>Risk: Minimal.
      
      
=== OEM specific trunk location registration ===
=== DSP code update for IP6000/IP800 and related ===


{|
{|
Line 1,899: Line 1,923:
|-
|-
|Id
|Id
|[http://mantis.innovaphone.com/view.php?id=36990 36990]
|[http://mantis.innovaphone.com/view.php?id=36976 36976]
|}
|}
Problem: No location registration should be sent during call or handover.<br/><br/>Solution: Implementation changed.<br/><br/>Files: dectmaster.cpp.<br/><br/>Products affected: IP4001, IP1201.<br/><br/>Risk: Minimal.
problem: sometimes DSP fifo write fails after fax transmission<br/><br/>solution: use DSP code 560.10 with improved fax and voice packetizer 2.8, add debugcode to show events to the DSP, channelcontrolmode changed to packet mode ( as in V6 )<br/><br/>files: ac_dsp2.cpp ac_dsp2.h ac_dsp2.h ac48xcfg.h ac48xdef.h ac48xhi.c ac48xhi.h ac48xlo.c ac48xlo.h ac48xopt.h userdef.h dl48624_custom.c dl48624.c<br/><br/>products: ip800 ip1200 ip1201 ip4001 ip6000<br/><br/>risks: low
      
      
=== Dect GUI error message because of duplicate long name ===
=== IP6000 UI: PRI interface T1 options not hidden in E1 mode ===


{|
{|
Line 1,910: Line 1,934:
|-
|-
|Id
|Id
|[http://mantis.innovaphone.com/view.php?id=37016 37016]
|[http://mantis.innovaphone.com/view.php?id=36977 36977]
|}
|}
Problem: If a Dect user is edited and the new duplicate long name is entered, a wrong error message is displayed in the GUI.<br/><br/>Solution: An additional check for this case is added.<br/><br/>Files: dectusers.cpp.<br/><br/>Products affected: All devices.<br/><br/>Risk: Minimal.
problem: interface T1 options not hidden in E1 mode<br/><br/>solution: update xsl file<br/><br/>files: falc56_drv.xsl <br/>products: ip6000<br/><br/>risks: low
      
      
=== OEM specific cause code mapping ===
=== fix for ALARM flooding in SIP ===


{|
{|
Line 1,921: Line 1,945:
|-
|-
|Id
|Id
|[http://mantis.innovaphone.com/view.php?id=37051 37051]
|[http://mantis.innovaphone.com/view.php?id=36983 36983]
|}
|}
Problem: OEM specific cause code mapping specification has been changed.<br/><br/>Solution: Mapping changed.<br/><br/>Files: dectmaster.cpp.<br/><br/>Products affected: IP4001, IP1201.<br/><br/>Risk: Minimal.
problem: systems ALARM log was flooded by alarm "NAT discovery failed" (0x00070001)<br/><br/>solution: send this ALARM only once<br/><br/>files: sip.cpp siptrans.cpp siputil.h<br/><br/>products: All devices using SIP with STUN server<br/><br/>risks: low risk
      
      
=== OEM specific radio unregistration handling ===
=== OEM specific trunk location registration ===


{|
{|
Line 1,932: Line 1,956:
|-
|-
|Id
|Id
|[http://mantis.innovaphone.com/view.php?id=37220 37220]
|[http://mantis.innovaphone.com/view.php?id=36990 36990]
|}
|}
Problem: Infinite loop during OEM specific radio unregistration handling.<br/><br/>Solution: Implementation changed.<br/><br/>Files: dectmaster.cpp.<br/><br/>Products affected: IP4001, IP1201.<br/><br/>Risk: Minimal.
Problem: No location registration should be sent during call or handover.<br/><br/>Solution: Implementation changed.<br/><br/>Files: dectmaster.cpp.<br/><br/>Products affected: IP4001, IP1201.<br/><br/>Risk: Minimal.
      
      
=== Standby master reports missed radios delayed ===
=== hanging calls when SOAP call transfer fails when using SIP operator phone ===


{|
{|
Line 1,943: Line 1,967:
|-
|-
|Id
|Id
|[http://mantis.innovaphone.com/view.php?id=37279 37279]
|[http://mantis.innovaphone.com/view.php?id=37001 37001]
|}
|}
Problem: Standby master immediately reports all radios as missing when going to active mode.<br/><br/>Solution: Standby master checks missed radios delayed.<br/><br/>Files: dectmaster.cpp.<br/><br/>Products affected: All Dect devices.<br/><br/>Risk: Minimal.
problem: When SIP phone is used as operator phone and a transfer initiated by operator software (SOAP) fails, a call leg is not terminated by PBX<br/><br/>solution: release call leg on receipt of CT_INITIATE_RESULT<br/><br/>files: pbx_xml.cpp<br/><br/>products: All PBX devices<br/><br/>risks: low risk
      
      
=== OEM specific: sending signaling info messages not until gk connect message ===
=== Dect GUI error message because of duplicate long name ===


{|
{|
Line 1,954: Line 1,978:
|-
|-
|Id
|Id
|[http://mantis.innovaphone.com/view.php?id=37365 37365]
|[http://mantis.innovaphone.com/view.php?id=37016 37016]
|}
|}
Problem: Info messages should only be sent of connect message from PBX is received.<br/><br/>Solution: Implemented for OEM.<br/><br/>Files: dectmaster.h, dectmaster.cpp.<br/><br/>Products affected: IP4001, IP1201.<br/><br/>Risk: Minimal.
Problem: If a Dect user is edited and the new duplicate long name is entered, a wrong error message is displayed in the GUI.<br/><br/>Solution: An additional check for this case is added.<br/><br/>Files: dectusers.cpp.<br/><br/>Products affected: All devices.<br/><br/>Risk: Minimal.
      
      
=== OEM specific endpoint deleting ===
=== OEM specific cause code mapping ===


{|
{|
Line 1,965: Line 1,989:
|-
|-
|Id
|Id
|[http://mantis.innovaphone.com/view.php?id=37526 37526]
|[http://mantis.innovaphone.com/view.php?id=37051 37051]
|}
|}
Problem: Subscription in handset is deleted if PP is deleted in conflict situation. OEM specific.<br/><br/>Solution: Endpoint location cancel event is added before deleting the endpoint.<br/><br/>Files: dectmaster.h, dectmaster.cpp.<br/><br/>Products affected: IP4001, IP1201.<br/><br/>Risk: Minimal.
Problem: OEM specific cause code mapping specification has been changed.<br/><br/>Solution: Mapping changed.<br/><br/>Files: dectmaster.cpp.<br/><br/>Products affected: IP4001, IP1201.<br/><br/>Risk: Minimal.
      
      
=== Standby Mobility Master client registration status wrong ===
=== PSTN-&gt;Quickdial-Object-&gt;PSTN Calls May Fail ===


{|
{|
Line 1,976: Line 2,000:
|-
|-
|Id
|Id
|[http://mantis.innovaphone.com/view.php?id=37597 37597]
|[http://mantis.innovaphone.com/view.php?id=37106 37106]
|}
|}
Problem: Standby Mobility Master client registration status is not updated if primary returns and registration is closed. <br/><br/>Solution: Fixed.<br/><br/>Files: dectmobmaster.cpp.<br/><br/>Products affected: IP4001, IP1201.<br/><br/>Risk: Minimal.
Problem: Calls from the PSTN via a PBX Quickdial object into the PSTN may fail with cause="Error Recovery On Timer Expiry".<br/><br/>Solution: Quickdial object must proceed the incoming call.<br/><br/>files: pbx_qdial.cpp<br/><br/>products: All PBX devices<br/><br/>risks: none
      
      
=== OEM specific available coders ===
=== On GW interfaces w/o registration the config options "Domain" and "Proxy" did not work properly ===


{|
{|
Line 1,987: Line 2,011:
|-
|-
|Id
|Id
|[http://mantis.innovaphone.com/view.php?id=37685 37685]
|[http://mantis.innovaphone.com/view.php?id=37112 37112]
|}
|}
Problem: Coder G726-32 is not supported by OEM PBX and should not be shown.<br/><br/>Solution: Coder G726-32 is not shown.<br/><br/>Files: dectusers_if.h, dectusers.h, dectmaster.cpp.<br/><br/>Products affected: IP4001, IP1201.<br/><br/>Risk: Minimal.
Problem: On GW interfaces w/o registration the config options "Domain" and "Proxy" did not work properly<br/><br/>Solution: Using "Domain" to build SIP-URIs. Use (optional) "Proxy" to send SIP requests to.<br/><br/>Files: sip.cpp.<br/><br/>Products affected: All Gateway devices with No-Reg-SIP-IFs<br/><br/>Risk: Unexpected problems with no-reg or enum interfaces
      
      
=== OEM specific call release ===
=== Trap because of NULL pointer access sometimes if outgoing call via Trunk Object fails ===


{|
{|
Line 1,998: Line 2,022:
|-
|-
|Id
|Id
|[http://mantis.innovaphone.com/view.php?id=37687 37687]
|[http://mantis.innovaphone.com/view.php?id=37121 37121]
|}
|}
Problem: Call is not disconnected in OEM specific case.<br/><br/>Solution: Release event handling fixed.<br/><br/>Files: dtmffty.cpp.<br/><br/>Products affected: IP4001, IP1201.<br/><br/>Risk: Minimal.
problem: If an outgoing call via a trunk object fails due to no channels available or another cause which would result in a retry on another interface, with DISC message (no REL which is normal), sometimes a trap can happen because of a NULL pointer access.<br/><br/>solution: Check for this condition added<br/><br/>files: pbx.cpp<br/><br/>products: all with PBX<br/><br/>risks: No risk, new code is executed only if we had a trap without the change
      
      
=== OEM specific Suppl. Service MWI ===
=== Potential trap on outbound ENUM SIP calls ===


{|
{|
Line 2,009: Line 2,033:
|-
|-
|Id
|Id
|[http://mantis.innovaphone.com/view.php?id=37688 37688]
|[http://mantis.innovaphone.com/view.php?id=37130 37130]
|}
|}
Problem: OEM specific Suppl. Service MWI doesn't work and default configuration is wrong.<br/><br/>Solution: Implementation and configuration fixed.<br/><br/>Files: dectfty.xsl (oem), dtmffty.cpp.<br/><br/>Products affected: IP4001, IP1201.<br/><br/>Risk: Minimal.
Problem: On ENUM/SIP interfaces a trap may occur if DNS resolving runs into timeout.<br/><br/>Solution: Check signaling state before handling media-info and faciliies.<br/><br/>Files: sip.cpp<br/><br/>Products affected: All Gateway devices with ENUM-SIP-IFs<br/><br/>Risk: Minimal.
      
      
=== OEM specific sig media info messages filter ===
=== PBX: Routing to objects which conflict with escapes did not work anymore (did work in v6) ===


{|
{|
Line 2,020: Line 2,044:
|-
|-
|Id
|Id
|[http://mantis.innovaphone.com/view.php?id=37689 37689]
|[http://mantis.innovaphone.com/view.php?id=37134 37134]
|}
|}
Problem: OEM specific PBX doesn't support sig media info messages which should be filtered.<br/><br/>Solution: Sig media info messages are filtered.<br/><br/>Files: dectmaster.cpp.<br/><br/>Products affected: IP4001, IP1201.<br/><br/>Risk: Minimal.
problem: For a call which is routed back to the calling node, because the destination is not found, it should be checked if there is an object with the same number as an escape first, before sending the call to the node-extern. This was already implemented in v6 and removed by accident.<br/><br/>solution: Implementation from v6 put back<br/><br/>files: pbx.cpp<br/><br/>products: All products with PBX<br/><br/>risks: Code possibly not removed by accident but for some reason
      
      
=== hide option in v7 hides more than in v6, user and phone settings as well ===
=== hide option in v7 hides more than in v6, user and phone settings as well ===
Line 2,035: Line 2,059:
problem: hide option in v7 hides more than in v6, user and phone settings as well. so user configuration is not reachable any more. now there is a difference between user and admin config hiding. one can either hide only the admin submenu (as in v6 - protect the phone from being misconfigured by the user and loose registration or IP settings) or hide all configuration menus (as in v7 - for a public phone e.g., allowing only basic functionality with noting to configure)<br/><br/>solution: hide now interpreted as "hide complete", added another hide option which only "hides administration"<br/><br/>files: app/app_gui.cpp phone/admin/phone_admin_ui.* phone/user/phone_protect.xsl phone/user/phone_user_config.cpp phone/app/app_gui.cpp<br/><br/>products: all phones<br/><br/>risks:nome<br/>
problem: hide option in v7 hides more than in v6, user and phone settings as well. so user configuration is not reachable any more. now there is a difference between user and admin config hiding. one can either hide only the admin submenu (as in v6 - protect the phone from being misconfigured by the user and loose registration or IP settings) or hide all configuration menus (as in v7 - for a public phone e.g., allowing only basic functionality with noting to configure)<br/><br/>solution: hide now interpreted as "hide complete", added another hide option which only "hides administration"<br/><br/>files: app/app_gui.cpp phone/admin/phone_admin_ui.* phone/user/phone_protect.xsl phone/user/phone_user_config.cpp phone/app/app_gui.cpp<br/><br/>products: all phones<br/><br/>risks:nome<br/>
      
      
=== syslog not available in viewer mode ===
=== evaluation of #b&lt;num&gt; in the url parameter of "mod cmd UP0 scfg" overrides the character following &lt;num&gt; ===


{|
{|
Line 2,042: Line 2,066:
|-
|-
|Id
|Id
|[http://mantis.innovaphone.com/view.php?id=36691 36691]
|[http://mantis.innovaphone.com/view.php?id=37162 37162]
|}
|}
problem: syslog not available in viewer mode (while trace is available)<br/><br/>solution: give access to syslog in viewer mode<br/><br/>files: log.xsl<br/><br/>products: All products<br/><br/>risks: no risk
Problem: file-#b5.txt is evaluated for example to file-0txt (dot missing) <br/><br/>Solution: fix it<br/><br/>Products affected: all<br/><br/>Files: update.cpp<br/><br/>Risk: none
      
      
=== DSP code update for IP6000/IP800 and related ===
=== PBX: CFNR on 'Gateway' Objects executed if remote party did not answer ===


{|
{|
Line 2,053: Line 2,077:
|-
|-
|Id
|Id
|[http://mantis.innovaphone.com/view.php?id=36976 36976]
|[http://mantis.innovaphone.com/view.php?id=37169 37169]
|}
|}
problem: sometimes DSP fifo write fails after fax transmission<br/><br/>solution: use DSP code 560.10 with improved fax and voice packetizer 2.8, add debugcode to show events to the DSP, channelcontrolmode changed to packet mode ( as in V6 )<br/><br/>files: ac_dsp2.cpp ac_dsp2.h ac_dsp2.h ac48xcfg.h ac48xdef.h ac48xhi.c ac48xhi.h ac48xlo.c ac48xlo.h ac48xopt.h userdef.h dl48624_custom.c dl48624.c<br/><br/>products: ip800 ip1200 ip1201 ip4001 ip6000<br/><br/>risks: low
problem: A CFNR configured on a Gateway type object (Gateway, Trunk, ...) was executed if remote party did not answer. There is no real application for such a behaviour<br/><br/>solution: Execute CFNR only if there is a local problem (e.g. local ISDN interface does not respond)<br/><br/>files: pbx.cpp<br/><br/>products: all products with PBX<br/><br/>risks: Could be there is an applikation for the old behaviour we did not think of
      
      
=== forward calling name identification on waiting queue during DTMF dialing ===
=== H.450 returnError for callTransferInitiate not implemented ===


{|
{|
Line 2,064: Line 2,088:
|-
|-
|Id
|Id
|[http://mantis.innovaphone.com/view.php?id=36811 36811]
|[http://mantis.innovaphone.com/view.php?id=37178 37178]
|}
|}
problem: calling party's name identification was not forwarded by waiting queue after DTMF dialing<br/><br/>solution: forward received calling party's name identification<br/><br/>files: pbx_wait.cpp<br/><br/>products: All PBX waiting queues<br/><br/>risks: low risk
Problem: H.450 returnError for callTransferInitiate not implemented<br/><br/>Solution: implemented<br/><br/>Files: h450.cpp<br/><br/>Products affected: All devices<br/><br/>Risk: Minimal
      
      
=== UART modem IRQ not serviced ===
=== OEM specific radio unregistration handling ===


{|
{|
Line 2,075: Line 2,099:
|-
|-
|Id
|Id
|[http://mantis.innovaphone.com/view.php?id=36805 36805]
|[http://mantis.innovaphone.com/view.php?id=37220 37220]
|}
|}
problem: modem IRQ may cause continous interrupts<br/><br/>solution: read MSR register<br/><br/>files: uart_drv.cpp<br/><br/>products: all products with uart_drv (3000,4001,phone_inca,1200)<br/><br/>risks: none
Problem: Infinite loop during OEM specific radio unregistration handling.<br/><br/>Solution: Implementation changed.<br/><br/>Files: dectmaster.cpp.<br/><br/>Products affected: IP4001, IP1201.<br/><br/>Risk: Minimal.
      
      
=== UART not part of IP4001 project ===
=== Standby master reports missed radios delayed ===


{|
{|
Line 2,086: Line 2,110:
|-
|-
|Id
|Id
|[http://mantis.innovaphone.com/view.php?id=36806 36806]
|[http://mantis.innovaphone.com/view.php?id=37279 37279]
|}
|}
problem: used in the ascom ip4001 build<br/><br/>solution: add uart to ip4001 project, change uart to support 32bit uart access and the fifo mode used in ip4001<br/><br/>files: ip4001.vcproj uart_drv.cpp<br/><br/>products: ip4001 ip3000 ip1200 ip1201<br/><br/>risks: low
Problem: Standby master immediately reports all radios as missing when going to active mode.<br/><br/>Solution: Standby master checks missed radios delayed.<br/><br/>Files: dectmaster.cpp.<br/><br/>Products affected: All Dect devices.<br/><br/>Risk: Minimal.
      
      
=== IP4001 production test interface start procedure is unreliable ===
=== Calls from registered devices were rejected ===


{|
{|
Line 2,097: Line 2,121:
|-
|-
|Id
|Id
|[http://mantis.innovaphone.com/view.php?id=36807 36807]
|[http://mantis.innovaphone.com/view.php?id=37326 37326]
|}
|}
problem: start procedure assumes that a  global variable is persistent over reset<br/><br/>solution: use config flags mechanism instead<br/><br/>files: ip4001.cpp, prodtestif_init.cpp<br/><br/>products: ip4001<br/><br/>risks: none
problem: Calls from registered devices were rejected if the Contact-URI did not match the Contact-URI of the REGISTER<br/><br/>solution: Use 407 to get authorization header and do registration lookup by authorization name<br/><br/>files: siptrans.cpp<br/><br/>products: All PBX and Gateways using SIP<br/><br/>risks: low: sending SIP messages to wrong remote address/port
      
      
=== IP6000 UI: PRI interface T1 options not hidden in E1 mode ===
=== SIP calls were rejected with 403 in case the Request-URI did not match the registered Contact-URI ===


{|
{|
Line 2,108: Line 2,132:
|-
|-
|Id
|Id
|[http://mantis.innovaphone.com/view.php?id=36977 36977]
|[http://mantis.innovaphone.com/view.php?id=37327 37327]
|}
|}
problem: interface T1 options not hidden in E1 mode<br/><br/>solution: update xsl file<br/><br/>files: falc56_drv.xsl <br/>products: ip6000<br/><br/>risks: low
problem: SIP calls were rejected with 403 in case the Request-URI did not match the registered Contact-URI (interop with Nortel CS1000 SIP GW)<br/><br/>solution: no check of Request-URI against registered Contact-URI on SIPx interfaces<br/><br/>files: siptrans.cpp<br/><br/>products: All gateway devices using SIPx to register remotely<br/><br/>risks: low risk
      
      
=== IP header of IGMP reports contains invalid Option field ===
=== Added SIP interop tweak "Enforce Sending Complete" ===


{|
{|
Line 2,119: Line 2,143:
|-
|-
|Id
|Id
|[http://mantis.innovaphone.com/view.php?id=36607 36607]
|[http://mantis.innovaphone.com/view.php?id=37334 37334]
|}
|}
Problem: The IP header option field of IGMP reports was badly initialized and did not contain the router alert option.  routers or switches may ignore the reports because of the missing option.  network maintenance tools may report an error for the wrong option field. <br/><br/>Solution: place router alert in ip_data[0-3], not behind it :-(<br/><br/>Products affected: all products<br/><br/>Files: ipproc.cpp<br/><br/>Risk: None
problem: in some gateway installations a "484 Address Incomplete" response is expected to cause release of incoming call instead of waiting for more dialing digits to come<br/><br/>solution: option "Enforce Sending Complete" to disable overlap dialing<br/><br/>files: sip.cpp relay_edit_voip.xsl relay_edit_sip.xsl<br/><br/>products: All gateway devices using SIP<br/><br/>risks: no risk
      
      
=== alerting calls cannot be picked from trunk object when a connected call is parked at the trunk user ===
=== OEM specific: sending signaling info messages not until gk connect message ===


{|
{|
Line 2,130: Line 2,154:
|-
|-
|Id
|Id
|[http://mantis.innovaphone.com/view.php?id=36694 36694]
|[http://mantis.innovaphone.com/view.php?id=37365 37365]
|}
|}
Problem: a phone was configured with 2 park keys addressing different park positions at the same object. if an alerting call was picked up by pressing the corresponding key and parked back by pressing this key again an alerting call indicated at the other key could not picked up thereafter.<br/><br/>Products affected: PBX<br/><br/>Files: pbx.cpp<br/><br/>Risk: seems to be low but needs test
Problem: Info messages should only be sent of connect message from PBX is received.<br/><br/>Solution: Implemented for OEM.<br/><br/>Files: dectmaster.h, dectmaster.cpp.<br/><br/>Products affected: IP4001, IP1201.<br/><br/>Risk: Minimal.
''Status:''
Hallo Guntram,<br/>in pbx::pick_req() wird der pseudo user ignoriert wenn pbx_user::parked nicht leer ist. Ich hab in V8 mal eingebaut daß pbx_user::pseudo->pickup() aufgerufen wird wenn in pbx_user::parked nichts gefunden wurde. Das scheint zu helfen. Kannst Du mal schauen ob das OK ist?<br/>:-) joachim
      
      
=== sprintf from standard library pulled by ip6000 ethernet lib ===
=== Problems registering at some SIP servers with parameter "user=phone" in Contact-URI in REGISTER request ===


{|
{|
Line 2,143: Line 2,165:
|-
|-
|Id
|Id
|[http://mantis.innovaphone.com/view.php?id=36707 36707]
|[http://mantis.innovaphone.com/view.php?id=37523 37523]
|}
|}
Problem: the file IxEthDBUtil.c uses sprintf instead of _sprintf and thus pulls sprintf and a bulk of needless code from libc (syscall stubs, malloc, floating point functions ..., more than 20 kB).<br/><br/>Solution: use _sprintf<br/><br/>Products affected: IP6000/IP2000<br/><br/>Files: IxEthDBUtil.c<br/><br/>Risk: None
problem: Problems registering at some SIP servers with parameter "user=phone" in Contact-URI in REGISTER request<br/><br/>solution: no parameter "user=phone" in Contact-URI in REGISTER request<br/><br/>files: sip.cpp<br/><br/>products: All devices<br/><br/>risks: risk
      
      
=== evaluation of #b&lt;num&gt; in the url parameter of "mod cmd UP0 scfg" overrides the character following &lt;num&gt; ===
=== OEM specific endpoint deleting ===


{|
{|
Line 2,154: Line 2,176:
|-
|-
|Id
|Id
|[http://mantis.innovaphone.com/view.php?id=37162 37162]
|[http://mantis.innovaphone.com/view.php?id=37526 37526]
|}
|}
Problem: file-#b5.txt is evaluated for example to file-0txt (dot missing) <br/><br/>Solution: fix it<br/><br/>Products affected: all<br/><br/>Files: update.cpp<br/><br/>Risk: none
Problem: Subscription in handset is deleted if PP is deleted in conflict situation. OEM specific.<br/><br/>Solution: Endpoint location cancel event is added before deleting the endpoint.<br/><br/>Files: dectmaster.h, dectmaster.cpp.<br/><br/>Products affected: IP4001, IP1201.<br/><br/>Risk: Minimal.
      
      
=== park function key extensions to provide line key functionality ===
=== Unintended monitoring of calling  party when automatic dialling is used ===


{|
{|
Line 2,165: Line 2,187:
|-
|-
|Id
|Id
|[http://mantis.innovaphone.com/view.php?id=36771 36771]
|[http://mantis.innovaphone.com/view.php?id=37586 37586]
|}
|}
Problem: the park function key does provide the line key functionality as expected/preferred by some customers mainly in italy, france and the states<br/><br/>Solution: add two flags the the park function key<br/>1) Park Active Call before Unpark - when a call is unparked with such a key and the currently active call was unparked before with another park-key the active call is parked back to it's previous position.<br/>2) Automatic Connect after Unpark - when a call is unparked with such a key the call is automatically connected to the requesting phone. when parking a call with such a key the call is immediately removed from phone, no busy tone is played.   <br/><br/>Products affected: all phones<br/><br/>Files: phone_user_ui.cpp, phone_config.h, fkey_edit_park.xsl, app_reg.cpp, phone_config.cpp, app_fkey.cpp, app_call.cpp, app_ctl.h<br/><br/>Risk: Low, behaviour changed only if explicitely configured
Problem: when an automatically dialled call is connected the micro is enabled on. if the calling party does not notice the short beep indicating the connection the called party may unintentionally monitor the calling party.<br/><br/>Solution: 1) PHONE_LOCK_AUTODIAL bit in fine grained function locking to disable the the autodial function and 2) "Administration/Phone/Preferences/Connect Autodial Call Mute" to disable the micro when the connection is established, the micro can be enabled via micro key then.<br/><br/>Products affected: all phones<br/><br/>Files: ?<br/><br/>Risk: none
''Status:''
checked in to 7.00, 08-70300, 8.00<br/><br/>new: #37586: Unintended monitoring of calling party when an automatically redialled call is connected can be prevented now by either disabling automatic redial (fine grained function locking) or by the checkmark "Administration/Phone/Preferences/Connect Automatically Redialled Call with Microphone Switched Off" (equivalent to "config add PHONE APP /redial-mute")<br/>
      
      
=== Unintended monitoring of calling  party when automatic dialling is used ===
=== Hidden config option /remote-domain-in-from ===


{|
{|
Line 2,176: Line 2,200:
|-
|-
|Id
|Id
|[http://mantis.innovaphone.com/view.php?id=37586 37586]
|[http://mantis.innovaphone.com/view.php?id=37594 37594]
|}
|}
Problem: when an automatically dialled call is connected the micro is enabled on. if the calling party does not notice the short beep indicating the connection the called party may unintentionally monitor the calling party.<br/><br/>Solution: 1) PHONE_LOCK_AUTODIAL bit in fine grained function locking to disable the the autodial function and 2) "Administration/Phone/Preferences/Connect Autodial Call Mute" to disable the micro when the connection is established, the micro can be enabled via micro key then.<br/><br/>Products affected: all phones<br/><br/>Files: ?<br/><br/>Risk: none
problem: some SIP proxys expect their domain name in From-URI (unregistered interfaces only)<br/><br/>solution: config option to use remote instead of local domain<br/><br/>files: sip.cpp<br/><br/>products: All gateway devices<br/><br/>risks: no risk
''Status:''
checked in to 7.00, 08-70300, 8.00<br/><br/>new: #37586: Unintended monitoring of calling party when an automatically redialled call is connected can be prevented now by either disabling automatic redial (fine grained function locking) or by the checkmark "Administration/Phone/Preferences/Connect Automatically Redialled Call with Microphone Switched Off" (equivalent to "config add PHONE APP /redial-mute")<br/>
      
      
=== PSTN-&gt;Quickdial-Object-&gt;PSTN Calls May Fail ===
=== Switching back from MOH did not work sometimes ===


{|
{|
Line 2,189: Line 2,211:
|-
|-
|Id
|Id
|[http://mantis.innovaphone.com/view.php?id=37106 37106]
|[http://mantis.innovaphone.com/view.php?id=37596 37596]
|}
|}
Problem: Calls from the PSTN via a PBX Quickdial object into the PSTN may fail with cause="Error Recovery On Timer Expiry".<br/><br/>Solution: Quickdial object must proceed the incoming call.<br/><br/>files: pbx_qdial.cpp<br/><br/>products: All PBX devices<br/><br/>risks: none
problem: No media after switching back from MOH<br/><br/>solution: fix media negotiation<br/><br/>files: sip.cpp<br/><br/>products: All devices using SIP<br/><br/>risks: unexpected problems with media negotiation
      
      
=== hanging calls when SOAP call transfer fails when using SIP operator phone ===
=== Standby Mobility Master client registration status wrong ===


{|
{|
Line 2,200: Line 2,222:
|-
|-
|Id
|Id
|[http://mantis.innovaphone.com/view.php?id=37001 37001]
|[http://mantis.innovaphone.com/view.php?id=37597 37597]
|}
|}
problem: When SIP phone is used as operator phone and a transfer initiated by operator software (SOAP) fails, a call leg is not terminated by PBX<br/><br/>solution: release call leg on receipt of CT_INITIATE_RESULT<br/><br/>files: pbx_xml.cpp<br/><br/>products: All PBX devices<br/><br/>risks: low risk
Problem: Standby Mobility Master client registration status is not updated if primary returns and registration is closed. <br/><br/>Solution: Fixed.<br/><br/>Files: dectmobmaster.cpp.<br/><br/>Products affected: IP4001, IP1201.<br/><br/>Risk: Minimal.
      
      
=== H.450 returnError for callTransferInitiate not implemented ===
=== Workaround for OEM H.323 bug (OLC before MSD) ===


{|
{|
Line 2,211: Line 2,233:
|-
|-
|Id
|Id
|[http://mantis.innovaphone.com/view.php?id=37178 37178]
|[http://mantis.innovaphone.com/view.php?id=37640 37640]
|}
|}
Problem: H.450 returnError for callTransferInitiate not implemented<br/><br/>Solution: implemented<br/><br/>Files: h450.cpp<br/><br/>Products affected: All devices<br/><br/>Risk: Minimal
problem: An OEM equipment sends OLC before the Master Slave Determination is complete<br/><br/>solution: Handle OLC even if Master Slave Determination is not complete<br/><br/>files: h323ch.cpp<br/><br/>products: all<br/><br/>risks: Minimal, unlikely that other equipment is sending OLC before MSD an expect it is ignored
      
      
=== Added SIP interop tweak "Enforce Sending Complete" ===
=== Name Identification in Diverting Info ===


{|
{|
Line 2,222: Line 2,244:
|-
|-
|Id
|Id
|[http://mantis.innovaphone.com/view.php?id=37334 37334]
|[http://mantis.innovaphone.com/view.php?id=37643 37643]
|}
|}
problem: in some gateway installations a "484 Address Incomplete" response is expected to cause release of incoming call instead of waiting for more dialing digits to come<br/><br/>solution: option "Enforce Sending Complete" to disable overlap dialing<br/><br/>files: sip.cpp relay_edit_voip.xsl relay_edit_sip.xsl<br/><br/>products: All gateway devices using SIP<br/><br/>risks: no risk  
problem: Diverting party's name identification not available.<br/><br/>solution: Provide diverting party's name identification in FTY_DIVERTING_LEG2.<br/><br/>files: fty.* sip.* sipfty.cpp h450.cpp pbx.cpp<br/><br/>products: All devices<br/><br/>risks: low risk  
      
      
=== Name Identification in Diverting Info ===
=== H.323: Duplicate TerminalCapabilitySetAck message sent sometimes ===


{|
{|
Line 2,233: Line 2,255:
|-
|-
|Id
|Id
|[http://mantis.innovaphone.com/view.php?id=37643 37643]
|[http://mantis.innovaphone.com/view.php?id=37658 37658]
|}
|}
problem: Diverting party's name identification not available.<br/><br/>solution: Provide diverting party's name identification in FTY_DIVERTING_LEG2.<br/><br/>files: fty.* sip.* sipfty.cpp h450.cpp pbx.cpp<br/><br/>products: All devices<br/><br/>risks: low risk
problem: In some states 2 TerminalCapabilitySetAck messages were sent in response to a single TerminalCapabilitySet message. This can create problems with some third party equipment<br/><br/>solution: Only send a single TerminalCapabilitySet message<br/><br/>files: h323ch.cpp<br/><br/>products: all<br/><br/>risks: Minimal
      
      
=== Diverting Info not forwarded by Gateway ===
=== Diverting Info not forwarded by Gateway ===
Line 2,248: Line 2,270:
problem: Gateway did not pass through diverting info (DIVERTING_LEG2) (worked only in case interworking was enabled)<br/><br/>solution: Forward diverting info even if interworking is not enabled<br/><br/>files: relay.cpp<br/><br/>products: All gateway devices<br/><br/>risks: no risk
problem: Gateway did not pass through diverting info (DIVERTING_LEG2) (worked only in case interworking was enabled)<br/><br/>solution: Forward diverting info even if interworking is not enabled<br/><br/>files: relay.cpp<br/><br/>products: All gateway devices<br/><br/>risks: no risk
      
      
=== Missing name identification on waiting queue during DTMF dialing ===
=== PBX: CFNR at user should have precedence over "No Answer" Destination at Trunk ===


{|
{|
Line 2,255: Line 2,277:
|-
|-
|Id
|Id
|[http://mantis.innovaphone.com/view.php?id=37762 37762]
|[http://mantis.innovaphone.com/view.php?id=37677 37677]
|}
|}
problem: name id of calling party not forwarded during DTMF dialing on waiting queue<br/><br/>solution: forward name identification<br/><br/>files: pbxwait.cpp<br/><br/>products: All PBX devices<br/><br/>risks: no risk
problem: It is confusing that a CFNR set at a user is not executed because of a No Answer destination configured at the trunk object.<br/><br/>solution: The CFNR now has precedence over No Answer at Trunk<br/><br/>files: pbx.cpp<br/><br/>products: all with PBX<br/><br/>risks: It could be that some customers expect explicitly the old behaviour, but this is unlikely
      
      
=== keep original call when replacement calls fails (unsuccessful blind transfer) ===
=== One way media when doing multiple transfer together with Media-Relay ===


{|
{|
Line 2,266: Line 2,288:
|-
|-
|Id
|Id
|[http://mantis.innovaphone.com/view.php?id=37796 37796]
|[http://mantis.innovaphone.com/view.php?id=37680 37680]
|}
|}
problem: When blind transfer failed the original call was terminated.<br/><br/>solution: Keep original call<br/><br/>files: phonesig.cpp<br/><br/>products: All phone devices<br/><br/>risks: no
problem: When a call which was transfered to another PBX with Media-Relay on both PBXs and then another Transfer was done on the remote PBX, there was one-way media. This was due to a H.323 media negotiation bug which could result in one/no-way media with many scenarions as long as Media-Relay is involved<br/><br/>solution: Media Negotiation bug fixed<br/><br/>files: h323ch.cpp, h323ch.h, h323sig.cpp<br/><br/>products: all<br/><br/>risks: There is a small risk of collateral damage
      
      
=== SIP allocation limit is too low at 500kB ===
=== OEM specific available coders ===


{|
{|
Line 2,277: Line 2,299:
|-
|-
|Id
|Id
|[http://mantis.innovaphone.com/view.php?id=36490 36490]
|[http://mantis.innovaphone.com/view.php?id=37685 37685]
|}
|}
Problem: SIP allocation limit is too low at 500kB and should be platform dependend higher<br/><br/>Solution: Use the platform dependend limit<br/><br/>Files: sip.h, sip.cpp, siptrans.cpp<br/><br/>Products affected: All devices<br/><br/>Risk: Out of memory traps due to badly chosen platform dependend limit
Problem: Coder G726-32 is not supported by OEM PBX and should not be shown.<br/><br/>Solution: Coder G726-32 is not shown.<br/><br/>Files: dectusers_if.h, dectusers.h, dectmaster.cpp.<br/><br/>Products affected: IP4001, IP1201.<br/><br/>Risk: Minimal.
      
      
=== SIP:TRANSIT calls are terminated if unknown coder has been negotiated ===
=== OEM specific call release ===


{|
{|
Line 2,288: Line 2,310:
|-
|-
|Id
|Id
|[http://mantis.innovaphone.com/view.php?id=36606 36606]
|[http://mantis.innovaphone.com/view.php?id=37687 37687]
|}
|}
problem: SIP:TRANSIT calls are terminated if unknown coder has been negotiated<br/><br/>solution: Do not terminate these calls<br/><br/>files: sip.cpp<br/><br/>products: All products with PBX or GATEWAY<br/><br/>risks: Problems with re-negotiation later on
Problem: Call is not disconnected in OEM specific case.<br/><br/>Solution: Release event handling fixed.<br/><br/>Files: dtmffty.cpp.<br/><br/>Products affected: IP4001, IP1201.<br/><br/>Risk: Minimal.
      
      
=== Bad URI parameter "epid=(NULL)" in INVITE ===
=== OEM specific Suppl. Service MWI ===


{|
{|
Line 2,299: Line 2,321:
|-
|-
|Id
|Id
|[http://mantis.innovaphone.com/view.php?id=36611 36611]
|[http://mantis.innovaphone.com/view.php?id=37688 37688]
|}
|}
problem: Bad URI parameter "epid=(NULL)" in INVITE <br/><br/>solution: no epid parameter when interface is not registered<br/><br/>files: sip.cpp<br/><br/>products: All products with PBX or GATEWAY<br/><br/>risks: no risk
Problem: OEM specific Suppl. Service MWI doesn't work and default configuration is wrong.<br/><br/>Solution: Implementation and configuration fixed.<br/><br/>Files: dectfty.xsl (oem), dtmffty.cpp.<br/><br/>Products affected: IP4001, IP1201.<br/><br/>Risk: Minimal.
      
      
=== SIP/TCP Response not always been sent through connection of incoming request ===
=== OEM specific sig media info messages filter ===


{|
{|
Line 2,310: Line 2,332:
|-
|-
|Id
|Id
|[http://mantis.innovaphone.com/view.php?id=36631 36631]
|[http://mantis.innovaphone.com/view.php?id=37689 37689]
|}
|}
problem: If a remote SIP/TCP device uses an inbound TCP connection on its side to send a request, the innovaphone opened a new outbound connection for the response.<br/><br/>solution: Keep connection in context of server transaction in order to send the response on the same connection no matter if inbound or outbound<br/><br/>files: siptrans.cpp, siptrans.h<br/><br/>products: All products<br/><br/>risks: other transport problems with SIP/TCP and SIP/TLS
Problem: OEM specific PBX doesn't support sig media info messages which should be filtered.<br/><br/>Solution: Sig media info messages are filtered.<br/><br/>Files: dectmaster.cpp.<br/><br/>Products affected: IP4001, IP1201.<br/><br/>Risk: Minimal.
      
      
=== Media negotiation problem at OCS ===
=== Int/Ext added to CF Filter config to allow config of call-forward for internal/external calls only ===


{|
{|
Line 2,321: Line 2,343:
|-
|-
|Id
|Id
|[http://mantis.innovaphone.com/view.php?id=36654 36654]
|[http://mantis.innovaphone.com/view.php?id=37706 37706]
|}
|}
problem: Mediation server rejects our reINVITE with 491<br/><br/>solution: Avoid sending reINVITE when Media-Relay and Exclusive-Coder is configured<br/><br/>files: sip.cpp<br/><br/>products: All gateway products<br/><br/>risks: causing other media negotiation problems
problem: Call Forward for Internal/External calls only was hard to configured (esspecially automatically with TAPI), because unclear which Trunk prefixes to be used for filter<br/><br/>solution: Filter option added to check for Internal/External calls expicility. The private numbering plan is used to determine if a call is Internal<br/><br/>files: pbx_admin.cpp, pbx_edit_cfs.xsl, pbx.cpp, pbx.h, ep_lib.cpp<br/><br/>products: all with PBX<br/><br/>risks: Small risk of collateral damage
      
      
=== Userpart of SIP-URIs not unescaped when parameter "user=phone" present ===
=== Media Negotiation Problem on SIP-H.323 calls with hold/retrieve ===


{|
{|
Line 2,332: Line 2,354:
|-
|-
|Id
|Id
|[http://mantis.innovaphone.com/view.php?id=36847 36847]
|[http://mantis.innovaphone.com/view.php?id=37726 37726]
|}
|}
Problem: Userpart of SIP-URIs not unescaped when parameter "user=phone" present. May keep SIP telephones from using the "DTMF Features" object.<br/>E.g INVITE sip:%2367%23@innovaphone.de;user=phone SIP/2.0<br/><br/>Solution: Unescape userpart of SIP-URIs even when parameter "user=phone" is present.<br/><br/>Files: sipmsg.cpp<br/><br/>Products affected: all devices<br/><br/>Risk: none
problem: On a SIP-H323 call, multiple hold/retrieve cycles could result in no media.<br/><br/>solution: Media Neg. fixed<br/><br/>files: h323ch.cpp<br/><br/>products: all<br/><br/>risks: Small risk of collateral damage
      
      
=== fix for ALARM flooding in SIP ===
=== Some OEM equipment only accepts one tunneled H.245 message per H.225 frame ===


{|
{|
Line 2,343: Line 2,365:
|-
|-
|Id
|Id
|[http://mantis.innovaphone.com/view.php?id=36983 36983]
|[http://mantis.innovaphone.com/view.php?id=37744 37744]
|}
|}
problem: systems ALARM log was flooded by alarm "NAT discovery failed" (0x00070001)<br/><br/>solution: send this ALARM only once<br/><br/>files: sip.cpp siptrans.cpp siputil.h<br/><br/>products: All devices using SIP with STUN server<br/><br/>risks: low risk
problem: An OEM equipment creates strange problems with multiple tunneled H.245 messages within a single H.225 PDU, and only Facility PDUs are allowed for tunneled H.245<br/><br/>solution: The option h245-after-conn results now in single H.245 sent in Facility PDUs<br/><br/>files: h323sig.cpp, h323sig.h<br/><br/>products: all<br/><br/>risks: very small risk of collateral damge. h245-after-conn is rarely needed and using seperate Facility for each H.245 should not create problems
      
      
=== On GW interfaces w/o registration the config options "Domain" and "Proxy" did not work properly ===
=== Problems using SIP for box internal signaling ===


{|
{|
Line 2,354: Line 2,376:
|-
|-
|Id
|Id
|[http://mantis.innovaphone.com/view.php?id=37112 37112]
|[http://mantis.innovaphone.com/view.php?id=37760 37760]
|}
|}
Problem: On GW interfaces w/o registration the config options "Domain" and "Proxy" did not work properly<br/><br/>Solution: Using "Domain" to build SIP-URIs. Use (optional) "Proxy" to send SIP requests to.<br/><br/>Files: sip.cpp.<br/><br/>Products affected: All Gateway devices with No-Reg-SIP-IFs<br/><br/>Risk: Unexpected problems with no-reg or enum interfaces
problem: Internal SIP call (e.g. from PBX to Gateway) was rejected<br/><br/>solution: more sophisticated remote address verification<br/><br/>files: siptrans.cpp<br/><br/>products: All Gateway devices<br/><br/>risks: no risk
      
      
=== Potential trap on outbound ENUM SIP calls ===
=== Missing name identification on waiting queue during DTMF dialing ===


{|
{|
Line 2,365: Line 2,387:
|-
|-
|Id
|Id
|[http://mantis.innovaphone.com/view.php?id=37130 37130]
|[http://mantis.innovaphone.com/view.php?id=37762 37762]
|}
|}
Problem: On ENUM/SIP interfaces a trap may occur if DNS resolving runs into timeout.<br/><br/>Solution: Check signaling state before handling media-info and faciliies.<br/><br/>Files: sip.cpp<br/><br/>Products affected: All Gateway devices with ENUM-SIP-IFs<br/><br/>Risk: Minimal.
problem: name id of calling party not forwarded during DTMF dialing on waiting queue<br/><br/>solution: forward name identification<br/><br/>files: pbxwait.cpp<br/><br/>products: All PBX devices<br/><br/>risks: no risk
      
      
=== Calls from registered devices were rejected ===
=== OEM specific MSD handling when doing media renegotiation ===


{|
{|
Line 2,376: Line 2,398:
|-
|-
|Id
|Id
|[http://mantis.innovaphone.com/view.php?id=37326 37326]
|[http://mantis.innovaphone.com/view.php?id=37790 37790]
|}
|}
problem: Calls from registered devices were rejected if the Contact-URI did not match the Contact-URI of the REGISTER<br/><br/>solution: Use 407 to get authorization header and do registration lookup by authorization name<br/><br/>files: siptrans.cpp<br/><br/>products: All PBX and Gateways using SIP<br/><br/>risks: low: sending SIP messages to wrong remote address/port
problem: OEM H.323 implementation gets confused when receiving a MasterSlaveDetermination message during slowstart media renegotiation<br/><br/>solution: Option to not send MSD in this case<br/><br/>files: signal.h, h323.h, h323sig.cpp, h323ch.cpp, h323ch.h, dectmaster.cpp<br/><br/>products: all<br/><br/>risks: Small risk of collateral damge. This special behaviour is truned on only for the OEM
      
      
=== SIP calls were rejected with 403 in case the Request-URI did not match the registered Contact-URI ===
=== OEM H.323 requirement to send saved INFO after receiving CONN ===


{|
{|
Line 2,387: Line 2,409:
|-
|-
|Id
|Id
|[http://mantis.innovaphone.com/view.php?id=37327 37327]
|[http://mantis.innovaphone.com/view.php?id=37793 37793]
|}
|}
problem: SIP calls were rejected with 403 in case the Request-URI did not match the registered Contact-URI (interop with Nortel CS1000 SIP GW)<br/><br/>solution: no check of Request-URI against registered Contact-URI on SIPx interfaces<br/><br/>files: siptrans.cpp<br/><br/>products: All gateway devices using SIPx to register remotely<br/><br/>risks: low risk  
problem: OEM equipment answers call with CONN right away and expects dialing info as keypad after CONN. Dialing info maybe get lost.<br/><br/>solution: Send saved dialing info after CONN<br/><br/>files: h323sig.cpp, h323_tbl.tbl<br/><br/>products: all<br/><br/>risks: Minimal risk of collateral damage
      
      
=== Problems registering at some SIP servers with parameter "user=phone" in Contact-URI in REGISTER request ===
=== keep original call when replacement calls fails (unsuccessful blind transfer) ===


{|
{|
Line 2,398: Line 2,420:
|-
|-
|Id
|Id
|[http://mantis.innovaphone.com/view.php?id=37523 37523]
|[http://mantis.innovaphone.com/view.php?id=37796 37796]
|}
|}
problem: Problems registering at some SIP servers with parameter "user=phone" in Contact-URI in REGISTER request<br/><br/>solution: no parameter "user=phone" in Contact-URI in REGISTER request<br/><br/>files: sip.cpp<br/><br/>products: All devices<br/><br/>risks: risk
problem: When blind transfer failed the original call was terminated.<br/><br/>solution: Keep original call<br/><br/>files: phonesig.cpp<br/><br/>products: All phone devices<br/><br/>risks: no
      
      
=== Hidden config option /remote-domain-in-from ===
=== PBX Dtmf object: no de/activation of cfnr feature possible ===


{|
{|
Line 2,409: Line 2,431:
|-
|-
|Id
|Id
|[http://mantis.innovaphone.com/view.php?id=37594 37594]
|[http://mantis.innovaphone.com/view.php?id=37798 37798]
|}
|}
problem: some SIP proxys expect their domain name in From-URI (unregistered interfaces only)<br/><br/>solution: config option to use remote instead of local domain<br/><br/>files: sip.cpp<br/><br/>products: All gateway devices<br/><br/>risks: no risk
problem: un-/checking the cfnr feature code checkbox has no effect<br/><br/>solution: change false attribute name in xsl file, was a false paste<br/><br/>files: pbx_edit_dtmf-ctrl.xsl<br/><br/>products: all pbx products<br/><br/>risks: no
   
== Bug Fixes ==
 
 
   
= V7 Hotfix  3 (09-70300.11) =
Changes included in Version 7 Hotfix3
[http://mantis.innovaphone.com/view.php?id=37809 Definition]
 
== New Features ==
 
 
      
      
=== Switching back from MOH did not work sometimes ===
=== A PBX Standby Slave using master licenses should use licenses obtained from PBX it is backing up ===


{|
{|
Line 2,420: Line 2,454:
|-
|-
|Id
|Id
|[http://mantis.innovaphone.com/view.php?id=37596 37596]
|[http://mantis.innovaphone.com/view.php?id=37810 37810]
|}
|}
problem: No media after switching back from MOH<br/><br/>solution: fix media negotiation<br/><br/>files: sip.cpp<br/><br/>products: All devices using SIP<br/><br/>risks: unexpected problems with media negotiation
problem: A standby slave obtained licenses from the master it connected to when the PBX it was backing up failed, instead of using the saved licenses from the PBX it was backing up. In a setup with all PBXs obtaining licenses from the Master this did not make a difference, there was only a problem if the PBX which was backed up used local license<br/><br/>solution: Use saved licenses on the standby-slave if the PBX which is backed up is not available anymore<br/><br/>files: pbx.cpp<br/><br/>products: all with PBX<br/><br/>risks: Minimal risk of collateral damage
      
      
=== Problems using SIP for box internal signaling ===
=== License types with exactly 32 characters, created strange characters on PBX Info page ===


{|
{|
Line 2,431: Line 2,465:
|-
|-
|Id
|Id
|[http://mantis.innovaphone.com/view.php?id=37760 37760]
|[http://mantis.innovaphone.com/view.php?id=37813 37813]
|}
|}
problem: Internal SIP call (e.g. from PBX to Gateway) was rejected<br/><br/>solution: more sophisticated remote address verification<br/><br/>files: siptrans.cpp<br/><br/>products: All Gateway devices<br/><br/>risks: no risk  
problem: A license with a length of exactly 32 characters resulted in random characters added on the PBX Info page. This could happen if a OEM licenses was installed on a IP6000. On some browsers the PBX Info page could not displayed because of that<br/><br/>solution: Make sure the string is 0 terminated<br/><br/>files: inno_lic.cpp<br/><br/>products: all<br/><br/>risks: No risk
      
      
== Bug Fixes ==
=== Exclusive Coder G729A should also match for incoming coder G729 ===
 
 
   
= V7 Hotfix  3 (09-70300.11) =
Changes included in Version 7 Hotfix3
[http://mantis.innovaphone.com/view.php?id=37809 Definition]
 
== New Features ==
 
 
   
=== A PBX Standby Slave using master licenses should use licenses obtained from PBX it is backing up ===


{|
{|
Line 2,454: Line 2,476:
|-
|-
|Id
|Id
|[http://mantis.innovaphone.com/view.php?id=37810 37810]
|[http://mantis.innovaphone.com/view.php?id=37816 37816]
|}
|}
problem: A standby slave obtained licenses from the master it connected to when the PBX it was backing up failed, instead of using the saved licenses from the PBX it was backing up. In a setup with all PBXs obtaining licenses from the Master this did not make a difference, there was only a problem if the PBX which was backed up used local license<br/><br/>solution: Use saved licenses on the standby-slave if the PBX which is backed up is not available anymore<br/><br/>files: pbx.cpp<br/><br/>products: all with PBX<br/><br/>risks: Minimal risk of collateral damage
problem: A coder g729 received on SIP, did not match to exclusiv coder G729A if call was forwarded on H.323, even though these coders are compatible<br/><br/>solution: H.323 fixed to match G729 to G729A exclusive coder config<br/><br/>files: channel.cpp<br/><br/>products: all<br/><br/>risks: Minimal risk of collateral damage
      
      
=== License types with exactly 32 characters, created strange characters on PBX Info page ===
=== Some PBX User attribts could not be modified with SOAP Admin function ===


{|
{|
Line 2,465: Line 2,487:
|-
|-
|Id
|Id
|[http://mantis.innovaphone.com/view.php?id=37813 37813]
|[http://mantis.innovaphone.com/view.php?id=37819 37819]
|}
|}
problem: A license with a length of exactly 32 characters resulted in random characters added on the PBX Info page. This could happen if a OEM licenses was installed on a IP6000. On some browsers the PBX Info page could not displayed because of that<br/><br/>solution: Make sure the string is 0 terminated<br/><br/>files: inno_lic.cpp<br/><br/>products: all<br/><br/>risks: No risk
problem: The PBX user attribs 'url', 'rej-ext', 'no-disc' and 'config' could not be modified with SOAP Admin call with <modify>.<br/><br/>solution: These attribs added to the list of changeable attribs<br/><br/>files: pbx.cpp<br/><br/>products: all with PBX<br/><br/>risks: Minimal risk of collateral damage
      
      
=== Exclusive Coder G729A should also match for incoming coder G729 ===
=== OEM expects response to H.323 MSD even after MSD procedure is complete ===


{|
{|
Line 2,476: Line 2,498:
|-
|-
|Id
|Id
|[http://mantis.innovaphone.com/view.php?id=37816 37816]
|[http://mantis.innovaphone.com/view.php?id=37836 37836]
|}
|}
problem: A coder g729 received on SIP, did not match to exclusiv coder G729A if call was forwarded on H.323, even though these coders are compatible<br/><br/>solution: H.323 fixed to match G729 to G729A exclusive coder config<br/><br/>files: channel.cpp<br/><br/>products: all<br/><br/>risks: Minimal risk of collateral damage
problem: OEM equipment sends MSD message even though MSD procedure is already complete. This message is ignored because it is unexpected. OEM equipment waits for MSD-ACK<br/><br/>solution: Send MSD-ACK in this case<br/><br/>files: h323ch.cpp<br/><br/>products: all<br/><br/>risks: Minimal risk of collateral damage
      
      
=== Some PBX User attribts could not be modified with SOAP Admin function ===
=== CCNR/CCBS callback indication gets lost when requesting phone is busy ===


{|
{|
Line 2,487: Line 2,509:
|-
|-
|Id
|Id
|[http://mantis.innovaphone.com/view.php?id=37819 37819]
|[http://mantis.innovaphone.com/view.php?id=37840 37840]
|}
|}
problem: The PBX user attribs 'url', 'rej-ext', 'no-disc' and 'config' could not be modified with SOAP Admin call with <modify>.<br/><br/>solution: These attribs added to the list of changeable attribs<br/><br/>files: pbx.cpp<br/><br/>products: all with PBX<br/><br/>risks: Minimal risk of collateral damage
Description:<br/> 'A' has a CCNR/CCBS request to user B pending while speaking to 'C'.<br/> 'B' goes off-onhook/onhook, 'A' gets a 'callback-possible' indication and "1 Call pending, name-B...number-B" is displayed on display of 'A'<br/> 'A' goes onhook but the callback is not performed<br/><br/>Solution: perform the callback when the phone is going idle<br/><br/>Products affected: all phones<br/><br/>Files: phonesig.cpp<br/><br/>Risk: none
''Status:''
checked in to 7.00, 08-70300, 8.00
      
      
=== OEM expects response to H.323 MSD even after MSD procedure is complete ===
=== OEM specific PBX options ===


{|
{|
Line 2,498: Line 2,522:
|-
|-
|Id
|Id
|[http://mantis.innovaphone.com/view.php?id=37836 37836]
|[http://mantis.innovaphone.com/view.php?id=37848 37848]
|}
|}
problem: OEM equipment sends MSD message even though MSD procedure is already complete. This message is ignored because it is unexpected. OEM equipment waits for MSD-ACK<br/><br/>solution: Send MSD-ACK in this case<br/><br/>files: h323ch.cpp<br/><br/>products: all<br/><br/>risks: Minimal risk of collateral damage
Problem: Changed specifications for OEM PBX (reuse TCP, round trip delay).<br/><br/>Solution: Options changed.<br/><br/>Files: dectmaster.cpp.<br/><br/>Products affected: IP4001, IP1201.<br/><br/>Risk: Minimal.
      
      
=== Changing PBX/General options can remove automatically generated licenses ===
=== Changing PBX/General options can remove automatically generated licenses ===
Line 2,513: Line 2,537:
problem: With PBX OEM licenses another license is generated automatically, which allows registrations for redundancy purposes. This license is removed by accident when changing PBX/General options<br/><br/>solution: Do no remove this license anymore<br/><br/>files: pbx.cpp<br/><br/>products: all with PBX<br/><br/>risks: Minimal risk of collateral damage
problem: With PBX OEM licenses another license is generated automatically, which allows registrations for redundancy purposes. This license is removed by accident when changing PBX/General options<br/><br/>solution: Do no remove this license anymore<br/><br/>files: pbx.cpp<br/><br/>products: all with PBX<br/><br/>risks: Minimal risk of collateral damage
      
      
=== Multilevel Slaves did not work ===
=== Configured SIP proxy in GK-IF overview not visible ===


{|
{|
Line 2,520: Line 2,544:
|-
|-
|Id
|Id
|[http://mantis.innovaphone.com/view.php?id=37897 37897]
|[http://mantis.innovaphone.com/view.php?id=37863 37863]
|}
|}
problem: In a configuration with Slave PBXs registered to another Slave PBXs (not the Master) routing of calls with unknown destinations to the next higher PBX (within the registration hierachy), did only work for one level.<br/><br/>solution: Routing fixed, so that these calls are routed up to the master.<br/><br/>files: pbx.cpp, pbx.h<br/><br/>products: all with PBX<br/><br/>risks: risk of collateral damage in the area of call routing within the PBX
problem: Configured SIP proxy in GK-IF overview not visible on interface without registration<br/><br/>solution: show SIP proxy<br/><br/>files: gk.h gk.cpp relay_ifs.xsl<br/><br/>products: All Gateway devices<br/><br/>risks: no risk
      
      
=== CallIdentifier missing in some H.323 Facility messages ===
=== Fix: TLS socket shutdown flow with Internet Explorer ===


{|
{|
Line 2,531: Line 2,555:
|-
|-
|Id
|Id
|[http://mantis.innovaphone.com/view.php?id=37922 37922]
|[http://mantis.innovaphone.com/view.php?id=37874 37874]
|}
|}
problem: In some H.323 facility messages, which carried tunneled H.245 PDUs or EFC elements the CallIdentifier was missing. Apart from that it violates the standard the only known problem with this is, that these messages are not displayed in a wireshark call graph<br/><br/>solution: CallIdentifier added<br/><br/>files: h323sig.cpp<br/><br/>products: all<br/><br/>risk: Minimal risk of collateral damage
problem: In some cases IE closes TLS connections in a way that caused syslog to hang up. Therefore syslog could only be called a single time per session using HTTPS and IE.<br/><br/>solution: Add a special shutdown flow for IE in the TLS state machine.<br/><br/>files: tls.cpp, tls.h<br/><br/>products: all <br/><br/>risks: Minimal risk of collateral damage<br/><br/>
      
      
=== Local Coder selection does not work after media re-negotiation ===
=== OEM specific alarm report for Standby Master registrations ===


{|
{|
Line 2,542: Line 2,566:
|-
|-
|Id
|Id
|[http://mantis.innovaphone.com/view.php?id=37940 37940]
|[http://mantis.innovaphone.com/view.php?id=37878 37878]
|}
|}
problem: When media re-negotiation happens (hold/retrieve/transfer/...) sometimes the selection of the local coder does not happen even if the remote media address is a local address.<br/><br/>solution: Check for local address fixed<br/><br/>files: h323ch.cpp<br/><br/>products: all<br/><br/>risks: Minimal risk of collateral damage
Problem: The Standby Master registration is not deleted in the Mobility Master if the Primary Master recovers and a needless alarm message is created.<br/><br/>Solution: The Primary Master sends also a command to the Mobility Master to delete the Standby Master registration info if the Standby is connected.<br/><br/>Files: dectmaster.h, dectmaster.cpp, dectmobmaster.h, dectmobmaster.cpp.<br/><br/>Products affected: IP4001, IP1201.<br/><br/>Risk: Minimal.
      
      
=== Fix: TLS socket shutdown flow with Internet Explorer ===
=== OEM specific GUI for Standby Master ===


{|
{|
Line 2,553: Line 2,577:
|-
|-
|Id
|Id
|[http://mantis.innovaphone.com/view.php?id=37874 37874]
|[http://mantis.innovaphone.com/view.php?id=37881 37881]
|}
|}
problem: In some cases IE closes TLS connections in a way that caused syslog to hang up. Therefore syslog could only be called a single time per session using HTTPS and IE.<br/><br/>solution: Add a special shutdown flow for IE in the TLS state machine.<br/><br/>files: tls.cpp, tls.h<br/><br/>products: all <br/><br/>risks: Minimal risk of collateral damage<br/><br/>
Problem: The Standby Master Mobility Master registration status is not correctly shown if the Standby Master is not active.<br/><br/>Solution: Fixed in OEM specific GUI file.<br/><br/>Files: dectmaster.xsl(oem).<br/><br/>Products affected: IP4001, IP1201.<br/><br/>Risk: Minimal.
      
      
=== OEM specific PBX options ===
=== Wait for ACK before starting next re-negotiation ===


{|
{|
Line 2,564: Line 2,588:
|-
|-
|Id
|Id
|[http://mantis.innovaphone.com/view.php?id=37848 37848]
|[http://mantis.innovaphone.com/view.php?id=37882 37882]
|}
|}
Problem: Changed specifications for OEM PBX (reuse TCP, round trip delay).<br/><br/>Solution: Options changed.<br/><br/>Files: dectmaster.cpp.<br/><br/>Products affected: IP4001, IP1201.<br/><br/>Risk: Minimal.
problem: In some cases a re-INVITE with new SDP offer was send before previous INVITE transaction was completed (right after 200/OK was send, before ACK was received).<br/><br/>solution: Postpone new re-INVITE until ACK was received.<br/><br/>files: sip.cpp<br/><br/>products: All devices<br/><br/>risks: collateral damage on media negotiation process
      
      
=== OEM specific alarm report for Standby Master registrations ===
=== Multilevel Slaves did not work ===


{|
{|
Line 2,575: Line 2,599:
|-
|-
|Id
|Id
|[http://mantis.innovaphone.com/view.php?id=37878 37878]
|[http://mantis.innovaphone.com/view.php?id=37897 37897]
|}
|}
Problem: The Standby Master registration is not deleted in the Mobility Master if the Primary Master recovers and a needless alarm message is created.<br/><br/>Solution: The Primary Master sends also a command to the Mobility Master to delete the Standby Master registration info if the Standby is connected.<br/><br/>Files: dectmaster.h, dectmaster.cpp, dectmobmaster.h, dectmobmaster.cpp.<br/><br/>Products affected: IP4001, IP1201.<br/><br/>Risk: Minimal.
problem: In a configuration with Slave PBXs registered to another Slave PBXs (not the Master) routing of calls with unknown destinations to the next higher PBX (within the registration hierachy), did only work for one level.<br/><br/>solution: Routing fixed, so that these calls are routed up to the master.<br/><br/>files: pbx.cpp, pbx.h<br/><br/>products: all with PBX<br/><br/>risks: risk of collateral damage in the area of call routing within the PBX
      
      
=== OEM specific GUI for Standby Master ===
=== DSP trap fixed for IP6000/IP800 and related ===


{|
{|
Line 2,586: Line 2,610:
|-
|-
|Id
|Id
|[http://mantis.innovaphone.com/view.php?id=37881 37881]
|[http://mantis.innovaphone.com/view.php?id=37898 37898]
|}
|}
Problem: The Standby Master Mobility Master registration status is not correctly shown if the Standby Master is not active.<br/><br/>Solution: Fixed in OEM specific GUI file.<br/><br/>Files: dectmaster.xsl(oem).<br/><br/>Products affected: IP4001, IP1201.<br/><br/>Risk: Minimal.
problem: sometimes DSP fifo write fails after fax transmission<br/><br/>solution: channelcontrolmode changed to packet mode ( as in V6 )<br/><br/>files: ac48xdef.h  ac48xlo.c  userdef.h <br/><br/>products: ip800 ip1200 ip1201 ip4001 ip6000<br/><br/>risks: low
      
      
=== IP1200 Trap with MWI event (MSF) ===
=== IP1200 Trap with MWI event (MSF) ===
Line 2,612: Line 2,636:
Problem: Unable to enable Dect messaging to/from PBX.<br/><br/>Solution: Fixed.<br/><br/>Files: dectmaster_if.h.<br/><br/>Products affected: IP1200.<br/><br/>Risk: Low.  
Problem: Unable to enable Dect messaging to/from PBX.<br/><br/>Solution: Fixed.<br/><br/>Files: dectmaster_if.h.<br/><br/>Products affected: IP1200.<br/><br/>Risk: Low.  
      
      
=== DECT Master Trap during MWI update for logged-out handsets ===
=== CallIdentifier missing in some H.323 Facility messages ===


{|
{|
Line 2,619: Line 2,643:
|-
|-
|Id
|Id
|[http://mantis.innovaphone.com/view.php?id=37964 37964]
|[http://mantis.innovaphone.com/view.php?id=37922 37922]
|}
|}
Problem: IP1200 DECT Master reboots because of invalid pointer in anonymous handsets if Radios send an MWI ack message after handset is logged out from user with pending MWI and is switched on again.<br/><br/>Solution: Fixed.<br/><br/>Files: dectusers.cpp.<br/><br/>Products affected: IP1200.<br/><br/>Risk: Low.
problem: In some H.323 facility messages, which carried tunneled H.245 PDUs or EFC elements the CallIdentifier was missing. Apart from that it violates the standard the only known problem with this is, that these messages are not displayed in a wireshark call graph<br/><br/>solution: CallIdentifier added<br/><br/>files: h323sig.cpp<br/><br/>products: all<br/><br/>risk: Minimal risk of collateral damage
      
      
=== DSP trap fixed for IP6000/IP800 and related ===
=== Interop tweak for MS Exchange server: "no-diverting-name" ===


{|
{|
Line 2,630: Line 2,654:
|-
|-
|Id
|Id
|[http://mantis.innovaphone.com/view.php?id=37898 37898]
|[http://mantis.innovaphone.com/view.php?id=37925 37925]
|}
|}
problem: sometimes DSP fifo write fails after fax transmission<br/><br/>solution: channelcontrolmode changed to packet mode ( as in V6 )<br/><br/>files: ac48xdef.h  ac48xlo.c  userdef.h <br/><br/>products: ip800 ip1200 ip1201 ip4001 ip6000<br/><br/>risks: low
problem: Call diversion to MS Exchange does not work since display name of diverting party is provided. MS Exchange fails to parse diversion header.<br/><br/>solution: New config option "no-diverting-name"<br/><br/>files: sip.cpp sip.h<br/><br/>products: All gateway devices<br/><br/>risks: no risk
      
      
=== CCNR/CCBS callback indication gets lost when requesting phone is busy ===
=== Local Coder selection does not work after media re-negotiation ===


{|
{|
Line 2,641: Line 2,665:
|-
|-
|Id
|Id
|[http://mantis.innovaphone.com/view.php?id=37840 37840]
|[http://mantis.innovaphone.com/view.php?id=37940 37940]
|}
|}
Description:<br/> 'A' has a CCNR/CCBS request to user B pending while speaking to 'C'.<br/> 'B' goes off-onhook/onhook, 'A' gets a 'callback-possible' indication and "1 Call pending, name-B...number-B" is displayed on display of 'A'<br/> 'A' goes onhook but the callback is not performed<br/><br/>Solution: perform the callback when the phone is going idle<br/><br/>Products affected: all phones<br/><br/>Files: phonesig.cpp<br/><br/>Risk: none
problem: When media re-negotiation happens (hold/retrieve/transfer/...) sometimes the selection of the local coder does not happen even if the remote media address is a local address.<br/><br/>solution: Check for local address fixed<br/><br/>files: h323ch.cpp<br/><br/>products: all<br/><br/>risks: Minimal risk of collateral damage
''Status:''
checked in to 7.00, 08-70300, 8.00
      
      
=== Configured SIP proxy in GK-IF overview not visible ===
=== Multiple media descriptions were send in SDP answer in some rare cases ===


{|
{|
Line 2,654: Line 2,676:
|-
|-
|Id
|Id
|[http://mantis.innovaphone.com/view.php?id=37863 37863]
|[http://mantis.innovaphone.com/view.php?id=37948 37948]
|}
|}
problem: Configured SIP proxy in GK-IF overview not visible on interface without registration<br/><br/>solution: show SIP proxy<br/><br/>files: gk.h gk.cpp relay_ifs.xsl<br/><br/>products: All Gateway devices<br/><br/>risks: no risk
problem: Multiple media descriptions (m-lines) for same media type were send in SDP answer in some rare cases<br/><br/>solution: Put all in one media description<br/><br/>files: sip.cpp<br/><br/>products: All Gateway and PBX devices<br/><br/>risks: no risk
      
      
=== Wait for ACK before starting next re-negotiation ===
=== Wrong local ip addres in SDP offer in re-INVITE ===


{|
{|
Line 2,665: Line 2,687:
|-
|-
|Id
|Id
|[http://mantis.innovaphone.com/view.php?id=37882 37882]
|[http://mantis.innovaphone.com/view.php?id=37956 37956]
|}
|}
problem: In some cases a re-INVITE with new SDP offer was send before previous INVITE transaction was completed (right after 200/OK was send, before ACK was received).<br/><br/>solution: Postpone new re-INVITE until ACK was received.<br/><br/>files: sip.cpp<br/><br/>products: All devices<br/><br/>risks: collateral damage on media negotiation process
problem: Boxes with multiple local ip addresses may use wrong local ip addres in SDP offer in re-INVITE<br/><br/>solution: Validate local ip address before sending re-INVITE<br/><br/>files: sip.cpp<br/><br/>products: All Gateway and PBX devices<br/><br/>risks: no risk
      
      
=== Interop tweak for MS Exchange server: "no-diverting-name" ===
=== DECT Master Trap during MWI update for logged-out handsets ===


{|
{|
Line 2,676: Line 2,698:
|-
|-
|Id
|Id
|[http://mantis.innovaphone.com/view.php?id=37925 37925]
|[http://mantis.innovaphone.com/view.php?id=37964 37964]
|}
|}
problem: Call diversion to MS Exchange does not work since display name of diverting party is provided. MS Exchange fails to parse diversion header.<br/><br/>solution: New config option "no-diverting-name"<br/><br/>files: sip.cpp sip.h<br/><br/>products: All gateway devices<br/><br/>risks: no risk
Problem: IP1200 DECT Master reboots because of invalid pointer in anonymous handsets if Radios send an MWI ack message after handset is logged out from user with pending MWI and is switched on again.<br/><br/>Solution: Fixed.<br/><br/>Files: dectusers.cpp.<br/><br/>Products affected: IP1200.<br/><br/>Risk: Low.
   
=== Multiple media descriptions were send in SDP answer in some rare cases ===
 
{|
|Status
|<font><font color="green">Closed</font></font>
|-
|Id
|[http://mantis.innovaphone.com/view.php?id=37948 37948]
|}
problem: Multiple media descriptions (m-lines) for same media type were send in SDP answer in some rare cases<br/><br/>solution: Put all in one media description<br/><br/>files: sip.cpp<br/><br/>products: All Gateway and PBX devices<br/><br/>risks: no risk
   
=== Wrong local ip addres in SDP offer in re-INVITE ===
 
{|
|Status
|<font><font color="green">Closed</font></font>
|-
|Id
|[http://mantis.innovaphone.com/view.php?id=37956 37956]
|}
problem: Boxes with multiple local ip addresses may use wrong local ip addres in SDP offer in re-INVITE<br/><br/>solution: Validate local ip address before sending re-INVITE<br/><br/>files: sip.cpp<br/><br/>products: All Gateway and PBX devices<br/><br/>risks: no risk
      
      
== Bug Fixes ==
== Bug Fixes ==
Line 2,714: Line 2,714:


      
      
=== Fax/Modem relay with G711u does not work ===
=== IP72: WLAN page breaks after hitting the OK button below ===


{|
{|
Line 2,721: Line 2,721:
|-
|-
|Id
|Id
|[http://mantis.innovaphone.com/view.php?id=38717 38717]
|[http://mantis.innovaphone.com/view.php?id=37143 37143]
|}
|}
problem: Fax/Modem relay with G711u does not work<br/><br/>solution: Fix modem bypass payloadtype<br/><br/>files: ac_dsp3.cpp<br/><br/>products: ip22 ip24 ip28 ip302 ip305<br/><br/>risk: Very small risk of collateral damage
problem: IP72: WLAN web-page breaks after hitting the OK button below. the error message is displayed (page not found). after pressing the reload button, the page becomes readable again.<br/><br/>solution: fix in code<br/><br/>files: box/wlan_mgr.cpp box/wlan_mgr.h<br/><br/>products: IP72<br/><br/>risks: none<br/><br/><br/>
      
      
=== no ringing voltage after few days uptime ===
=== Indeterminate pickup behaviour when multiple registrations receive group indications for the same call ===


{|
{|
Line 2,732: Line 2,732:
|-
|-
|Id
|Id
|[http://mantis.innovaphone.com/view.php?id=37999 37999]
|[http://mantis.innovaphone.com/view.php?id=37969 37969]
|}
|}
problem: ringing voltage is not beeing generated after few day uptime.<br/><br/>solution: In case of a RING_FAIL interrupt signaling perform an automatic 'ireset' command to the gateway.<br/><br/>files: si3241_drv.cpp si3241_drv.h<br/><br/>products: ip28<br/><br/>risks: minimal, this automatic has already been proven in earlier firmware verions.
Description:<br/>A phone holds multiple registrations to the same gatekeeper. All registrations (users) are members in one group and have group indications enabled for this group. The active registration has a pickup key. If there is an alerting call to some other phone in the group all registrations receive a group indication for the alerting call. If the pickup key is pressed the pickup list shows an entry for each registration. Independent of the list entry selected the call was always picked via the registration with the lowest ordinal.  <br/><br/>Solution: fix selection mechanism, let pickup list start with the entry of active registration.<br/><br/>Products affected: all phones<br/><br/>Files: app_ctl.h, app_fkey.cpp, app_gui.cpp, app_gui.h, app_reg.cpp<br/><br/>Risk: none
''Status:''
checked in to 7.00, 8.00
      
      
=== missing ring voltage after few days uptime ===
=== Do not send RSeq in provosional response, if 100rel not supported by remote side ===


{|
{|
Line 2,743: Line 2,745:
|-
|-
|Id
|Id
|[http://mantis.innovaphone.com/view.php?id=39110 39110]
|[http://mantis.innovaphone.com/view.php?id=37978 37978]
|}
|}
Description: si3241 chip refuses switching of the ring voltage to the analogue port. Instead a RING_FAIL_IA interrupt is thrown.<br/><br/>Solution: Apply a complete re-initialisation of the specific port when RING_FAIL_IA is thrown.<br/><br/>Products affected: ip28 only<br/><br/>Risk: low
Problem: RSeq was sent event if 100rel not supported by remote side.<br/><br/>Solution: Do not send RSeq in provosional response, if 100rel not supported by remote side. Add "Require: 100rel" when sending RSeq.<br/><br/>Files: sip.cpp siptrans.cpp<br/><br/>Products affected: All<br/><br/>Risk: No risk
      
      
=== port init confuses ===
=== Send 180/Ringing with Alert-Info instead of 182/Queued on Call-Waiting condition ===


{|
{|
Line 2,754: Line 2,756:
|-
|-
|Id
|Id
|[http://mantis.innovaphone.com/view.php?id=38833 38833]
|[http://mantis.innovaphone.com/view.php?id=37980 37980]
|}
|}
Problem: Port initialization confuses depending on startup delay between the driver entities.<br/><br/>Solution: Solve this dependency<br/><br/>Files: si3241_drv.cpp<br/><br/>Products affected: ip28 only<br/><br/>Risk: low
Problem: Some SIP devices don't start local ringback tone on reception of 182/Queued.<br/><br/>Solution: Do not send 182/Queued. Send 180/Ringing with "Alert-Info: <urn:alert:service:call-waiting>" instead.<br/><br/>Files: sip.cpp siptrans.cpp<br/><br/>Products affected: All<br/><br/>Risk: SIP endpoints which processed 182/Queued correctly my not recognize Alert-Info, but at least they will ring (without call waiting indication)
      
      
=== src/dst port are put into src/dst ip address of tcp/udp packets coming from 127.x.x.x for wireshark pcap packets ===
=== Call waiting indication from dect handset not transmitted to SIP PBX ===


{|
{|
Line 2,765: Line 2,767:
|-
|-
|Id
|Id
|[http://mantis.innovaphone.com/view.php?id=38623 38623]
|[http://mantis.innovaphone.com/view.php?id=37985 37985]
|}
|}
Problem: Wireshark can't differ different calls with local addresses.<br/><br/>Solution: local ip address bytes 2 and 3 used for port<br/><br/>Files: debug.cpp, debug.h, udp.cpp, tcp.cpp, tls.cpp<br/><br/>Products affected: all<br/><br/>Risk: Low.
Problem: Call waiting indication (in ALERT) was not interworked to SIP<br/><br/>Solution: Interwork all FTY element in SIG_ALERT in Dectmaster<br/><br/>Files: dectmaster.cpp<br/><br/>Products affected: Dect devices<br/><br/>Risk: No risk
   
=== possible null pointer access in pbx_dtmf/dirsearch with btree::get_count ===
 
{|
|Status
|<font><font color="green">Closed</font></font>
|-
|Id
|[http://mantis.innovaphone.com/view.php?id=38941 38941]
|}
Description: pbx traps with parallel directory search calls, if one of those calls currently has no search_results and a null pointer is accessed.<br/><br/>Solution: check for null pointer<br/><br/>Products affected: all pbx devices<br/><br/>Files: pbx_dirsearch.cpp, pbx_dtmf.cpp<br/><br/>Risk: none
      
      
=== Memory leak if multiple registrations of MOH device to PBX ===
=== Memory leak if multiple registrations of MOH device to PBX ===
Line 2,802: Line 2,793:
problem: If a slowstart H.323 endpoint (e.g. XCAPI) initiates a call transfer which was routed to this endpoint from another PBX, the is no speech connection after the transfer.<br/><br/>solution: Media negotiation fixed for this case<br/><br/>files: h323ch.cpp, h323ch.h, h323sig.cpp, pbx.cpp<br/><br/>products: all<br/><br/>risks: Minimal risk of collateral damage
problem: If a slowstart H.323 endpoint (e.g. XCAPI) initiates a call transfer which was routed to this endpoint from another PBX, the is no speech connection after the transfer.<br/><br/>solution: Media negotiation fixed for this case<br/><br/>files: h323ch.cpp, h323ch.h, h323sig.cpp, pbx.cpp<br/><br/>products: all<br/><br/>risks: Minimal risk of collateral damage
      
      
=== coding of H.323 EFC wrong ===
=== Trap while processing SUBSCRIBE(reg) ===


{|
{|
Line 2,809: Line 2,800:
|-
|-
|Id
|Id
|[http://mantis.innovaphone.com/view.php?id=38038 38038]
|[http://mantis.innovaphone.com/view.php?id=37998 37998]
|}
|}
problem: In all firmware versions before 8.00 the coding of the H.323 EFC elements does not conform to the standard. It cannot simply be changed, because then compatibility to innovaphone equipment with version 6.00 and 7.00 (earlier versions had no EFC) is lost.<br/><br/>solution: With 'config change H323 /fix 1' the default coding of the EFC elements is changed to be standard. A PBX/Gatekeeper uses innovaphone parameters to transmit this information to any registered clients. Clients adapt the coding according to the information received at registration. If the PBX/Gatekeeper is non-innovaphone the standard coding is used.<br/><br/>files: h323sig.cpp, h323ras.cpp<br/><br/>products: all<br/><br/>risks: Minimal risk of collateral damage
Problem: Trap while processing SUBSCRIBE(reg).<br/><br/>Solution: Fixed<br/><br/>Files: sip.cpp<br/><br/>Products affected: All PBX devices<br/><br/>Risk: No risk
      
      
=== PBX: Minimum of No Answer Timeout reduced from 4s to 2s ===
=== no ringing voltage after few days uptime ===


{|
{|
Line 2,820: Line 2,811:
|-
|-
|Id
|Id
|[http://mantis.innovaphone.com/view.php?id=38040 38040]
|[http://mantis.innovaphone.com/view.php?id=37999 37999]
|}
|}
problem: For some special applications a CFNR timeout of 4s is too long.<br/><br/>solution: Limit reduced to 2s<br/><br/>files: pbx.cpp<br/><br/>products: all with PBX<br/><br/>risks: No risk
problem: ringing voltage is not beeing generated after few day uptime.<br/><br/>solution: In case of a RING_FAIL interrupt signaling perform an automatic 'ireset' command to the gateway.<br/><br/>files: si3241_drv.cpp si3241_drv.h<br/><br/>products: ip28<br/><br/>risks: minimal, this automatic has already been proven in earlier firmware verions.
      
      
=== H.323 RAS Registration failover to another address which changes local address sometimes fails ===
=== DTMF during Early Media (after "183 Session Progress") ===


{|
{|
Line 2,831: Line 2,822:
|-
|-
|Id
|Id
|[http://mantis.innovaphone.com/view.php?id=38043 38043]
|[http://mantis.innovaphone.com/view.php?id=38021 38021]
|}
|}
problem: A failover to another address may change the local address, because to the new address another local network interface may be used. An example for this is a failover from an address on the local ethernet to the loopback address. For the packets sent to the new interface, still the old source address was used.<br/><br/>solution: Initialize local address in this case.<br/><br/>files: h323sig.cpp<br/><br/>products: all<br/><br/>risks: Small risk of collateral damage
Problem: Key events after reception of "183 Session Progress" were handled as overlap dialing acc. RFC-3578, not as DTMF<br/><br/>Solution: Take 183 response without "P-Sig-Options: Overlap-Dialing" as Address Complete Message<br/><br/>Files: sip.cpp sip.h siptrans.cpp siptrans.h sipstate.cpp<br/><br/>Products affected: All devices<br/><br/>Risk: No risk
      
      
=== IP-DECT or anlog interfaces with DTMF feature codes enabled cannot handle call-completion MWIs ===
=== coding of H.323 EFC wrong ===


{|
{|
Line 2,842: Line 2,833:
|-
|-
|Id
|Id
|[http://mantis.innovaphone.com/view.php?id=38190 38190]
|[http://mantis.innovaphone.com/view.php?id=38038 38038]
|}
|}
problem: There is no good way how on IP-DECT or analog interfaces with DTMF feature codes enabled, MWIs because of call-completion can be handled.<br/><br/>solution: Ignore these MWI messges<br/><br/>files: dtmffty.cpp<br/><br/>products: all<br/><br/>risks: no risk
problem: In all firmware versions before 8.00 the coding of the H.323 EFC elements does not conform to the standard. It cannot simply be changed, because then compatibility to innovaphone equipment with version 6.00 and 7.00 (earlier versions had no EFC) is lost.<br/><br/>solution: With 'config change H323 /fix 1' the default coding of the EFC elements is changed to be standard. A PBX/Gatekeeper uses innovaphone parameters to transmit this information to any registered clients. Clients adapt the coding according to the information received at registration. If the PBX/Gatekeeper is non-innovaphone the standard coding is used.<br/><br/>files: h323sig.cpp, h323ras.cpp<br/><br/>products: all<br/><br/>risks: Minimal risk of collateral damage
      
      
=== Logging of Administration did show passwords ===
=== PBX: Minimum of No Answer Timeout reduced from 4s to 2s ===


{|
{|
Line 2,853: Line 2,844:
|-
|-
|Id
|Id
|[http://mantis.innovaphone.com/view.php?id=38194 38194]
|[http://mantis.innovaphone.com/view.php?id=38040 38040]
|}
|}
problem: If Administration logging was activated, any password changes were logged. This is considered a security problem.<br/><br/>solution: Passwords replaced by '****'<br/><br/>files: command.cpp<br/><br/>products: all<br/><br/>risks: Minimal risk of collateral damage
problem: For some special applications a CFNR timeout of 4s is too long.<br/><br/>solution: Limit reduced to 2s<br/><br/>files: pbx.cpp<br/><br/>products: all with PBX<br/><br/>risks: No risk
      
      
=== IP24, IP302, ... trap if diverted call to analog interface is received ===
=== H.323 RAS Registration failover to another address which changes local address sometimes fails ===


{|
{|
Line 2,864: Line 2,855:
|-
|-
|Id
|Id
|[http://mantis.innovaphone.com/view.php?id=38198 38198]
|[http://mantis.innovaphone.com/view.php?id=38043 38043]
|}
|}
problem: If a diverted call, which is a call containing a leg2 facility, to an analog interface is received. The box restarts because of a NULL pointer access<br/><br/>solution: Fix the handling of the fact, that the analog signaling does not know leg2 facilities<br/><br/>files: relay.cpp<br/><br/>products: all with analog interfaces<br/><br/>risks: None
problem: A failover to another address may change the local address, because to the new address another local network interface may be used. An example for this is a failover from an address on the local ethernet to the loopback address. For the packets sent to the new interface, still the old source address was used.<br/><br/>solution: Initialize local address in this case.<br/><br/>files: h323sig.cpp<br/><br/>products: all<br/><br/>risks: Small risk of collateral damage
      
      
=== call-forward was executed on pickup calls ===
=== mod cmd UP0 scfg ... /force &lt;hours&gt; does not work ===


{|
{|
Line 2,875: Line 2,866:
|-
|-
|Id
|Id
|[http://mantis.innovaphone.com/view.php?id=38214 38214]
|[http://mantis.innovaphone.com/view.php?id=38044 38044]
|}
|}
problem: If pickup was initiated with a function key and there was a CFU set for this user, then the CFU was executed for the resulting pickup call, so the call was not indicated on the phone where the f-key was pressed, but on the cfu destination. This was very confusing for users.<br/><br/>solution: Do not execute cfu in this case<br/><br/>files: pbx.cpp<br/><br/>products: all with pbx<br/><br/>risks: Small risk of collateral damage in the area of call routing on pbx
Description:<br/>"/force <hours>" shall force excution of the 'scfg' script commmand any <hours>. <hours> were evaluated correctly but the execution was not triggered.     <br/><br/>Solution: set the execution trigger.<br/><br/>Products affected: all<br/><br/>Files: update.cpp<br/><br/>Risk: none
''Status:''
checked in to 7.00, 8.00
      
      
=== Gateway: ',' not possible in registration name ===
=== MOH with random=true did not work on local resources ===


{|
{|
Line 2,886: Line 2,879:
|-
|-
|Id
|Id
|[http://mantis.innovaphone.com/view.php?id=38216 38216]
|[http://mantis.innovaphone.com/view.php?id=38066 38066]
|}
|}
problem: A ',' in registration name cause the string behind the ',' being interpreted as registration number<br/><br/>solution: First seperate name/number, then do urldecode<br/><br/>files: gk.cpp<br/><br/>products: all with Gateway<br/><br/>risks: None
Problem: Local MOH-URL with "random=true" always started at beginning of file.<br/><br/>Solution: Honor "random=true" when using FILE_IO to access MOH file.<br/><br/>Files: httpclient_i.cpp httpclient_i.h<br/><br/>Products affected: All PBX devices<br/><br/>Risk: MOH and any other kind of announcement will not work (worst case)
      
      
=== PBX Waiting: DTMF destination using '.' to match any digit combined with destination name did not work ===
=== IP240: directory search for a name starting with a special character other than 1st special character impossible ===


{|
{|
Line 2,897: Line 2,890:
|-
|-
|Id
|Id
|[http://mantis.innovaphone.com/view.php?id=38217 38217]
|[http://mantis.innovaphone.com/view.php?id=38074 38074]
|}
|}
problem: A destination name configured in a Waiting queue for received DTMF with '.' used in the to be mached DTMF digits did not work. The name was not dialed, but only the entered digits<br/><br/>solution: Dial name in this situation<br/><br/>files: pbx_wait.cpp<br/><br/>products: all with PBX<br/><br/>risks: None
problem: IP240: directory search for a name starting with a special character other than 1st special character impossible. E.g. a name starting with å cannot be entered so easily, because pressing alt+a gives an ä, and changes to phone-directory search mode as expected, but does not allow further toggling to å.<br/><br/>solution: fixed in firmware.<br/><br/>files: phone/forms.h phone/forms/forms_keyboard.cpp phone/dir/phone_dir_ui.cpp<br/><br/>products: IP240, IP210<br/><br/>risks: unknown<br/><br/>
      
      
=== H.323 discovery or registration with password does not work thru ETH1 on the PBX ===
=== Trap when disconnecting while blind transfer pending ===


{|
{|
Line 2,908: Line 2,901:
|-
|-
|Id
|Id
|[http://mantis.innovaphone.com/view.php?id=38219 38219]
|[http://mantis.innovaphone.com/view.php?id=38100 38100]
|}
|}
problem: If a GatekeeperRequest message is received on ETH1, the response is sent out using the IP address of ETH0, so the client receives a wrong IP address. The GatekeeperRequest message is used for registration with password and for Gatekeeper Discovery.<br/><br/>solution: Send out the IP address whiches matches to the address of the client<br/><br/>files: h323ras.cpp, h323.h<br/><br/>products: all<br/><br/>risk: Minimal risk of collateral damage
Problem: Trap after onhook at dect handset while blind transfer is ongoing (ringing replacement call)<br/><br/>Solution: Fix handling of onhook at dect handset<br/><br/>Files: dectradio.cpp<br/><br/>Products affected: All Dect devices<br/><br/>Risk: Low
      
      
=== Media re-negotiation with media-relay exclusive coder interface did not work ===
=== IP150 Manufacturing: Allow to set default language ===


{|
{|
Line 2,919: Line 2,912:
|-
|-
|Id
|Id
|[http://mantis.innovaphone.com/view.php?id=38635 38635]
|[http://mantis.innovaphone.com/view.php?id=38104 38104]
|}
|}
problem: Media-relay-exclusive-coder interfaces are used as connection to carriers which do not support media renegotiation. Any tranfer or other operation which results in media re-negotiation on a PBX behind such an interface should result in local media re-neg. only. This did not work for some special scenarios<br/><br/>fix: Handle the special scenarios<br/><br/>files: h323ch.cpp<br/><br/>products: all
problem: default language needs the same interface as oem-code<br/><br/>solution: add function to commandprocessor, flashman and cpu<br/><br/>files: command.cpp flashman.cpp cpu.cpp flash.h cpu.h<br/><br/>products: all<br/><br/>risks: low
      
      
=== Empty facility messages sent to non-innovaphone equipment ===
=== OEM specific event handling for info messages ===


{|
{|
Line 2,930: Line 2,923:
|-
|-
|Id
|Id
|[http://mantis.innovaphone.com/view.php?id=38636 38636]
|[http://mantis.innovaphone.com/view.php?id=38138 38138]
|}
|}
problem: Innovaphone facilities are not sent to non-innovaphone equipment, but this filter caused empty facility messages to be sent instead of omitting these messages completely. This can confuse other equipment<br/><br/>solution: Don't send these messages<br/><br/>files: h323sig.cpp<br/><br/>products: all<br/><br/>risk: Very small risk of collateral damage
Problem: Signaling info messages are forwarded in Master without keypad info in a OEM specific case.<br/><br/>Solution: Implementation fixed.<br/><br/>Files: dectmaster.cpp.<br/><br/>Products affected: IP4001, IP1201.<br/><br/>Risk: Minimal. Only OEM specific.
      
      
=== PBX Twin Phone feature did not work together with group indications ===
=== Lost 200/OK for REGISTER caused switch-over to secondary/backup SIP proxy ===


{|
{|
Line 2,941: Line 2,934:
|-
|-
|Id
|Id
|[http://mantis.innovaphone.com/view.php?id=38758 38758]
|[http://mantis.innovaphone.com/view.php?id=38151 38151]
|}
|}
problem: On a PBX user with group indications incoming calls were not only sent to the busy phone (in case there was a busy phone), but to the other phones as well.<br/><br/>solution: Do not handle calls to the phone used to send group indications as normal calls<br/><br/>files: pbx.cpp<br/><br/>products: all with PBX<br/><br/>risks: Minimal risk of collateral damage
Problem: Missing 200/OK for REGISTER caused switch-over to secondary/backup SIP proxy. Even if 100/Trying was received.<br/><br/>Solution: Do not switch over to secondary SIP proxy if provosional response (100 Trying) has been received. Re-try REGISTER immediately.<br/><br/>Files: sip.cpp sip.h siptrans.cpp siptrans.h<br/><br/>Products affected: All devices using SIP<br/><br/>Risk: Low
      
      
=== PBX SOAP SendMessage: Not possible to send messages to users at other PBXs ===
=== Inbound calls on ENUM/SIP interfaces were rejected ===


{|
{|
Line 2,952: Line 2,945:
|-
|-
|Id
|Id
|[http://mantis.innovaphone.com/view.php?id=38774 38774]
|[http://mantis.innovaphone.com/view.php?id=38154 38154]
|}
|}
problem: When trying to send messages with SOAP/UserMessage to destinations at other PBXs, the call used to transmit this message was sent without destination address to the other PBX and could not be terminated there.<br/><br/>solution: Use right destination address<br/><br/>files: pbx_xml.cpp<br/><br/>products: all with PBX<br/><br/>risks: Minimal risk of collateral damage
Problem: Inbound calls on ENUM/SIP interfaces were rejected with 407 due to filter configuration (remote ip address). Filte cannot be configured for ENUM/SIP interfaces.<br/><br/>Solution: Use fix mask 0.0.0.0 to accept inbound calls.<br/><br/>Files: sip.cpp<br/><br/>Products affected: All gateway devices<br/><br/>Risk: No risk
      
      
=== H.450 call-completion request coding failed if destination number empty ===
=== out of memory trap when firmware upload fails (for example because of a flash problem) ===


{|
{|
Line 2,963: Line 2,956:
|-
|-
|Id
|Id
|[http://mantis.innovaphone.com/view.php?id=38796 38796]
|[http://mantis.innovaphone.com/view.php?id=38180 38180]
|}
|}
problem: A H.450 CC request was coded wrong in case the destination number was empty. This can happen in some QSIG interworking scenarios<br/><br/>solution: Coding fixed<br/><br/>files: h450.cpp<br/><br/>products: all<br/><br/>risks: None
Description: the data to write is kept in a packet which is only freed when an upload is started. After a succcessful upload the packet is empty but in case of a premature abort the packet may hold a large amount of data  <br/><br/>Solution: delete data at time of error, not only before next upload<br/><br/>Products affected: all<br/><br/>Files: flash_firmware.cpp<br/><br/>Risk: none
''Status:''
fixed in 8.00, 7.00
      
      
=== PBX: Restart when trying to add a node object without name ===
=== IP-DECT or anlog interfaces with DTMF feature codes enabled cannot handle call-completion MWIs ===


{|
{|
Line 2,974: Line 2,969:
|-
|-
|Id
|Id
|[http://mantis.innovaphone.com/view.php?id=38805 38805]
|[http://mantis.innovaphone.com/view.php?id=38190 38190]
|}
|}
problem: If a Node object is added without name a restart happens.<br/><br/>solution: Display error if no name is configured for node<br/><br/>files: pbx_admin.cpp<br/><br/>products: all with PBX<br/><br/>risks: None
problem: There is no good way how on IP-DECT or analog interfaces with DTMF feature codes enabled, MWIs because of call-completion can be handled.<br/><br/>solution: Ignore these MWI messges<br/><br/>files: dtmffty.cpp<br/><br/>products: all<br/><br/>risks: no risk
      
      
=== Strange characters in device name if too many öäü... are used ===
=== Logging of Administration did show passwords ===


{|
{|
Line 2,985: Line 2,980:
|-
|-
|Id
|Id
|[http://mantis.innovaphone.com/view.php?id=39109 39109]
|[http://mantis.innovaphone.com/view.php?id=38194 38194]
|}
|}
problem: A buffer definition has not taken into account, that a non-ascii7 character takes 6 bytes if stored url-encoded utf8<br/><br/>solution: Buffer size adjusted<br/><br/>files: command.cpp, command.h<br/><br/>products: all<br/><br/>risks: none
problem: If Administration logging was activated, any password changes were logged. This is considered a security problem.<br/><br/>solution: Passwords replaced by '****'<br/><br/>files: command.cpp<br/><br/>products: all<br/><br/>risks: Minimal risk of collateral damage
      
      
=== Call Forward to trunk does not work if can-redirect is set, but redirection not possible ===
=== IP24, IP302, ... trap if diverted call to analog interface is received ===


{|
{|
Line 2,996: Line 2,991:
|-
|-
|Id
|Id
|[http://mantis.innovaphone.com/view.php?id=39124 39124]
|[http://mantis.innovaphone.com/view.php?id=38198 38198]
|}
|}
problem: To do redirection the destination number has to be adjusted (trunk prefix removed). This is done even if redirection is not possible. A redirection cannot be done if the call destination is a broadcast group and one member has a forward configured.<br/><br/>solution: Adjust number only if redirection is actually performed<br/><br/>files: pbx.cpp<br/><br/>products: all with PBX<br/><br/>risks: None
problem: If a diverted call, which is a call containing a leg2 facility, to an analog interface is received. The box restarts because of a NULL pointer access<br/><br/>solution: Fix the handling of the fact, that the analog signaling does not know leg2 facilities<br/><br/>files: relay.cpp<br/><br/>products: all with analog interfaces<br/><br/>risks: None
      
      
=== new H.323 signaling option to transmit H.245 tunneled messages in Facility only ===
=== call-forward was executed on pickup calls ===


{|
{|
Line 3,007: Line 3,002:
|-
|-
|Id
|Id
|[http://mantis.innovaphone.com/view.php?id=39125 39125]
|[http://mantis.innovaphone.com/view.php?id=38214 38214]
|}
|}
problem: Some poor H.323 implementations require H.245 tunneled messages to be transmitted in H.225 Facility only. In the past this was combined with the h245-after-connect option (another fix for poor implementations).<br/><br/>solution: New option for H.245 tunneling in facility only<br/><br/>files: signal.h, h323.h, h323sig.cpp, dectmaster.h, dectmaster.cpp<br/><br/>products: all<br/><br/>risks: None
problem: If pickup was initiated with a function key and there was a CFU set for this user, then the CFU was executed for the resulting pickup call, so the call was not indicated on the phone where the f-key was pressed, but on the cfu destination. This was very confusing for users.<br/><br/>solution: Do not execute cfu in this case<br/><br/>files: pbx.cpp<br/><br/>products: all with pbx<br/><br/>risks: Small risk of collateral damage in the area of call routing on pbx
      
      
=== too many 'No  Media Data Received' events ===
=== Gateway: ',' not possible in registration name ===


{|
{|
Line 3,018: Line 3,013:
|-
|-
|Id
|Id
|[http://mantis.innovaphone.com/view.php?id=39143 39143]
|[http://mantis.innovaphone.com/view.php?id=38216 38216]
|}
|}
problem: In special traffic cases or if a call was up very short it is normal that no media data is received during the call, still a 'No Media Data Received' event was generated<br/><br/>solution: Generate 'No Media Data received' event if for more then 4s no data is received on an connected call<br/><br/>files: medialib.h, media.cpp<br/><br/>products: all<br/><br/>risks: None
problem: A ',' in registration name cause the string behind the ',' being interpreted as registration number<br/><br/>solution: First seperate name/number, then do urldecode<br/><br/>files: gk.cpp<br/><br/>products: all with Gateway<br/><br/>risks: None
      
      
=== PBX: External calls not released automatically anymore ===
=== PBX Waiting: DTMF destination using '.' to match any digit combined with destination name did not work ===


{|
{|
Line 3,029: Line 3,024:
|-
|-
|Id
|Id
|[http://mantis.innovaphone.com/view.php?id=39161 39161]
|[http://mantis.innovaphone.com/view.php?id=38217 38217]
|}
|}
problem: In v6 phones released a call which was connected after a 2s timeout after receiving disconnect. This way a busy tone was played for 2s only. In v7 we had to change this, because we needed better control from the TAPI over the phone.<br/><br/>solution: Automatic disconnect now implemented in the Trunk object<br/><br/>files: pbx_trunk.cpp, pbx_trunk.h<br/><br/>products: all with PBX<br/><br/>risks: Very low risk of collateral damage
problem: A destination name configured in a Waiting queue for received DTMF with '.' used in the to be mached DTMF digits did not work. The name was not dialed, but only the entered digits<br/><br/>solution: Dial name in this situation<br/><br/>files: pbx_wait.cpp<br/><br/>products: all with PBX<br/><br/>risks: None
      
      
=== PBX: Reject External call rejects calls diverted with CFNR as well ===
=== H.323 discovery or registration with password does not work thru ETH1 on the PBX ===


{|
{|
Line 3,040: Line 3,035:
|-
|-
|Id
|Id
|[http://mantis.innovaphone.com/view.php?id=39165 39165]
|[http://mantis.innovaphone.com/view.php?id=38219 38219]
|}
|}
problem: If the Reject External Calls flag is set at a user, calls which are diverted to this user with CFNR are rejected as well.<br/><br/>solution: Fix code so that checking of internal number works<br/><br/>files: pbx.cpp<br/><br/>products: all with PBX<br/><br/>risks: None
problem: If a GatekeeperRequest message is received on ETH1, the response is sent out using the IP address of ETH0, so the client receives a wrong IP address. The GatekeeperRequest message is used for registration with password and for Gatekeeper Discovery.<br/><br/>solution: Send out the IP address whiches matches to the address of the client<br/><br/>files: h323ras.cpp, h323.h<br/><br/>products: all<br/><br/>risk: Minimal risk of collateral damage
      
      
=== EDSS1 divertingLegInformation2 not decoded ===
=== Loosing registration when SIP server changes its ip address ===


{|
{|
Line 3,051: Line 3,046:
|-
|-
|Id
|Id
|[http://mantis.innovaphone.com/view.php?id=38267 38267]
|[http://mantis.innovaphone.com/view.php?id=38228 38228]
|}
|}
Description: Interworking for EDSS1 divertingLegInformation2<br/><br/>Solution: decode supplementary service facility divertingLegInformation2<br/><br/>Products affected: all gateways<br/><br/>Files: g950.cpp<br/><br/>Risk: none
Problem: Some SIP server may change its IP address. No DNS is done to get the new IP address.<br/><br/>Solution: Query DNS for new Ip address of SIP server.<br/><br/>Files: sip.cpp sip.h<br/><br/>Products affected: All devices using SIP<br/><br/>Risk: Low
''Status:''
v8,v7,v6
      
      
=== VM trace messages without trace flag set ===
=== Web GUI shall use a relative reference ("//...") instead of an absolute URI ("http://...) for a link to an extenal box ===


{|
{|
Line 3,064: Line 3,057:
|-
|-
|Id
|Id
|[http://mantis.innovaphone.com/view.php?id=38857 38857]
|[http://mantis.innovaphone.com/view.php?id=38252 38252]
|}
|}
problem: Voicemail trace messages not suppressable<br/><br/>solution: suppress trace outputs<br/><br/>files: pbx_vm.cpp, vm_script_if.cpp<br/><br/>products: All PBX products<br/><br/>risks: No risk
Description: If a box is accessed via https an access to another box via the GUI should also use https.  <br/><br/>Solution: use releative references, i.e. leave off the scheme<br/><br/>Products affected: all<br/><br/>Files: alarm_log.xsl fault_details.xsl fault_log.xsl dhcp_leases.xsl<br/><br/>Risk: none <br/>
''Status:''
checked in to 8.00, 7.00
      
      
=== Upload GUI css oem change ===
=== EDSS1 divertingLegInformation2 not decoded ===


{|
{|
Line 3,075: Line 3,070:
|-
|-
|Id
|Id
|[http://mantis.innovaphone.com/view.php?id=38634 38634]
|[http://mantis.innovaphone.com/view.php?id=38267 38267]
|}
|}
Problem: Upload Firmware/Bootcode progress percent is not independent for oem products.<br/><br/>Solution: HTML changed.<br/><br/>Files: up_boot_v7.htm, up_prot_v7.htm, *.css (OEM).<br/><br/>Products affected: All products.<br/><br/>Risk: Low.
Description: Interworking for EDSS1 divertingLegInformation2<br/><br/>Solution: decode supplementary service facility divertingLegInformation2<br/><br/>Products affected: all gateways<br/><br/>Files: g950.cpp<br/><br/>Risk: none
''Status:''
v8,v7,v6
      
      
=== Conference Interface duplicate release ===
=== OEM specific trunk down handling ===


{|
{|
Line 3,086: Line 3,083:
|-
|-
|Id
|Id
|[http://mantis.innovaphone.com/view.php?id=38840 38840]
|[http://mantis.innovaphone.com/view.php?id=38284 38284]
|}
|}
Problem: Conference Interface sends duplicate release messages and it results in a trap. It occurs if conference is disconnected from MOH.<br/><br/>Solution: Implementation fixed.<br/><br/>Files: conference_sig.h conference_sig.cpp.<br/><br/>Products affected: All devices with Conference Interface.<br/><br/>Risk: Small risk of collateral damage. Only if conference is used.
Problem: Call is not rejected if trunk is down.<br/><br/>Solution: Implementation fixed.<br/><br/>Files: dectmaster.cpp.<br/><br/>Products affected: IP4001, IP1201.<br/><br/>Risk: Low. Only OEM specific.
      
      
=== OEM specific event handling for info messages ===
=== OEM specific GUI trunk state ===


{|
{|
Line 3,097: Line 3,094:
|-
|-
|Id
|Id
|[http://mantis.innovaphone.com/view.php?id=38138 38138]
|[http://mantis.innovaphone.com/view.php?id=38285 38285]
|}
|}
Problem: Signaling info messages are forwarded in Master without keypad info in a OEM specific case.<br/><br/>Solution: Implementation fixed.<br/><br/>Files: dectmaster.cpp.<br/><br/>Products affected: IP4001, IP1201.<br/><br/>Risk: Minimal. Only OEM specific.
Problem: Trunk state in Standby Master mode is wrong.<br/><br/>Solution: Implementation fixed.<br/><br/>Files: dectmaster.h.<br/><br/>Products affected: IP4001, IP1201.<br/><br/>Risk: Minimal. Only OEM specific.
      
      
=== OEM specific trunk down handling ===
=== PPP config shall exclude PRI interfaces without HDLC capability ===


{|
{|
Line 3,108: Line 3,105:
|-
|-
|Id
|Id
|[http://mantis.innovaphone.com/view.php?id=38284 38284]
|[http://mantis.innovaphone.com/view.php?id=38306 38306]
|}
|}
Problem: Call is not rejected if trunk is down.<br/><br/>Solution: Implementation fixed.<br/><br/>Files: dectmaster.cpp.<br/><br/>Products affected: IP4001, IP1201.<br/><br/>Risk: Low. Only OEM specific.
Description: Currently all PRI ports can be configured for PPP connections. This is confusing on an IP2000 (no HDLC support at all) or an IP3000 without HDLC chip.<br/> <br/>Solution: check HDLC/CHANNELS >= 1<br/><br/>Products affected: all<br/><br/>Files: ip_config.cpp<br/><br/>Risk: none
''Status:''
checked in to 8.00, 7.00
      
      
=== OEM specific GUI trunk state ===
=== Calling party's number/name ignored when processing MESSAGE request ===


{|
{|
Line 3,119: Line 3,118:
|-
|-
|Id
|Id
|[http://mantis.innovaphone.com/view.php?id=38285 38285]
|[http://mantis.innovaphone.com/view.php?id=38359 38359]
|}
|}
Problem: Trunk state in Standby Master mode is wrong.<br/><br/>Solution: Implementation fixed.<br/><br/>Files: dectmaster.h.<br/><br/>Products affected: IP4001, IP1201.<br/><br/>Risk: Minimal. Only OEM specific.
Problem: Calling party's number/name ignored when processing MESSAGE request.<br/><br/>Solution: Get calling party number/name from received MESSAGE request.<br/><br/>Files: sip.cpp<br/><br/>Products affected: All gateway devices<br/><br/>Risk: No risk
   
=== MESSAGE request rejected with 403 if registration lookup fails without trying 407 ===
 
{|
|Status
|<font><font color="green">Closed</font></font>
|-
|Id
|[http://mantis.innovaphone.com/view.php?id=38429 38429]
|}
Description: If registration look-up fails for MESSAGE request, 403 is send without trying 407 first.<br/><br/>Solution: Send 407 in order to get the username for registration look-up.<br/><br/>Products affected: PBX devices<br/><br/>Files: sip.cpp<br/><br/>Risk: none
      
      
=== OEM specific Dect endpoint idle display ===
=== OEM specific Dect endpoint idle display ===
Line 3,145: Line 3,155:
Problem: It is not possible to search for user names containing spaces in Dect user list.<br/><br/>Solution: URL decoding added.<br/><br/>Files: dectusers.cpp.<br/><br/>Products affected: IP4001, IP1201, IP1200.<br/><br/>Risk: Low.
Problem: It is not possible to search for user names containing spaces in Dect user list.<br/><br/>Solution: URL decoding added.<br/><br/>Files: dectusers.cpp.<br/><br/>Products affected: IP4001, IP1201, IP1200.<br/><br/>Risk: Low.
      
      
=== OEM specific location response message ===
=== src/dst port are put into src/dst ip address of tcp/udp packets coming from 127.x.x.x for wireshark pcap packets ===


{|
{|
Line 3,152: Line 3,162:
|-
|-
|Id
|Id
|[http://mantis.innovaphone.com/view.php?id=38821 38821]
|[http://mantis.innovaphone.com/view.php?id=38623 38623]
|}
|}
Problem: Delete command is sent to radios if an endpoint in location restore command is unknown by master. A location cancel command should be sent instead.<br/><br/>Solution: Implementation fixed.<br/><br/>Files: dectmaster.cpp, dectradio.cpp.<br/><br/>Products affected: IP4001, IP1201.<br/><br/>Risk: Low. Only OEM specific.
Problem: Wireshark can't differ different calls with local addresses.<br/><br/>Solution: local ip address bytes 2 and 3 used for port<br/><br/>Files: debug.cpp, debug.h, udp.cpp, tcp.cpp, tls.cpp<br/><br/>Products affected: all<br/><br/>Risk: Low.
      
      
=== DECT Standby-Master only starts if LDAP is synchronized ===
=== Upload GUI css oem change ===


{|
{|
Line 3,163: Line 3,173:
|-
|-
|Id
|Id
|[http://mantis.innovaphone.com/view.php?id=38828 38828]
|[http://mantis.innovaphone.com/view.php?id=38634 38634]
|}
|}
Problem: DECT Standby-Master only starts if LDAP is up and synchronized once.<br/><br/>Solution: Condition removed.<br/><br/>Files: dectmaster.cpp.<br/><br/>Products affected: All DECT devices.<br/><br/>Risk: Low.
Problem: Upload Firmware/Bootcode progress percent is not independent for oem products.<br/><br/>Solution: HTML changed.<br/><br/>Files: up_boot_v7.htm, up_prot_v7.htm, *.css (OEM).<br/><br/>Products affected: All products.<br/><br/>Risk: Low.
      
      
=== DECT MSF login ===
=== Media re-negotiation with media-relay exclusive coder interface did not work ===


{|
{|
Line 3,174: Line 3,184:
|-
|-
|Id
|Id
|[http://mantis.innovaphone.com/view.php?id=38831 38831]
|[http://mantis.innovaphone.com/view.php?id=38635 38635]
|}
|}
Problem: It is not possible to login to DECT MSF module with telnet.<br/><br/>Solution: Function signature changed.<br/><br/>Files: dectmsf.h, dectmsf.cpp.<br/><br/>Products affected: IP1200.<br/><br/>Risk: Low.
problem: Media-relay-exclusive-coder interfaces are used as connection to carriers which do not support media renegotiation. Any tranfer or other operation which results in media re-negotiation on a PBX behind such an interface should result in local media re-neg. only. This did not work for some special scenarios<br/><br/>fix: Handle the special scenarios<br/><br/>files: h323ch.cpp<br/><br/>products: all
      
      
=== OEM specific GUI redundant trunk state ===
=== Empty facility messages sent to non-innovaphone equipment ===


{|
{|
Line 3,185: Line 3,195:
|-
|-
|Id
|Id
|[http://mantis.innovaphone.com/view.php?id=39081 39081]
|[http://mantis.innovaphone.com/view.php?id=38636 38636]
|}
|}
Problem: Redundant trunk state in Standby Master mode is wrong.<br/><br/>Solution: Implementation fixed.<br/><br/>Files: dectmaster.cpp.<br/><br/>Products affected: IP4001, IP1201.<br/><br/>Risk: Minimal. Only OEM specific.
problem: Innovaphone facilities are not sent to non-innovaphone equipment, but this filter caused empty facility messages to be sent instead of omitting these messages completely. This can confuse other equipment<br/><br/>solution: Don't send these messages<br/><br/>files: h323sig.cpp<br/><br/>products: all<br/><br/>risk: Very small risk of collateral damage
      
      
=== OEM specific DECT connection messages ===
=== Fax/Modem relay with G711u does not work ===


{|
{|
Line 3,196: Line 3,206:
|-
|-
|Id
|Id
|[http://mantis.innovaphone.com/view.php?id=39092 39092]
|[http://mantis.innovaphone.com/view.php?id=38717 38717]
|}
|}
Problem: No OEM specific messages are sent to DECT if connection changes from Master to Standby-Master and vice versa.<br/><br/>Solution: Implementation fixed.<br/><br/>Files: dectradio.h, dectradio.cpp.<br/><br/>Products affected: IP4001, IP1201.<br/><br/>Risk: Low. Only OEM specific.
problem: Fax/Modem relay with G711u does not work<br/><br/>solution: Fix modem bypass payloadtype<br/><br/>files: ac_dsp3.cpp<br/><br/>products: ip22 ip24 ip28 ip302 ip305<br/><br/>risk: Very small risk of collateral damage
      
      
=== OEM specific Dect duplicate endpoint message option ===
=== PBX Twin Phone feature did not work together with group indications ===


{|
{|
Line 3,207: Line 3,217:
|-
|-
|Id
|Id
|[http://mantis.innovaphone.com/view.php?id=39096 39096]
|[http://mantis.innovaphone.com/view.php?id=38758 38758]
|}
|}
Problem: Location cancel command is sent to radios if a conflict is recognized. Dect message option is missed.<br/><br/>Solution: Message option added.<br/><br/>Files: dectmaster.h, dectmaster.cpp.<br/><br/>Products affected: IP4001, IP1201.<br/><br/>Risk: Low. Only OEM specific.
problem: On a PBX user with group indications incoming calls were not only sent to the busy phone (in case there was a busy phone), but to the other phones as well.<br/><br/>solution: Do not handle calls to the phone used to send group indications as normal calls<br/><br/>files: pbx.cpp<br/><br/>products: all with PBX<br/><br/>risks: Minimal risk of collateral damage
      
      
=== OEM specific broadcast message behavior ===
=== Trap in SIP message construction ===


{|
{|
Line 3,218: Line 3,228:
|-
|-
|Id
|Id
|[http://mantis.innovaphone.com/view.php?id=39130 39130]
|[http://mantis.innovaphone.com/view.php?id=38771 38771]
|}
|}
Problem: Broadcast messages should not be sent to radios which connection type is not static.<br/><br/>Solution: Condition for sending broadcast messages added.<br/><br/>Files: dectmaster.cpp.<br/><br/>Products affected: IP4001, IP1201.<br/><br/>Risk: Low. Only OEM specific.
problem: Trap when SIP message with Content-Type header is constructed<br/><br/>solution: Initialize unused members to zero<br/><br/>files: sipmsg.cpp<br/><br/>products: all SIP<br/>
      
      
=== DECT Standby-Master Trap ===
=== PBX SOAP SendMessage: Not possible to send messages to users at other PBXs ===


{|
{|
Line 3,229: Line 3,239:
|-
|-
|Id
|Id
|[http://mantis.innovaphone.com/view.php?id=39190 39190]
|[http://mantis.innovaphone.com/view.php?id=38774 38774]
|}
|}
Problem: DECT Standby-Master could trap if it is not completely configured and the Master reboots.<br/><br/>Solution: Fixed.<br/><br/>Files: dectmaster.cpp.<br/><br/>Products affected: All DECT devices.<br/><br/>Risk: Very low risk of collateral damage.
problem: When trying to send messages with SOAP/UserMessage to destinations at other PBXs, the call used to transmit this message was sent without destination address to the other PBX and could not be terminated there.<br/><br/>solution: Use right destination address<br/><br/>files: pbx_xml.cpp<br/><br/>products: all with PBX<br/><br/>risks: Minimal risk of collateral damage
      
      
=== IP240: directory search for a name starting with a special character other than 1st special character impossible ===
=== Media re-negotiation after transfer fails on SIP trunk and results in no-audio ===


{|
{|
Line 3,240: Line 3,250:
|-
|-
|Id
|Id
|[http://mantis.innovaphone.com/view.php?id=38074 38074]
|[http://mantis.innovaphone.com/view.php?id=38781 38781]
|}
|}
problem: IP240: directory search for a name starting with a special character other than 1st special character impossible. E.g. a name starting with å cannot be entered so easily, because pressing alt+a gives an ä, and changes to phone-directory search mode as expected, but does not allow further toggling to å.<br/><br/>solution: fixed in firmware.<br/><br/>files: phone/forms.h phone/forms/forms_keyboard.cpp phone/dir/phone_dir_ui.cpp<br/><br/>products: IP240, IP210<br/><br/>risks: unknown<br/><br/>
problem: Bad SDP offer is sent out to SIP provider during re-negotiation after internal transfer<br/><br/>solution: Fix handling of postponed app channels (in case of request-of-offer)<br/><br/>files: sip.cpp sip.h<br/><br/>products: all with SIP<br/><br/>risks:  
      
      
=== IP110: cannot reach sent message screen ===
=== H.450 call-completion request coding failed if destination number empty ===


{|
{|
Line 3,251: Line 3,261:
|-
|-
|Id
|Id
|[http://mantis.innovaphone.com/view.php?id=38836 38836]
|[http://mantis.innovaphone.com/view.php?id=38796 38796]
|}
|}
problem: on IP110 send message, go to main menu - messages - sent - list, try entering the message with arrow right, it is being dialed instead of showing message details<br/><br/>solution: fix in code<br/><br/>files: phone/list/phone_list_ui.cpp<br/><br/>products: IP110<br/><br/>risks: none<br/><br/><br/><br/>
problem: A H.450 CC request was coded wrong in case the destination number was empty. This can happen in some QSIG interworking scenarios<br/><br/>solution: Coding fixed<br/><br/>files: h450.cpp<br/><br/>products: all<br/><br/>risks: None
      
      
=== IP230: deactivated backlight level not being restored after reset ===
=== PBX: Restart when trying to add a node object without name ===


{|
{|
Line 3,262: Line 3,272:
|-
|-
|Id
|Id
|[http://mantis.innovaphone.com/view.php?id=38901 38901]
|[http://mantis.innovaphone.com/view.php?id=38805 38805]
|}
|}
problem: on IP230 go to phonesettings->set lcd_backlight to off and save changes by pressing the menu key. after reset, lcd-backlight is on although the phonesettings menu entry still off. <br/><br/>solution: the lcd-backlight level hasn't been set upon reboot. fixed in code.<br/><br/>files: phone/user/phone_user.cpp<br/><br/>products: IP230, IP240<br/><br/>risks: none<br/><br/><br/>
problem: If a Node object is added without name a restart happens.<br/><br/>solution: Display error if no name is configured for node<br/><br/>files: pbx_admin.cpp<br/><br/>products: all with PBX<br/><br/>risks: None
      
      
=== Trap, Voicemail &lt;pbx-im&gt; causes trap ===
=== OEM specific location response message ===


{|
{|
Line 3,273: Line 3,283:
|-
|-
|Id
|Id
|[http://mantis.innovaphone.com/view.php?id=39002 39002]
|[http://mantis.innovaphone.com/view.php?id=38821 38821]
|}
|}
problem: Voicemail <pbx-im> causes trap<br/><br/>solution: set fty_event_innovaphone_message.next to '0'<br/><br/>files: pbx_vm.cpp<br/><br/>products: All PBX products<br/><br/>risks: No risk <br/>
Problem: Delete command is sent to radios if an endpoint in location restore command is unknown by master. A location cancel command should be sent instead.<br/><br/>Solution: Implementation fixed.<br/><br/>Files: dectmaster.cpp, dectradio.cpp.<br/><br/>Products affected: IP4001, IP1201.<br/><br/>Risk: Low. Only OEM specific.
      
      
=== IP150 Manufacturing: Allow to set default language ===
=== new phone mode "Use Phone Handset like a Headset, Ingnore Hookswitch Signals" ===


{|
{|
Line 3,284: Line 3,294:
|-
|-
|Id
|Id
|[http://mantis.innovaphone.com/view.php?id=38104 38104]
|[http://mantis.innovaphone.com/view.php?id=38824 38824]
|}
|}
problem: default language needs the same interface as oem-code<br/><br/>solution: add function to commandprocessor, flashman and cpu<br/><br/>files: command.cpp flashman.cpp cpu.cpp flash.h cpu.h<br/><br/>products: all<br/><br/>risks: low
Description:<br/>some switchboard operators are used to work with the handset in a headset like manner. they never place the handset on hook and expect to receive inbound calls via handset instead via speakerphone.  <br/><br/>Solution:<br/>checkmark "Administration/Phone/Preferences/Use Phone Handset like a Headset, Ingnore Hookswitch Signals". If checked the handset will be operated like a headset, the headset port is disabled. inbound calls are accepted on the handset with the respective 'headset'-key (space (IP200a/IP240), Ok (IP230)). this key can also be used to drop the current call or to start a new call when the phone is idle. The speaker key works as usual.<br/>This mode is not supported for the IP110, IP111 and IP150.  <br/><br/>Products affected: all phones<br/><br/>Files: phone_pref.xsl app_call.cpp app_cfg.cpp app_cfg.h app_ctl.cpp app_disp.cpp app_form.cpp<br/><br/>Risk: minimal risk of collateral damage
      
      
=== sporadic assert in http.cpp ===
=== DECT Standby-Master only starts if LDAP is synchronized ===


{|
{|
Line 3,295: Line 3,305:
|-
|-
|Id
|Id
|[http://mantis.innovaphone.com/view.php?id=39152 39152]
|[http://mantis.innovaphone.com/view.php?id=38828 38828]
|}
|}
problem: sporadic assert in http.cpp<br/><br/>solution: add debug to http.cpp to find out the details<br/><br/>files: http.cpp<br/>products: all<br/><br/>risks: low
Problem: DECT Standby-Master only starts if LDAP is up and synchronized once.<br/><br/>Solution: Condition removed.<br/><br/>Files: dectmaster.cpp.<br/><br/>Products affected: All DECT devices.<br/><br/>Risk: Low.
      
      
=== T38 NAT Problem ===
=== DECT MSF login ===


{|
{|
Line 3,306: Line 3,316:
|-
|-
|Id
|Id
|[http://mantis.innovaphone.com/view.php?id=39074 39074]
|[http://mantis.innovaphone.com/view.php?id=38831 38831]
|}
|}
problem: NAT connection is not established if ip24 bedind the NAT doesnt start sending data.<br/><br/>solution: Send No-Signal indications every second if no fax signal is present.<br/><br/>files: ac_dsp3.cpp<br/><br/>products: ip22 ip24 ip28 ip302 ip305<br/>risks: low
Problem: It is not possible to login to DECT MSF module with telnet.<br/><br/>Solution: Function signature changed.<br/><br/>Files: dectmsf.h, dectmsf.cpp.<br/><br/>Products affected: IP1200.<br/><br/>Risk: Low.
      
      
=== T38 NAT Problem ===
=== port init confuses ===


{|
{|
Line 3,317: Line 3,327:
|-
|-
|Id
|Id
|[http://mantis.innovaphone.com/view.php?id=39111 39111]
|[http://mantis.innovaphone.com/view.php?id=38833 38833]
|}
|}
problem: NAT connection is not established if ip800/6000 behind the NAT doesnt start sending data.<br/><br/>solution: Send No-Signal indications every second if no fax signal is present.<br/><br/>files: ac_fax2.cpp ac_fax2.h<br/><br/>products: ip800 ip6000 <br/>risks: low  
Problem: Port initialization confuses depending on startup delay between the driver entities.<br/><br/>Solution: Solve this dependency<br/><br/>Files: si3241_drv.cpp<br/><br/>Products affected: ip28 only<br/><br/>Risk: low
      
      
=== no CLIP on internal calls with T-COM Concept P412 ===
=== Interop problem with SoundPoint IP 501 ===


{|
{|
Line 3,328: Line 3,338:
|-
|-
|Id
|Id
|[http://mantis.innovaphone.com/view.php?id=39010 39010]
|[http://mantis.innovaphone.com/view.php?id=38835 38835]
|}
|}
Description: T-COM Concept P412 does not present CLIP information on internal calls. This phone requires CLIP information only after the first ring pause. Internal calls normally start with two short rings with a pause that is too short for sending CLIP. In this case CLIP is sent after the second ring pulse which is not accepted by this phone.<br/><br/>Solution: add new feature 'first ring followed by CLIP' which starts ringing with a sort of preamble that consists of 100ms ring pulse and 1second pause carrying CLIP information. Afterwars normal ringing is continued.<br/><br/>Products affected: all analoue gateways except ip21<br/><br/>Risk: none
problem: If IP501 is held and MOH is about to be played to IP501, we send reINVITE with "sendonly" to IP501. IP501 answers with 'inactive' which caused the remote party to be put on hold also.<br/><br/>solution: Ignore 'inactive' in SDP answer when we sent 'sendonly' in SDP offer.<br/><br/>files: sip.cpp<br/><br/>products: All with SIP<br/><br/>risks: No risk.
''Status:''
fixed in V7-hotfix4, 7.00, 8.00
      
      
=== Lost 200/OK for REGISTER caused switch-over to secondary/backup SIP proxy ===
=== IP110: cannot reach sent message screen ===


{|
{|
Line 3,341: Line 3,349:
|-
|-
|Id
|Id
|[http://mantis.innovaphone.com/view.php?id=38151 38151]
|[http://mantis.innovaphone.com/view.php?id=38836 38836]
|}
|}
Problem: Missing 200/OK for REGISTER caused switch-over to secondary/backup SIP proxy. Even if 100/Trying was received.<br/><br/>Solution: Do not switch over to secondary SIP proxy if provosional response (100 Trying) has been received. Re-try REGISTER immediately.<br/><br/>Files: sip.cpp sip.h siptrans.cpp siptrans.h<br/><br/>Products affected: All devices using SIP<br/><br/>Risk: Low
problem: on IP110 send message, go to main menu - messages - sent - list, try entering the message with arrow right, it is being dialed instead of showing message details<br/><br/>solution: fix in code<br/><br/>files: phone/list/phone_list_ui.cpp<br/><br/>products: IP110<br/><br/>risks: none<br/><br/><br/><br/>
      
      
=== sporadic fifo problem  on ac_dsp3 ===
=== T38 capability indication at call setup (Interop Cirpack) ===


{|
{|
Line 3,352: Line 3,360:
|-
|-
|Id
|Id
|[http://mantis.innovaphone.com/view.php?id=39153 39153]
|[http://mantis.innovaphone.com/view.php?id=38837 38837]
|}
|}
Description: Sometimes the dsp fifo comes out of sync.<br/><br/>Solution: debugs added, assert added to find out more details. Update to DSP code 560.14 may help according to audiocodes<br/><br/>Products affected: ip22 ip24 ip28 ip302 ip305<br/><br/>Files: ac_dsp3.cpp<br/><br/>Risk: low
problem: Initial SDP offer lists audio AND t38. Both with media port. Cirpack does not switch over to t38 with reINVITE. Which is required by innovaphone.<br/><br/>solution: List t38 in initial offer with port=0. Means t38 is a supported capability.<br/><br/>files: sdpmsg.cpp<br/><br/>products: All with SIP<br/><br/>risks: May trouble other equipment
''Status:''
checked in to 8.00, 7.00, 08-70300
      
      
=== mod cmd UP0 scfg ... /force &lt;hours&gt; does not work ===
=== Conference Interface duplicate release ===


{|
{|
Line 3,363: Line 3,373:
|-
|-
|Id
|Id
|[http://mantis.innovaphone.com/view.php?id=38044 38044]
|[http://mantis.innovaphone.com/view.php?id=38840 38840]
|}
|}
Description:<br/>"/force <hours>" shall force excution of the 'scfg' script commmand any <hours>. <hours> were evaluated correctly but the execution was not triggered.     <br/><br/>Solution: set the execution trigger.<br/><br/>Products affected: all<br/><br/>Files: update.cpp<br/><br/>Risk: none
Problem: Conference Interface sends duplicate release messages and it results in a trap. It occurs if conference is disconnected from MOH.<br/><br/>Solution: Implementation fixed.<br/><br/>Files: conference_sig.h conference_sig.cpp.<br/><br/>Products affected: All devices with Conference Interface.<br/><br/>Risk: Small risk of collateral damage. Only if conference is used.
''Status:''
checked in to 7.00, 8.00
      
      
=== out of memory trap when firmware upload fails (for example because of a flash problem) ===
=== VM trace messages without trace flag set ===


{|
{|
Line 3,376: Line 3,384:
|-
|-
|Id
|Id
|[http://mantis.innovaphone.com/view.php?id=38180 38180]
|[http://mantis.innovaphone.com/view.php?id=38857 38857]
|}
|}
Description: the data to write is kept in a packet which is only freed when an upload is started. After a succcessful upload the packet is empty but in case of a premature abort the packet may hold a large amount of data  <br/><br/>Solution: delete data at time of error, not only before next upload<br/><br/>Products affected: all<br/><br/>Files: flash_firmware.cpp<br/><br/>Risk: none
problem: Voicemail trace messages not suppressable<br/><br/>solution: suppress trace outputs<br/><br/>files: pbx_vm.cpp, vm_script_if.cpp<br/><br/>products: All PBX products<br/><br/>risks: No risk
''Status:''
fixed in 8.00, 7.00
      
      
=== Web GUI shall use a relative reference ("//...") instead of an absolute URI ("http://...) for a link to an extenal box ===
=== Mask for remote ip address filter not configurable for SIP interfaces ===


{|
{|
Line 3,389: Line 3,395:
|-
|-
|Id
|Id
|[http://mantis.innovaphone.com/view.php?id=38252 38252]
|[http://mantis.innovaphone.com/view.php?id=38865 38865]
|}
|}
Description: If a box is accessed via https an access to another box via the GUI should also use https. <br/><br/>Solution: use releative references, i.e. leave off the scheme<br/><br/>Products affected: all<br/><br/>Files: alarm_log.xsl fault_details.xsl fault_log.xsl dhcp_leases.xsl<br/><br/>Risk: none <br/>
problem: Mask for remote ip address filter not configurable for SIP interfaces. (Default was 255.255.255.255)<br/><br/>solution: Make remote mask configurable for SIP interfaces.<br/><br/>files: sip.cpp<br/><br/>products: All with SIP<br/><br/>risks: No risk
''Status:''
checked in to 8.00, 7.00
      
      
=== PPP config shall exclude PRI interfaces without HDLC capability ===
=== Bug on call handling on SIP/ISDN calls ===


{|
{|
Line 3,402: Line 3,406:
|-
|-
|Id
|Id
|[http://mantis.innovaphone.com/view.php?id=38306 38306]
|[http://mantis.innovaphone.com/view.php?id=38889 38889]
|}
|}
Description: Currently all PRI ports can be configured for PPP connections. This is confusing on an IP2000 (no HDLC support at all) or an IP3000 without HDLC chip.<br/> <br/>Solution: check HDLC/CHANNELS >= 1<br/><br/>Products affected: all<br/><br/>Files: ip_config.cpp<br/><br/>Risk: none
problem: If the incoming SIP call was terminated before connect, a new SIP call was initiated in reverse direction.<br/><br/>solution: Cleanup postponed events on call release.<br/><br/>files: sip.cpp<br/><br/>products: All with SIP<br/><br/>risks: No risk
''Status:''
checked in to 8.00, 7.00
      
      
=== Indeterminate pickup behaviour when multiple registrations receive group indications for the same call ===
=== Improve pseudo random number quality on IP6000 and IP4001 ===


{|
{|
Line 3,415: Line 3,417:
|-
|-
|Id
|Id
|[http://mantis.innovaphone.com/view.php?id=37969 37969]
|[http://mantis.innovaphone.com/view.php?id=38891 38891]
|}
|}
Description:<br/>A phone holds multiple registrations to the same gatekeeper. All registrations (users) are members in one group and have group indications enabled for this group. The active registration has a pickup key. If there is an alerting call to some other phone in the group all registrations receive a group indication for the alerting call. If the pickup key is pressed the pickup list shows an entry for each registration. Independent of the list entry selected the call was always picked via the registration with the lowest ordinal. <br/><br/>Solution: fix selection mechanism, let pickup list start with the entry of active registration.<br/><br/>Products affected: all phones<br/><br/>Files: app_ctl.h, app_fkey.cpp, app_gui.cpp, app_gui.h, app_reg.cpp<br/><br/>Risk: none
problem: The pseudo random numbers created by the kernel are highly correlated and predictable, under some circumstances.<br/><br/>solution: Implement the same algorithm as on the MIPS platform to get much better numbers.<br/><br/>files: ip6000.cpp, ip4001.cpp<br/><br/>products: IP6000, IP4001<br/><br/>risks: No risk
''Status:''
checked in to 7.00, 8.00
      
      
=== new phone mode "Use Phone Handset like a Headset, Ingnore Hookswitch Signals" ===
=== IP230: deactivated backlight level not being restored after reset ===


{|
{|
Line 3,428: Line 3,428:
|-
|-
|Id
|Id
|[http://mantis.innovaphone.com/view.php?id=38824 38824]
|[http://mantis.innovaphone.com/view.php?id=38901 38901]
|}
|}
Description:<br/>some switchboard operators are used to work with the handset in a headset like manner. they never place the handset on hook and expect to receive inbound calls via handset instead via speakerphone. <br/><br/>Solution:<br/>checkmark "Administration/Phone/Preferences/Use Phone Handset like a Headset, Ingnore Hookswitch Signals". If checked the handset will be operated like a headset, the headset port is disabled. inbound calls are accepted on the handset with the respective 'headset'-key (space (IP200a/IP240), Ok (IP230)). this key can also be used to drop the current call or to start a new call when the phone is idle. The speaker key works as usual.<br/>This mode is not supported for the IP110, IP111 and IP150.  <br/><br/>Products affected: all phones<br/><br/>Files: phone_pref.xsl app_call.cpp app_cfg.cpp app_cfg.h app_ctl.cpp app_disp.cpp app_form.cpp<br/><br/>Risk: minimal risk of collateral damage
problem: on IP230 go to phonesettings->set lcd_backlight to off and save changes by pressing the menu key. after reset, lcd-backlight is on although the phonesettings menu entry still off. <br/><br/>solution: the lcd-backlight level hasn't been set upon reboot. fixed in code.<br/><br/>files: phone/user/phone_user.cpp<br/><br/>products: IP230, IP240<br/><br/>risks: none<br/><br/><br/>
      
      
=== no media when retrieving a call put on hold because of a MCast  Announce call ===
=== possible null pointer access in pbx_dtmf/dirsearch with btree::get_count ===


{|
{|
Line 3,439: Line 3,439:
|-
|-
|Id
|Id
|[http://mantis.innovaphone.com/view.php?id=39140 39140]
|[http://mantis.innovaphone.com/view.php?id=38941 38941]
|}
|}
Description:<br/>When a busy phone receives a MCast Announce call the currently active call is put on hold, the announce call is connected and becomes the active call. When the announce call is released from remote a busy tone is played until the user presses the disconnect key. Then the previously active call is retrieved and made the active call again.<br/>The DSP/H323 channel binding was not released when holding the call and thus assigning another DSP channel on retrieve failed.    <br/><br/>Solution: send CHANNEL_PAUSE to DSP-channel to release the channel DSP/H323 binding <br/><br/>Products affected: all phones<br/><br/>Files: phone_dir_ui.cpp<br/><br/>Risk: low
Description: pbx traps with parallel directory search calls, if one of those calls currently has no search_results and a null pointer is accessed.<br/><br/>Solution: check for null pointer<br/><br/>Products affected: all pbx devices<br/><br/>Files: pbx_dirsearch.cpp, pbx_dtmf.cpp<br/><br/>Risk: none
''Status:''
checked in to 8.00, 7.00, 08-70300
      
      
=== Phone shall not play a local busy tone after another inband tone has been played already ===
=== Trap, Voicemail &lt;pbx-im&gt; causes trap ===


{|
{|
Line 3,452: Line 3,450:
|-
|-
|Id
|Id
|[http://mantis.innovaphone.com/view.php?id=39185 39185]
|[http://mantis.innovaphone.com/view.php?id=39002 39002]
|}
|}
problem: V7 phones do not automatically release a call which was connected after a 2s timeout after receiving disconnect. The PBX releases the call after 2 seconds now. As a side effect after 2 seconds busy tone from remote the local busy tone was played for two more seconds. <br/><br/>solution: Do not play a local busy tone if a disconnect was received before the release.<br/><br/>files: app_call.cpp<br/><br/>products: all phones<br/><br/>risks: Very low risk of collateral damage
problem: Voicemail <pbx-im> causes trap<br/><br/>solution: set fty_event_innovaphone_message.next to '0'<br/><br/>files: pbx_vm.cpp<br/><br/>products: All PBX products<br/><br/>risks: No risk <br/>
''Status:''
checked in to 8.00, 7.00, 08-70300
      
      
=== Improve pseudo random number quality on IP6000 and IP4001 ===
=== no CLIP on internal calls with T-COM Concept P412 ===


{|
{|
Line 3,465: Line 3,461:
|-
|-
|Id
|Id
|[http://mantis.innovaphone.com/view.php?id=38891 38891]
|[http://mantis.innovaphone.com/view.php?id=39010 39010]
|}
|}
problem: The pseudo random numbers created by the kernel are highly correlated and predictable, under some circumstances.<br/><br/>solution: Implement the same algorithm as on the MIPS platform to get much better numbers.<br/><br/>files: ip6000.cpp, ip4001.cpp<br/><br/>products: IP6000, IP4001<br/><br/>risks: No risk
Description: T-COM Concept P412 does not present CLIP information on internal calls. This phone requires CLIP information only after the first ring pause. Internal calls normally start with two short rings with a pause that is too short for sending CLIP. In this case CLIP is sent after the second ring pulse which is not accepted by this phone.<br/><br/>Solution: add new feature 'first ring followed by CLIP' which starts ringing with a sort of preamble that consists of 100ms ring pulse and 1second pause carrying CLIP information. Afterwars normal ringing is continued.<br/><br/>Products affected: all analoue gateways except ip21<br/><br/>Risk: none
''Status:''
fixed in V7-hotfix4, 7.00, 8.00
      
      
=== Call waiting indication from dect handset not transmitted to SIP PBX ===
=== T38 NAT Problem ===


{|
{|
Line 3,476: Line 3,474:
|-
|-
|Id
|Id
|[http://mantis.innovaphone.com/view.php?id=37985 37985]
|[http://mantis.innovaphone.com/view.php?id=39074 39074]
|}
|}
Problem: Call waiting indication (in ALERT) was not interworked to SIP<br/><br/>Solution: Interwork all FTY element in SIG_ALERT in Dectmaster<br/><br/>Files: dectmaster.cpp<br/><br/>Products affected: Dect devices<br/><br/>Risk: No risk
problem: NAT connection is not established if ip24 bedind the NAT doesnt start sending data.<br/><br/>solution: Send No-Signal indications every second if no fax signal is present.<br/><br/>files: ac_dsp3.cpp<br/><br/>products: ip22 ip24 ip28 ip302 ip305<br/>risks: low
      
      
=== Trap when disconnecting while blind transfer pending ===
=== OEM specific GUI redundant trunk state ===


{|
{|
Line 3,487: Line 3,485:
|-
|-
|Id
|Id
|[http://mantis.innovaphone.com/view.php?id=38100 38100]
|[http://mantis.innovaphone.com/view.php?id=39081 39081]
|}
|}
Problem: Trap after onhook at dect handset while blind transfer is ongoing (ringing replacement call)<br/><br/>Solution: Fix handling of onhook at dect handset<br/><br/>Files: dectradio.cpp<br/><br/>Products affected: All Dect devices<br/><br/>Risk: Low
Problem: Redundant trunk state in Standby Master mode is wrong.<br/><br/>Solution: Implementation fixed.<br/><br/>Files: dectmaster.cpp.<br/><br/>Products affected: IP4001, IP1201.<br/><br/>Risk: Minimal. Only OEM specific.
      
      
=== MOH with random=true did not work on local resources ===
=== OEM specific DECT connection messages ===


{|
{|
Line 3,498: Line 3,496:
|-
|-
|Id
|Id
|[http://mantis.innovaphone.com/view.php?id=38066 38066]
|[http://mantis.innovaphone.com/view.php?id=39092 39092]
|}
|}
Problem: Local MOH-URL with "random=true" always started at beginning of file.<br/><br/>Solution: Honor "random=true" when using FILE_IO to access MOH file.<br/><br/>Files: httpclient_i.cpp httpclient_i.h<br/><br/>Products affected: All PBX devices<br/><br/>Risk: MOH and any other kind of announcement will not work (worst case)
Problem: No OEM specific messages are sent to DECT if connection changes from Master to Standby-Master and vice versa.<br/><br/>Solution: Implementation fixed.<br/><br/>Files: dectradio.h, dectradio.cpp.<br/><br/>Products affected: IP4001, IP1201.<br/><br/>Risk: Low. Only OEM specific.
      
      
=== Do not send RSeq in provosional response, if 100rel not supported by remote side ===
=== OEM specific Dect duplicate endpoint message option ===


{|
{|
Line 3,509: Line 3,507:
|-
|-
|Id
|Id
|[http://mantis.innovaphone.com/view.php?id=37978 37978]
|[http://mantis.innovaphone.com/view.php?id=39096 39096]
|}
|}
Problem: RSeq was sent event if 100rel not supported by remote side.<br/><br/>Solution: Do not send RSeq in provosional response, if 100rel not supported by remote side. Add "Require: 100rel" when sending RSeq.<br/><br/>Files: sip.cpp siptrans.cpp<br/><br/>Products affected: All<br/><br/>Risk: No risk
Problem: Location cancel command is sent to radios if a conflict is recognized. Dect message option is missed.<br/><br/>Solution: Message option added.<br/><br/>Files: dectmaster.h, dectmaster.cpp.<br/><br/>Products affected: IP4001, IP1201.<br/><br/>Risk: Low. Only OEM specific.
      
      
=== Send 180/Ringing with Alert-Info instead of 182/Queued on Call-Waiting condition ===
=== Strange characters in device name if too many öäü... are used ===


{|
{|
Line 3,520: Line 3,518:
|-
|-
|Id
|Id
|[http://mantis.innovaphone.com/view.php?id=37980 37980]
|[http://mantis.innovaphone.com/view.php?id=39109 39109]
|}
|}
Problem: Some SIP devices don't start local ringback tone on reception of 182/Queued.<br/><br/>Solution: Do not send 182/Queued. Send 180/Ringing with "Alert-Info: <urn:alert:service:call-waiting>" instead.<br/><br/>Files: sip.cpp siptrans.cpp<br/><br/>Products affected: All<br/><br/>Risk: SIP endpoints which processed 182/Queued correctly my not recognize Alert-Info, but at least they will ring (without call waiting indication)
problem: A buffer definition has not taken into account, that a non-ascii7 character takes 6 bytes if stored url-encoded utf8<br/><br/>solution: Buffer size adjusted<br/><br/>files: command.cpp, command.h<br/><br/>products: all<br/><br/>risks: none
      
      
=== Trap while processing SUBSCRIBE(reg) ===
=== missing ring voltage after few days uptime ===


{|
{|
Line 3,531: Line 3,529:
|-
|-
|Id
|Id
|[http://mantis.innovaphone.com/view.php?id=37998 37998]
|[http://mantis.innovaphone.com/view.php?id=39110 39110]
|}
|}
Problem: Trap while processing SUBSCRIBE(reg).<br/><br/>Solution: Fixed<br/><br/>Files: sip.cpp<br/><br/>Products affected: All PBX devices<br/><br/>Risk: No risk
Description: si3241 chip refuses switching of the ring voltage to the analogue port. Instead a RING_FAIL_IA interrupt is thrown.<br/><br/>Solution: Apply a complete re-initialisation of the specific port when RING_FAIL_IA is thrown.<br/><br/>Products affected: ip28 only<br/><br/>Risk: low
      
      
=== DTMF during Early Media (after "183 Session Progress") ===
=== T38 NAT Problem ===


{|
{|
Line 3,542: Line 3,540:
|-
|-
|Id
|Id
|[http://mantis.innovaphone.com/view.php?id=38021 38021]
|[http://mantis.innovaphone.com/view.php?id=39111 39111]
|}
|}
Problem: Key events after reception of "183 Session Progress" were handled as overlap dialing acc. RFC-3578, not as DTMF<br/><br/>Solution: Take 183 response without "P-Sig-Options: Overlap-Dialing" as Address Complete Message<br/><br/>Files: sip.cpp sip.h siptrans.cpp siptrans.h sipstate.cpp<br/><br/>Products affected: All devices<br/><br/>Risk: No risk
problem: NAT connection is not established if ip800/6000 behind the NAT doesnt start sending data.<br/><br/>solution: Send No-Signal indications every second if no fax signal is present.<br/><br/>files: ac_fax2.cpp ac_fax2.h<br/><br/>products: ip800 ip6000 <br/>risks: low
      
      
=== Inbound calls on ENUM/SIP interfaces were rejected ===
=== Call Forward to trunk does not work if can-redirect is set, but redirection not possible ===


{|
{|
Line 3,553: Line 3,551:
|-
|-
|Id
|Id
|[http://mantis.innovaphone.com/view.php?id=38154 38154]
|[http://mantis.innovaphone.com/view.php?id=39124 39124]
|}
|}
Problem: Inbound calls on ENUM/SIP interfaces were rejected with 407 due to filter configuration (remote ip address). Filte cannot be configured for ENUM/SIP interfaces.<br/><br/>Solution: Use fix mask 0.0.0.0 to accept inbound calls.<br/><br/>Files: sip.cpp<br/><br/>Products affected: All gateway devices<br/><br/>Risk: No risk
problem: To do redirection the destination number has to be adjusted (trunk prefix removed). This is done even if redirection is not possible. A redirection cannot be done if the call destination is a broadcast group and one member has a forward configured.<br/><br/>solution: Adjust number only if redirection is actually performed<br/><br/>files: pbx.cpp<br/><br/>products: all with PBX<br/><br/>risks: None
      
      
=== Loosing registration when SIP server changes its ip address ===
=== new H.323 signaling option to transmit H.245 tunneled messages in Facility only ===


{|
{|
Line 3,564: Line 3,562:
|-
|-
|Id
|Id
|[http://mantis.innovaphone.com/view.php?id=38228 38228]
|[http://mantis.innovaphone.com/view.php?id=39125 39125]
|}
|}
Problem: Some SIP server may change its IP address. No DNS is done to get the new IP address.<br/><br/>Solution: Query DNS for new Ip address of SIP server.<br/><br/>Files: sip.cpp sip.h<br/><br/>Products affected: All devices using SIP<br/><br/>Risk: Low
problem: Some poor H.323 implementations require H.245 tunneled messages to be transmitted in H.225 Facility only. In the past this was combined with the h245-after-connect option (another fix for poor implementations).<br/><br/>solution: New option for H.245 tunneling in facility only<br/><br/>files: signal.h, h323.h, h323sig.cpp, dectmaster.h, dectmaster.cpp<br/><br/>products: all<br/><br/>risks: None
      
      
=== Calling party's number/name ignored when processing MESSAGE request ===
=== OEM specific broadcast message behavior ===


{|
{|
Line 3,575: Line 3,573:
|-
|-
|Id
|Id
|[http://mantis.innovaphone.com/view.php?id=38359 38359]
|[http://mantis.innovaphone.com/view.php?id=39130 39130]
|}
|}
Problem: Calling party's number/name ignored when processing MESSAGE request.<br/><br/>Solution: Get calling party number/name from received MESSAGE request.<br/><br/>Files: sip.cpp<br/><br/>Products affected: All gateway devices<br/><br/>Risk: No risk
Problem: Broadcast messages should not be sent to radios which connection type is not static.<br/><br/>Solution: Condition for sending broadcast messages added.<br/><br/>Files: dectmaster.cpp.<br/><br/>Products affected: IP4001, IP1201.<br/><br/>Risk: Low. Only OEM specific.
      
      
=== MESSAGE request rejected with 403 if registration lookup fails without trying 407 ===
=== no media when retrieving a call put on hold because of a MCast  Announce call ===


{|
{|
Line 3,586: Line 3,584:
|-
|-
|Id
|Id
|[http://mantis.innovaphone.com/view.php?id=38429 38429]
|[http://mantis.innovaphone.com/view.php?id=39140 39140]
|}
|}
Description: If registration look-up fails for MESSAGE request, 403 is send without trying 407 first.<br/><br/>Solution: Send 407 in order to get the username for registration look-up.<br/><br/>Products affected: PBX devices<br/><br/>Files: sip.cpp<br/><br/>Risk: none
Description:<br/>When a busy phone receives a MCast Announce call the currently active call is put on hold, the announce call is connected and becomes the active call. When the announce call is released from remote a busy tone is played until the user presses the disconnect key. Then the previously active call is retrieved and made the active call again.<br/>The DSP/H323 channel binding was not released when holding the call and thus assigning another DSP channel on retrieve failed.     <br/><br/>Solution: send CHANNEL_PAUSE to DSP-channel to release the channel DSP/H323 binding <br/><br/>Products affected: all phones<br/><br/>Files: phone_dir_ui.cpp<br/><br/>Risk: low
''Status:''
checked in to 8.00, 7.00, 08-70300
      
      
=== Trap in SIP message construction ===
=== too many 'No  Media Data Received' events ===


{|
{|
Line 3,597: Line 3,597:
|-
|-
|Id
|Id
|[http://mantis.innovaphone.com/view.php?id=38771 38771]
|[http://mantis.innovaphone.com/view.php?id=39143 39143]
|}
|}
problem: Trap when SIP message with Content-Type header is constructed<br/><br/>solution: Initialize unused members to zero<br/><br/>files: sipmsg.cpp<br/><br/>products: all SIP<br/>
problem: In special traffic cases or if a call was up very short it is normal that no media data is received during the call, still a 'No Media Data Received' event was generated<br/><br/>solution: Generate 'No Media Data received' event if for more then 4s no data is received on an connected call<br/><br/>files: medialib.h, media.cpp<br/><br/>products: all<br/><br/>risks: None
      
      
=== Media re-negotiation after transfer fails on SIP trunk and results in no-audio ===
=== sporadic assert in http.cpp ===


{|
{|
Line 3,608: Line 3,608:
|-
|-
|Id
|Id
|[http://mantis.innovaphone.com/view.php?id=38781 38781]
|[http://mantis.innovaphone.com/view.php?id=39152 39152]
|}
|}
problem: Bad SDP offer is sent out to SIP provider during re-negotiation after internal transfer<br/><br/>solution: Fix handling of postponed app channels (in case of request-of-offer)<br/><br/>files: sip.cpp sip.h<br/><br/>products: all with SIP<br/><br/>risks:  
problem: sporadic assert in http.cpp<br/><br/>solution: add debug to http.cpp to find out the details<br/><br/>files: http.cpp<br/>products: all<br/><br/>risks: low
      
      
=== Interop problem with SoundPoint IP 501 ===
=== sporadic fifo problem on ac_dsp3 ===


{|
{|
Line 3,619: Line 3,619:
|-
|-
|Id
|Id
|[http://mantis.innovaphone.com/view.php?id=38835 38835]
|[http://mantis.innovaphone.com/view.php?id=39153 39153]
|}
|}
problem: If IP501 is held and MOH is about to be played to IP501, we send reINVITE with "sendonly" to IP501. IP501 answers with 'inactive' which caused the remote party to be put on hold also.<br/><br/>solution: Ignore 'inactive' in SDP answer when we sent 'sendonly' in SDP offer.<br/><br/>files: sip.cpp<br/><br/>products: All with SIP<br/><br/>risks: No risk.
Description: Sometimes the dsp fifo comes out of sync.<br/><br/>Solution: debugs added, assert added to find out more details. Update to DSP code 560.14 may help according to audiocodes<br/><br/>Products affected: ip22 ip24 ip28 ip302 ip305<br/><br/>Files: ac_dsp3.cpp<br/><br/>Risk: low
      
      
=== T38 capability indication at call setup (Interop Cirpack) ===
=== PBX: External calls not released automatically anymore ===


{|
{|
Line 3,630: Line 3,630:
|-
|-
|Id
|Id
|[http://mantis.innovaphone.com/view.php?id=38837 38837]
|[http://mantis.innovaphone.com/view.php?id=39161 39161]
|}
|}
problem: Initial SDP offer lists audio AND t38. Both with media port. Cirpack does not switch over to t38 with reINVITE. Which is required by innovaphone.<br/><br/>solution: List t38 in initial offer with port=0. Means t38 is a supported capability.<br/><br/>files: sdpmsg.cpp<br/><br/>products: All with SIP<br/><br/>risks: May trouble other equipment
problem: In v6 phones released a call which was connected after a 2s timeout after receiving disconnect. This way a busy tone was played for 2s only. In v7 we had to change this, because we needed better control from the TAPI over the phone.<br/><br/>solution: Automatic disconnect now implemented in the Trunk object<br/><br/>files: pbx_trunk.cpp, pbx_trunk.h<br/><br/>products: all with PBX<br/><br/>risks: Very low risk of collateral damage
''Status:''
checked in to 8.00, 7.00, 08-70300
      
      
=== Mask for remote ip address filter not configurable for SIP interfaces ===
=== PBX: Reject External call rejects calls diverted with CFNR as well ===


{|
{|
Line 3,643: Line 3,641:
|-
|-
|Id
|Id
|[http://mantis.innovaphone.com/view.php?id=38865 38865]
|[http://mantis.innovaphone.com/view.php?id=39165 39165]
|}
|}
problem: Mask for remote ip address filter not configurable for SIP interfaces. (Default was 255.255.255.255)<br/><br/>solution: Make remote mask configurable for SIP interfaces.<br/><br/>files: sip.cpp<br/><br/>products: All with SIP<br/><br/>risks: No risk
problem: If the Reject External Calls flag is set at a user, calls which are diverted to this user with CFNR are rejected as well.<br/><br/>solution: Fix code so that checking of internal number works<br/><br/>files: pbx.cpp<br/><br/>products: all with PBX<br/><br/>risks: None
      
      
=== Bug on call handling on SIP/ISDN calls ===
=== Phone shall not play a local busy tone after another inband tone has been played already ===


{|
{|
Line 3,654: Line 3,652:
|-
|-
|Id
|Id
|[http://mantis.innovaphone.com/view.php?id=38889 38889]
|[http://mantis.innovaphone.com/view.php?id=39185 39185]
|}
|}
problem: If the incoming SIP call was terminated before connect, a new SIP call was initiated in reverse direction.<br/><br/>solution: Cleanup postponed events on call release.<br/><br/>files: sip.cpp<br/><br/>products: All with SIP<br/><br/>risks: No risk  
problem: V7 phones do not automatically release a call which was connected after a 2s timeout after receiving disconnect. The PBX releases the call after 2 seconds now. As a side effect after 2 seconds busy tone from remote the local busy tone was played for two more seconds. <br/><br/>solution: Do not play a local busy tone if a disconnect was received before the release.<br/><br/>files: app_call.cpp<br/><br/>products: all phones<br/><br/>risks: Very low risk of collateral damage
''Status:''
checked in to 8.00, 7.00, 08-70300
      
      
=== IP72: WLAN page breaks after hitting the OK button below ===
=== DECT Standby-Master Trap ===


{|
{|
Line 3,665: Line 3,665:
|-
|-
|Id
|Id
|[http://mantis.innovaphone.com/view.php?id=37143 37143]
|[http://mantis.innovaphone.com/view.php?id=39190 39190]
|}
|}
problem: IP72: WLAN web-page breaks after hitting the OK button below. the error message is displayed (page not found). after pressing the reload button, the page becomes readable again.<br/><br/>solution: fix in code<br/><br/>files: box/wlan_mgr.cpp box/wlan_mgr.h<br/><br/>products: IP72<br/><br/>risks: none<br/><br/><br/>
Problem: DECT Standby-Master could trap if it is not completely configured and the Master reboots.<br/><br/>Solution: Fixed.<br/><br/>Files: dectmaster.cpp.<br/><br/>Products affected: All DECT devices.<br/><br/>Risk: Very low risk of collateral damage.
      
      
== Bug Fixes ==
== Bug Fixes ==
Line 3,681: Line 3,681:


      
      
=== Diagnostics/TEL5-TEL8 missing, Diagnostics/TEL1-TEL4 trace flags without function ===
=== Missing attribute "entity" in dialog information XML ===


{|
{|
Line 3,688: Line 3,688:
|-
|-
|Id
|Id
|[http://mantis.innovaphone.com/view.php?id=39545 39545]
|[http://mantis.innovaphone.com/view.php?id=39229 39229]
|}
|}
Description: GUI Diagnostics/TEL5-TEL8 missing, Diagnostics/TEL1-TEL4 trace flags without function.<br/><br/>Solution: Correct, add missing entries<br/><br/>Products affected: ip28<br/><br/>Risk: none
problem: Mandatory attribute "entity" to dialog information XML (RFC-4235) was missing.<br/><br/>solution: Add mandatory attribute "entity" to dialog information XML.<br/><br/>files: sip_dialog_info.cpp<br/><br/>products: All PBX with SIP<br/><br/>risks: None
''Status:''
also relevant for V6hotfix14
      
      
=== RTP not turned off with H.323 channel pause on IP-DECT ===
=== Paramter "rport" in Via header in 200/OK for REGISTER causes trouble ===


{|
{|
Line 3,701: Line 3,699:
|-
|-
|Id
|Id
|[http://mantis.innovaphone.com/view.php?id=39449 39449]
|[http://mantis.innovaphone.com/view.php?id=39276 39276]
|}
|}
problem: A H.323 channel pause received by an IP-DECT system, did not turn off the RTP media. If a PBX used this for Hold signaling it could disturb the media receiving on the endpoint initiating the hold.<br/><br/>solution: Turn off RTP when receiving pause<br/><br/>files: h323ch.cpp<br/><br/>products: all<br/><br/>risks: Low risk of collateral damage
Problem: Paramter "rport" in Via header in 200/OK for REGISTER makes the SIP interface re-calculate its Contact-URI. If "rport" comes without "received" parameter, the SIP interface will use 0.0.0.0 as local address in all Contact-URIs.<br/><br/>Solution: Check for "received" parameter.<br/><br/>Files: sip.cpp<br/><br/>Products affected: All SIP devices<br/><br/>Risk: No risk.
      
      
=== No Early-Media if doing rerouting from physical (ISDN) interface to physical interface in non-EFC cases ===
=== Windows Mobile 6.1 SIP Client cannot cancel a call ===


{|
{|
Line 3,712: Line 3,710:
|-
|-
|Id
|Id
|[http://mantis.innovaphone.com/view.php?id=39470 39470]
|[http://mantis.innovaphone.com/view.php?id=39335 39335]
|}
|}
problem: If an incoming non-efc call routed to an ISDN interface and then has to be re-routed to another ISDN interface (down, busy, ...), there is no early-media.<br/><br/>solution: Fix H.323 media negotiation to support early-media in this case<br/><br/>files: h323ch.cpp<br/><br/>products: all<br/><br/>risks: Small risk of collateral damage
Problem: Windows Mobile 6.1 SIP Client cannot cancel a pending INVITE transaction if no 100/Trying was sent before 180/Ringing. Even if 180/Ringing was sent in time (200ms).<br/><br/>Solution: Always send 100/Trying immediately when user agent "RTC/1.5" is calling.<br/><br/>Files: sip.cpp<br/><br/>Products affected: All SIP devices<br/><br/>Risk: No risk
      
      
=== PBX User Interface: Only 8 filters are supported for CF, but more could be entered ===
=== Avoid re-negotiation on incoming call leg after connect on secondary registration ===


{|
{|
Line 3,723: Line 3,721:
|-
|-
|Id
|Id
|[http://mantis.innovaphone.com/view.php?id=39476 39476]
|[http://mantis.innovaphone.com/view.php?id=39339 39339]
|}
|}
problem: On PBX Edit CF User interface more then 8 filters could be entered, even if only 8 aree supported<br/><br/>solution: User interface fixed to allow 8 only<br/><br/>files: pbx_edit_cfs.xsl<br/><br/>products: all with PBX<br/><br/>risks: None
Problem: On a call to a multi-registered user the caller gets the SDP of the primary reg in 200/OK. If call was answered on a secondary reg, a re-negotiation follows the 200/OK.<br/><br/>Solution: Postpone initial 200/OK until SDP channels from secondary registration available.<br/><br/>Files: sip.cpp<br/><br/>Products affected: PBX<br/><br/>Risk: Collateral damage on media negotiation
      
      
=== OEM specific sending of non-call facilities should disconnect TCP ===
=== Incoming re-INVITE for a no-longer-existing call was handled like INVITE ===


{|
{|
Line 3,734: Line 3,732:
|-
|-
|Id
|Id
|[http://mantis.innovaphone.com/view.php?id=39478 39478]
|[http://mantis.innovaphone.com/view.php?id=39372 39372]
|}
|}
problem: After sending of OEM specific non-call facility the TCP connection was not cleared<br/><br/>solution: clear TCP connection, use SIG_REL to indicate TCP cleared<br/><br/>files: h323_tbl.tbl, h323sig.cpp, h323sig.h<br/><br/>products: all<br/><br/>risk: Minimal, not used except for OEM
Problem: Incoming re-INVITE for a no-longer-existing call was handled like INVITE. A new call was (re-)created.<br/><br/>Solution: Reject re-INVITE with "481 Call Leg/Transaction Does Not Exist".<br/><br/>Files: siptrans.cpp sip.cpp<br/><br/>Products affected: All SIP devices<br/><br/>Risk: No risk.
      
      
=== Better Diagnostics for Free Error restarts ===
=== deprecated default ToS Value 0x10 for RTP even after factory reset ===


{|
{|
Line 3,745: Line 3,743:
|-
|-
|Id
|Id
|[http://mantis.innovaphone.com/view.php?id=39556 39556]
|[http://mantis.innovaphone.com/view.php?id=39373 39373]
|}
|}
problem: The cause for a restart because of free error was very hard to find.<br/><br/>solution: Trace last free<br/><br/>files: os.cpp<br/><br/>products: all<br/><br/>risks: None
problem: even after factory reset a TOS value 0x10 remains configured because it's defined in the builtin config file of the firmware.<br/><br/>solution: in all config.h files remove "/priority-tos 0x10" from the "start ip IP0 ..." command.<br/><br/>files: config.h<br/><br/>products: all<br/><br/>risks: None  
''Status:''
checked in to 8.00, 7.00
      
      
=== Trap if diverted call (with diverting leg2 info) received on ISDN with EDSS1 ===
=== Enbloc dialing fix for DECT ===


{|
{|
Line 3,756: Line 3,756:
|-
|-
|Id
|Id
|[http://mantis.innovaphone.com/view.php?id=39573 39573]
|[http://mantis.innovaphone.com/view.php?id=39425 39425]
|}
|}
problem: If a call is received on an ISDN interface with EDSS1 protocol which contains a diverting leg2 info facility (the call was diverted), a traps happens because of duplicate free of memory. Collateral Damage of http://wiki.innovaphone.com/index.php?title=Support:DVL-Hotfixes#EDSS1_divertingLegInformation2_not_decoded<br/><br/>solution: dupilcate free of memory removed<br/><br/>files: q950.cpp<br/><br/>products: all with ISDN interfaces<br/><br/>risks: None
Problem: Enbloc dialing does not work if first digit(s) match suppl. service.<br/><br/>Solution: Condition added how to send the digits in the sig event info message to the next module if no suppl. service matches.<br/><br/>Files: dtmffty.cpp.<br/><br/>Products affected: All products.<br/><br/>Risk: Minimal risk of collateral damage.
      
      
=== Enbloc dialing fix for DECT ===
=== Damaged authorization header in ACK ===


{|
{|
Line 3,767: Line 3,767:
|-
|-
|Id
|Id
|[http://mantis.innovaphone.com/view.php?id=39425 39425]
|[http://mantis.innovaphone.com/view.php?id=39428 39428]
|}
|}
Problem: Enbloc dialing does not work if first digit(s) match suppl. service.<br/><br/>Solution: Condition added how to send the digits in the sig event info message to the next module if no suppl. service matches.<br/><br/>Files: dtmffty.cpp.<br/><br/>Products affected: All products.<br/><br/>Risk: Minimal risk of collateral damage.
Problem: Authorization header in ACK is be damaged in case a PRACK caused digest re-calculation.<br/><br/>Solution: Keep authorization header from INVITE for ACK, even if PRACK needs digest re-calculation.<br/><br/>Files: siptrans.cpp sip.cpp<br/><br/>Products affected: All SIP devices<br/><br/>Risk: Authorization problems
      
      
=== DECT null pointer trap ===
=== H.323 NAT did not forward RAS.NonStandardMessage and failed to decode EFC ===


{|
{|
Line 3,778: Line 3,778:
|-
|-
|Id
|Id
|[http://mantis.innovaphone.com/view.php?id=39472 39472]
|[http://mantis.innovaphone.com/view.php?id=39438 39438]
|}
|}
Problem: Null pointer trap in radio call object.<br/><br/>Solution: Null pointer check added.<br/><br/>Files: dectradio.cpp.<br/><br/>Products affected: All DECT devices.<br/><br/>Risk: Minimal risk of collateral damage.
Problem: H.323 NAT did not forward RAS.NonStandardMessage and failed to decode well formed EFC.<br/><br/>Solution: Forward RAS.NonStandardMessage and decode well formed EFC elements.<br/><br/>Files: nat_h323.cpp<br/><br/>Products affected: All routing devices doing H.323 NAT<br/><br/>Risk: Non-standard EFC is not forwarded anymore (from older innovaphone software)
      
      
=== Trap in httpclient during file io access if no CF card is present ===
=== RTP not turned off with H.323 channel pause on IP-DECT ===


{|
{|
Line 3,789: Line 3,789:
|-
|-
|Id
|Id
|[http://mantis.innovaphone.com/view.php?id=39541 39541]
|[http://mantis.innovaphone.com/view.php?id=39449 39449]
|}
|}
Problem: Traps e.g. during music on hold<br/><br/>Solution: remove file_get instance after application confirms the close.<br/><br/>Files: httpclient_i.cpp<br/><br/>Products affected: All <br/><br/>Risk: Low  
problem: A H.323 channel pause received by an IP-DECT system, did not turn off the RTP media. If a PBX used this for Hold signaling it could disturb the media receiving on the endpoint initiating the hold.<br/><br/>solution: Turn off RTP when receiving pause<br/><br/>files: h323ch.cpp<br/><br/>products: all<br/><br/>risks: Low risk of collateral damage
      
      
=== phones get confused within their 'missed calls list' ===
=== No Early-Media if doing rerouting from physical (ISDN) interface to physical interface in non-EFC cases ===


{|
{|
Line 3,800: Line 3,800:
|-
|-
|Id
|Id
|[http://mantis.innovaphone.com/view.php?id=39543 39543]
|[http://mantis.innovaphone.com/view.php?id=39470 39470]
|}
|}
Description: phones with internal 'missed calls list' obviously get confused when the gateway sends CLIP multiple times. Sometimes calls are counted multiple times.<br/><br/>Solution: Do not send CLIP multiple times.<br/><br/>Products affected: ip28 only<br/><br/>Risk: low
problem: If an incoming non-efc call routed to an ISDN interface and then has to be re-routed to another ISDN interface (down, busy, ...), there is no early-media.<br/><br/>solution: Fix H.323 media negotiation to support early-media in this case<br/><br/>files: h323ch.cpp<br/><br/>products: all<br/><br/>risks: Small risk of collateral damage
''Status:''
also relevant for V6hotfix14
      
      
=== German/Swedish (åäöü) characters in HTTP Client ===
=== DECT null pointer trap ===


{|
{|
Line 3,813: Line 3,811:
|-
|-
|Id
|Id
|[http://mantis.innovaphone.com/view.php?id=39540 39540]
|[http://mantis.innovaphone.com/view.php?id=39472 39472]
|}
|}
Problem:German/Swedish (åäöü) characters in HTTP Client cannot be configured<br/><br/>Solution: convert http form data from UTF8 to ISO-Latin1<br/><br/>Files: httpclient_config.cpp<br/><br/>Products affected: All <br/><br/>Risk: Low
Problem: Null pointer trap in radio call object.<br/><br/>Solution: Null pointer check added.<br/><br/>Files: dectradio.cpp.<br/><br/>Products affected: All DECT devices.<br/><br/>Risk: Minimal risk of collateral damage.
      
      
=== deprecated default ToS Value 0x10 for RTP even after factory reset ===
=== PBX User Interface: Only 8 filters are supported for CF, but more could be entered ===


{|
{|
Line 3,824: Line 3,822:
|-
|-
|Id
|Id
|[http://mantis.innovaphone.com/view.php?id=39373 39373]
|[http://mantis.innovaphone.com/view.php?id=39476 39476]
|}
|}
problem: even after factory reset a TOS value 0x10 remains configured because it's defined in the builtin config file of the firmware.<br/><br/>solution: in all config.h files remove "/priority-tos 0x10" from the "start ip IP0 ..." command.<br/><br/>files: config.h<br/><br/>products: all<br/><br/>risks: None  
problem: On PBX Edit CF User interface more then 8 filters could be entered, even if only 8 aree supported<br/><br/>solution: User interface fixed to allow 8 only<br/><br/>files: pbx_edit_cfs.xsl<br/><br/>products: all with PBX<br/><br/>risks: None
''Status:''
checked in to 8.00, 7.00
      
      
=== GN9120 DECT/DHSG Headset - No Media when a waiting call is accepted after the active call has been released by remote party ===
=== OEM specific sending of non-call facilities should disconnect TCP ===


{|
{|
Line 3,837: Line 3,833:
|-
|-
|Id
|Id
|[http://mantis.innovaphone.com/view.php?id=39583 39583]
|[http://mantis.innovaphone.com/view.php?id=39478 39478]
|}
|}
problem: Two seconds after the active call has been released by the remote party the phone rings to indicate the waiting call. When the active call was connected to the headset one or more RING commands are sent to the headset. When the call is accepted at the phone or the headset a TALK command is sent to the headset but the media strem between headset and phone is not (re)established. This happens only with the GN9120, not with the GN9350.  <br/><br/>solution: send an IDLE command before RING.<br/><br/>files: keys_gen.cpp<br/><br/>products: all Phones with an active GN9120<br/><br/>risks: None, the additional command is sent only in this special situation
problem: After sending of OEM specific non-call facility the TCP connection was not cleared<br/><br/>solution: clear TCP connection, use SIG_REL to indicate TCP cleared<br/><br/>files: h323_tbl.tbl, h323sig.cpp, h323sig.h<br/><br/>products: all<br/><br/>risk: Minimal, not used except for OEM
''Status:''
checked in to 8.00, 7.00, 08-70300, 08-60900
      
      
=== H.323 NAT did not forward RAS.NonStandardMessage and failed to decode EFC ===
=== Wrong branch parameter in Via header on ACK for 2xx response ===


{|
{|
Line 3,850: Line 3,844:
|-
|-
|Id
|Id
|[http://mantis.innovaphone.com/view.php?id=39438 39438]
|[http://mantis.innovaphone.com/view.php?id=39536 39536]
|}
|}
Problem: H.323 NAT did not forward RAS.NonStandardMessage and failed to decode well formed EFC.<br/><br/>Solution: Forward RAS.NonStandardMessage and decode well formed EFC elements.<br/><br/>Files: nat_h323.cpp<br/><br/>Products affected: All routing devices doing H.323 NAT<br/><br/>Risk: Non-standard EFC is not forwarded anymore (from older innovaphone software)
Problem: According to RFC-3261, the branch value in an ACK for a 2xx response must be different from the value in the INVITE.<br/><br/>Solution: Calculate new branch value for ACK after 2xx response.<br/><br/>Files: siptrans.cpp<br/><br/>Products affected: All SIP devices<br/><br/>Risk: No risk.
      
      
=== Missing attribute "entity" in dialog information XML ===
=== German/Swedish (åäöü) characters in HTTP Client ===


{|
{|
Line 3,861: Line 3,855:
|-
|-
|Id
|Id
|[http://mantis.innovaphone.com/view.php?id=39229 39229]
|[http://mantis.innovaphone.com/view.php?id=39540 39540]
|}
|}
problem: Mandatory attribute "entity" to dialog information XML (RFC-4235) was missing.<br/><br/>solution: Add mandatory attribute "entity" to dialog information XML.<br/><br/>files: sip_dialog_info.cpp<br/><br/>products: All PBX with SIP<br/><br/>risks: None
Problem:German/Swedish (åäöü) characters in HTTP Client cannot be configured<br/><br/>Solution: convert http form data from UTF8 to ISO-Latin1<br/><br/>Files: httpclient_config.cpp<br/><br/>Products affected: All <br/><br/>Risk: Low
      
      
=== Paramter "rport" in Via header in 200/OK for REGISTER causes trouble ===
=== Trap in httpclient during file io access if no CF card is present ===


{|
{|
Line 3,872: Line 3,866:
|-
|-
|Id
|Id
|[http://mantis.innovaphone.com/view.php?id=39276 39276]
|[http://mantis.innovaphone.com/view.php?id=39541 39541]
|}
|}
Problem: Paramter "rport" in Via header in 200/OK for REGISTER makes the SIP interface re-calculate its Contact-URI. If "rport" comes without "received" parameter, the SIP interface will use 0.0.0.0 as local address in all Contact-URIs.<br/><br/>Solution: Check for "received" parameter.<br/><br/>Files: sip.cpp<br/><br/>Products affected: All SIP devices<br/><br/>Risk: No risk.
Problem: Traps e.g. during music on hold<br/><br/>Solution: remove file_get instance after application confirms the close.<br/><br/>Files: httpclient_i.cpp<br/><br/>Products affected: All <br/><br/>Risk: Low
      
      
=== Windows Mobile 6.1 SIP Client cannot cancel a call ===
=== phones get confused within their 'missed calls list' ===


{|
{|
Line 3,883: Line 3,877:
|-
|-
|Id
|Id
|[http://mantis.innovaphone.com/view.php?id=39335 39335]
|[http://mantis.innovaphone.com/view.php?id=39543 39543]
|}
|}
Problem: Windows Mobile 6.1 SIP Client cannot cancel a pending INVITE transaction if no 100/Trying was sent before 180/Ringing. Even if 180/Ringing was sent in time (200ms).<br/><br/>Solution: Always send 100/Trying immediately when user agent "RTC/1.5" is calling.<br/><br/>Files: sip.cpp<br/><br/>Products affected: All SIP devices<br/><br/>Risk: No risk
Description: phones with internal 'missed calls list' obviously get confused when the gateway sends CLIP multiple times. Sometimes calls are counted multiple times.<br/><br/>Solution: Do not send CLIP multiple times.<br/><br/>Products affected: ip28 only<br/><br/>Risk: low
''Status:''
also relevant for V6hotfix14
      
      
=== Avoid re-negotiation on incoming call leg after connect on secondary registration ===
=== Diagnostics/TEL5-TEL8 missing, Diagnostics/TEL1-TEL4 trace flags without function ===


{|
{|
Line 3,894: Line 3,890:
|-
|-
|Id
|Id
|[http://mantis.innovaphone.com/view.php?id=39339 39339]
|[http://mantis.innovaphone.com/view.php?id=39545 39545]
|}
|}
Problem: On a call to a multi-registered user the caller gets the SDP of the primary reg in 200/OK. If call was answered on a secondary reg, a re-negotiation follows the 200/OK.<br/><br/>Solution: Postpone initial 200/OK until SDP channels from secondary registration available.<br/><br/>Files: sip.cpp<br/><br/>Products affected: PBX<br/><br/>Risk: Collateral damage on media negotiation
Description: GUI Diagnostics/TEL5-TEL8 missing, Diagnostics/TEL1-TEL4 trace flags without function.<br/><br/>Solution: Correct, add missing entries<br/><br/>Products affected: ip28<br/><br/>Risk: none
''Status:''
also relevant for V6hotfix14
      
      
=== Incoming re-INVITE for a no-longer-existing call was handled like INVITE ===
=== Better Diagnostics for Free Error restarts ===


{|
{|
Line 3,905: Line 3,903:
|-
|-
|Id
|Id
|[http://mantis.innovaphone.com/view.php?id=39372 39372]
|[http://mantis.innovaphone.com/view.php?id=39556 39556]
|}
|}
Problem: Incoming re-INVITE for a no-longer-existing call was handled like INVITE. A new call was (re-)created.<br/><br/>Solution: Reject re-INVITE with "481 Call Leg/Transaction Does Not Exist".<br/><br/>Files: siptrans.cpp sip.cpp<br/><br/>Products affected: All SIP devices<br/><br/>Risk: No risk.
problem: The cause for a restart because of free error was very hard to find.<br/><br/>solution: Trace last free<br/><br/>files: os.cpp<br/><br/>products: all<br/><br/>risks: None
      
      
=== Damaged authorization header in ACK ===
=== BYE was not sent when DNS resolving failed ===


{|
{|
Line 3,916: Line 3,914:
|-
|-
|Id
|Id
|[http://mantis.innovaphone.com/view.php?id=39428 39428]
|[http://mantis.innovaphone.com/view.php?id=39561 39561]
|}
|}
Problem: Authorization header in ACK is be damaged in case a PRACK caused digest re-calculation.<br/><br/>Solution: Keep authorization header from INVITE for ACK, even if PRACK needs digest re-calculation.<br/><br/>Files: siptrans.cpp sip.cpp<br/><br/>Products affected: All SIP devices<br/><br/>Risk: Authorization problems
Problem: BYE must be sent to the Contact address of the received final INVITE response. The the domain name of the Contact-URI cannot be resolved, the BYE was not sent at all.<br/><br/>Solution: Send BYE to address/port where the original INVITE was sent to.<br/><br/>Files: sip.cpp<br/><br/>Products affected: All SIP devices<br/><br/>Risk: No risk.
      
      
=== Wrong branch parameter in Via header on ACK for 2xx response ===
=== Trap if diverted call (with diverting leg2 info) received on ISDN with EDSS1 ===


{|
{|
Line 3,927: Line 3,925:
|-
|-
|Id
|Id
|[http://mantis.innovaphone.com/view.php?id=39536 39536]
|[http://mantis.innovaphone.com/view.php?id=39573 39573]
|}
|}
Problem: According to RFC-3261, the branch value in an ACK for a 2xx response must be different from the value in the INVITE.<br/><br/>Solution: Calculate new branch value for ACK after 2xx response.<br/><br/>Files: siptrans.cpp<br/><br/>Products affected: All SIP devices<br/><br/>Risk: No risk.
problem: If a call is received on an ISDN interface with EDSS1 protocol which contains a diverting leg2 info facility (the call was diverted), a traps happens because of duplicate free of memory. Collateral Damage of http://wiki.innovaphone.com/index.php?title=Support:DVL-Hotfixes#EDSS1_divertingLegInformation2_not_decoded<br/><br/>solution: dupilcate free of memory removed<br/><br/>files: q950.cpp<br/><br/>products: all with ISDN interfaces<br/><br/>risks: None
      
      
=== BYE was not sent when DNS resolving failed ===
=== GN9120 DECT/DHSG Headset - No Media when a waiting call is accepted after the active call has been released by remote party ===


{|
{|
Line 3,938: Line 3,936:
|-
|-
|Id
|Id
|[http://mantis.innovaphone.com/view.php?id=39561 39561]
|[http://mantis.innovaphone.com/view.php?id=39583 39583]
|}
|}
Problem: BYE must be sent to the Contact address of the received final INVITE response. The the domain name of the Contact-URI cannot be resolved, the BYE was not sent at all.<br/><br/>Solution: Send BYE to address/port where the original INVITE was sent to.<br/><br/>Files: sip.cpp<br/><br/>Products affected: All SIP devices<br/><br/>Risk: No risk.
problem: Two seconds after the active call has been released by the remote party the phone rings to indicate the waiting call. When the active call was connected to the headset one or more RING commands are sent to the headset. When the call is accepted at the phone or the headset a TALK command is sent to the headset but the media strem between headset and phone is not (re)established. This happens only with the GN9120, not with the GN9350. <br/><br/>solution: send an IDLE command before RING.<br/><br/>files: keys_gen.cpp<br/><br/>products: all Phones with an active GN9120<br/><br/>risks: None, the additional command is sent only in this special situation
''Status:''
checked in to 8.00, 7.00, 08-70300, 08-60900
      
      
== Bug Fixes ==
== Bug Fixes ==
Line 3,954: Line 3,954:


      
      
=== Echo canceling sometimes not active on IP72 ===
=== no ringing voltage after few days uptime ===


{|
{|
Line 3,961: Line 3,961:
|-
|-
|Id
|Id
|[http://mantis.innovaphone.com/view.php?id=40677 40677]
|[http://mantis.innovaphone.com/view.php?id=36445 36445]
|}
|}
problem: Echo canceling not active on IP72 is callmanage is used<br/><br/>solution: Prevent too frequent initialisations of the echocanceller<br/>files: omap_codec.cpp<br/><br/>products: ip220,ip72<br/><br/>risks: Low risk of collateral damage <br/>
Description: gateway in 'alerting' condition but no ringing voltage. After power-cycle or softreset this situation is cleared.<br/><br/>Solution: Chipset reset in case of RING_FAIL_IA signaling from Slic Chip as soon as all other ports gone on-hook.<br/><br/>Products affected: ip28<br/><br/>Risk: mid, does not occur in normal cases. Occurence yet not clear.
''Status:''
also relevant for v6hotfix, V7, V8
      
      
=== sporadic  HTTP_REQUEST Assertion ===
=== IP-DECT: Allow overlap numbers ===


{|
{|
Line 3,972: Line 3,974:
|-
|-
|Id
|Id
|[http://mantis.innovaphone.com/view.php?id=39783 39783]
|[http://mantis.innovaphone.com/view.php?id=39386 39386]
|}
|}
problem: HTTP_REQUEST Assertion: no servlet occurs if lots of logging is done to a box<br/><br/>solution: delete servlet after last send to avoid race condition with next http request <br/>files: http.cpp<br/><br/>products: all<br/><br/>risks: Low risk of collateral damage
Problem: Some (non-innovaphone) PBX support overlap numbers (e.g. 40 and 400). The IP-DECT did not support this.<br/><br/>Solution: Allow overlap numbers.<br/><br/>Files: dectusers.cpp.<br/><br/>Products: All IP-DECT devices.<br/><br/>Risks: Low risk of collateral damage.
''Status:''
checked in to 8.00, 7.00, 08-70300
      
      
=== immediate diversion activation after receiving icp activation code ===
=== The message indicating an active Automatic Redial disappears after first redial attempt ===


{|
{|
Line 3,985: Line 3,985:
|-
|-
|Id
|Id
|[http://mantis.innovaphone.com/view.php?id=41144 41144]
|[http://mantis.innovaphone.com/view.php?id=39645 39645]
|}
|}
problem: incoming icp activate only activates diversion if server acknowledges connection<br/><br/>solution: already activate diversion after receiving activation call<br/><br/>files: pbx_icp.cpp<br/><br/>products: all devices with pbx<br/><br/>risks: no
problem: When Automatic Redial is activated the text "Redial" is displayed in the message line. This text disappears after the first redial attempt and thus the user may easy forget to stop it when leaving it's place. Further each redial attempt is listed under "Active Recalls" and thus it's not clear what should be be cancelled.  <br/><br/>solution: fix in code<br/><br/>files: app_cc.cpp app_ctl.cpp app_ctl.h app_disp.cpp forms.h forms_gen.cpp forms_ip72.cpp phone_list.cpp<br/><br/>products: all phones<br/><br/>risks: None
''Status:''
checked in to 8.00,7.00,08-70300
      
      
=== assert with simultaneous write and read access to a cf file ===
=== PBX SOAP: Compatibility to Version 6 broken with UserInfo "num" ===


{|
{|
Line 3,996: Line 3,998:
|-
|-
|Id
|Id
|[http://mantis.innovaphone.com/view.php?id=40759 40759]
|[http://mantis.innovaphone.com/view.php?id=39667 39667]
|}
|}
problem: if one process writes a file and another process reads this file and the current filesize is a multiple of the cluster size and the next cluster has been alread allocated by the first writing process, the reading process might send a cf_read_event with 0, which causes a trap<br/><br/>solution: check for 0 in cf_read_event and handle this like eof<br/><br/>files: fat32.cpp<br/><br/>products: all devices with cf card<br/><br/>risks: minor, as this constelation is extremly rare
problem: In Version 6 a info "num" was available containing the full number including node prefixes for a user. In Version 7 this information was provided differently, but old applications need the Version 6 info.<br/><br/>solution: Provide the old info if old WSDL is used<br/><br/>files: pbx_xml.cpp<br/><br/>products: all with PBX<br/><br/>risks: Small risk of collateral damage
      
      
=== PBX SOAP: Compatibility to Version 6 broken with UserInfo "num" ===
=== Trap when the http connection timeout is reached immediately after the connection is dropped from remote ===


{|
{|
Line 4,007: Line 4,009:
|-
|-
|Id
|Id
|[http://mantis.innovaphone.com/view.php?id=39667 39667]
|[http://mantis.innovaphone.com/view.php?id=39686 39686]
|}
|}
problem: In Version 6 a info "num" was available containing the full number including node prefixes for a user. In Version 7 this information was provided differently, but old applications need the Version 6 info.<br/><br/>solution: Provide the old info if old WSDL is used<br/><br/>files: pbx_xml.cpp<br/><br/>products: all with PBX<br/><br/>risks: Small risk of collateral damage
problem: When a http socket connection was dropped from remote and and the disconnect timer fired before the http_request object was destructed a shutdown was sent to the already closed socket. <br/><br/>solution: fix in code<br/><br/>files: http.cpp<br/><br/>products: all<br/><br/>risks: None
''Status:''
checked in to 8.00, 7.00, 08-70300
      
      
=== PBX CF Loop was detected with CFB, which was not even executed ===
=== PBX CF Loop was detected with CFB, which was not even executed ===
Line 4,022: Line 4,026:
problem: If a CFU was set to an endpoint which had an CFB back to this endpoint, this was treated like an CFU loop, which resulted in the call being rejected with user busy<br/><br/>solution: Loop detection fixed<br/><br/>files: pbx.cpp<br/><br/>products: all with pbx<br/><br/>risks: Small risk of collateral damage
problem: If a CFU was set to an endpoint which had an CFB back to this endpoint, this was treated like an CFU loop, which resulted in the call being rejected with user busy<br/><br/>solution: Loop detection fixed<br/><br/>files: pbx.cpp<br/><br/>products: all with pbx<br/><br/>risks: Small risk of collateral damage
      
      
=== Memory Leak when sending non-call facilities with OEM specific H.323 version ===
=== IP-DECT master crash if config update and anonymous endpoints ===


{|
{|
Line 4,029: Line 4,033:
|-
|-
|Id
|Id
|[http://mantis.innovaphone.com/view.php?id=40108 40108]
|[http://mantis.innovaphone.com/view.php?id=39765 39765]
|}
|}
problem: A call object was not deleted when sending non-call facilities, in case of "reuse-tcp"<br/><br/>solution: Handle this case to delete the call object<br/><br/>files: h323sig.h, h323_tbl.tbl<br/><br/>products: all<br/><br/>risks: None
problem: A crash because of NULL pointer access could happen if a config update was done while anonymous endpoints exist<br/><br/>solution: Code fixed<br/><br/>files: dectusers.cpp<br/><br/>products: all ip-dect<br/><br/>risks: Severe risk of collateral damage
      
      
=== PBX replication timeouts too short ===
=== sporadic  HTTP_REQUEST Assertion ===


{|
{|
Line 4,040: Line 4,044:
|-
|-
|Id
|Id
|[http://mantis.innovaphone.com/view.php?id=40124 40124]
|[http://mantis.innovaphone.com/view.php?id=39783 39783]
|}
|}
problem: There are timeouts to slow down adding or removing the rep attribute to user objects to reduce replication traffic. These timeouts have been set to very short values for testing and forgotten<br/><br/>solution: Increase timeouts to normal values<br/><br/>files: pbx.h<br/><br/>products: all with PBX<br/><br/>risks: None
problem: HTTP_REQUEST Assertion: no servlet occurs if lots of logging is done to a box<br/><br/>solution: delete servlet after last send to avoid race condition with next http request <br/>files: http.cpp<br/><br/>products: all<br/><br/>risks: Low risk of collateral damage
''Status:''
checked in to 8.00, 7.00, 08-70300
      
      
=== PBX CDR should not be generated for call independent signaling calls ===
=== OEM specific 'scfg' command output ===


{|
{|
Line 4,051: Line 4,057:
|-
|-
|Id
|Id
|[http://mantis.innovaphone.com/view.php?id=40135 40135]
|[http://mantis.innovaphone.com/view.php?id=39835 39835]
|}
|}
problem: CDR records were generated for control calls (like group indications)<br/><br/>solution: Generate CDR for calls with media only<br/><br/>files: pbx.cpp<br/><br/>products: All with PBX<br/><br/>risks: None
problem: the OEM provides an own module to save and restore config in a special format. the 'scfg' command output shall be in same format.<br/><br/>solution: if the OEM module is present 'scfg' replaces the default command sequence by a single command to the OEM module.<br/><br/>files: update.cpp<br/><br/>products: all<br/><br/>risks: None  
''Status:''
checked in to 8.00, 7.00, 08-70300
      
      
=== PBX: Callforward from waiting to waiting with CFNR at the end of announcement did not work sometimes ===
=== config option to force display of alerting calls both on partner key and on pickup key ===


{|
{|
Line 4,062: Line 4,070:
|-
|-
|Id
|Id
|[http://mantis.innovaphone.com/view.php?id=40195 40195]
|[http://mantis.innovaphone.com/view.php?id=39861 39861]
|}
|}
problem: For calls received from a Trunk object the call forward with CFNR from one Waiting to another caused the call being disconnected after 2s. This was collateral damage of fix #39161.<br/><br/>solution: Bug fixed<br/><br/>files: pbx_trunk.cpp<br/><br/>products: all with PBX<br/><br/>risks: Small risk of collateral damage
problem: alerting calls are not displayed on a pickup key if a partner/park key associated to a display line is defined for the alerting party. some customers want such calls to be displayed as well on partner/park key as on pickup key. <br/><br/>solution: implement option "config add PHONE APP /pick-partner"<br/><br/>files: app_cfg.cpp app_cfg.h app_disp.cpp<br/><br/>products: all phones<br/><br/>risks: None
''Status:''
checked in to 8.00,7.00,08-70300
      
      
=== Problem when CFNR should result in same phone ringing again together with busy on 1 call ===
=== ICMP Address mask requests shall be ignored ===


{|
{|
Line 4,073: Line 4,083:
|-
|-
|Id
|Id
|[http://mantis.innovaphone.com/view.php?id=40268 40268]
|[http://mantis.innovaphone.com/view.php?id=39878 39878]
|}
|}
problem: If a user had set busy on 1 call a call forward which should have resulted in ringing the same phone again (e.g. to a broadcast group including this user) the phone stopped ringing<br/><br/>solution: Counting of active calls fixed<br/><br/>files: pbx.cpp<br/><br/>products: all with PBX<br/><br/>risk: Small risk of collateral damage
problem: ICMP Address mask requests as defined in RFC 950 are not really used by current devices and need not to be responded. Some security check programs complain if responses are sent on such requests.<br/><br/>solution: ignore ICMP Address mask requests<br/><br/>files: ipproc.cpp<br/><br/>products: all<br/><br/>risks: None<br/>
''Status:''
checked in to 8.00, 7.00, 08-70300
      
      
=== Dialing from unknown reg for deployment did not work with CFU set at target user ===
=== Dial funktion key shall provide a pause character for DTMF tone timing ===


{|
{|
Line 4,084: Line 4,096:
|-
|-
|Id
|Id
|[http://mantis.innovaphone.com/view.php?id=40278 40278]
|[http://mantis.innovaphone.com/view.php?id=39932 39932]
|}
|}
problem: A CFU was executed even if the user was dialed from an unknown registration. This prohibited that the unknown registration was assigned to this user.<br/><br/>solution: Do not execute CFU for calls from unknown registrations<br/><br/>files: pbx.cpp<br/><br/>products: all with PBX<br/><br/>risks: None
problem: The "Send in Active Call" checkmark of a dial function key permits to send DTMF digits in an already established call. The time between two digits is fixed to 200 milliseconds which is too fast for some applications.<br/><br/>solution: a comma (',') inserted between the digits represents a delay of 300 milliseconds. "1,2" means that '2' is sent 500 milliseconds after '1', "1,,,2" delays '2' for 1100 milliseconds.<br/><br/>files: phonesig.cpp<br/><br/>products: all phones<br/><br/>risks: None
''Status:''
checked in to 8.00,7.00,08-70300
      
      
=== H.323 slowstart media renegotiation fails if initaited before the previous neg. completes in remote media case ===
=== Wrong "direction" attribute in dialog-info (group indications) ===


{|
{|
Line 4,095: Line 4,109:
|-
|-
|Id
|Id
|[http://mantis.innovaphone.com/view.php?id=40314 40314]
|[http://mantis.innovaphone.com/view.php?id=39983 39983]
|}
|}
problem: In case of remote media (e.g. the IP-DECT master is doing this) media-reneg. fails if previous media neg. was not completed. Results in IP-DECT no media calls for special supplementary services on some third party PBXs<br/><br/>solution: Fix media neg.<br/><br/>files: h323ch.cpp<br/><br/>products: all<br/><br/>risks: None
problem: Attribute "direction" has always value "initiator". Even if inbound calls are reported. In result call-pickup did not work.<br/><br/>solution: Fix the "direction" attribute.<br/><br/>files: sip.cpp/h sip_dialog_info.cpp/h<br/><br/>products: all PBX devices using SIP<br/><br/>risks: None  
      
      
=== SOAP monitored call to busy on ... busy endpoint was terminated with rel_com instead of disc ===
=== G711u exclusive doesn't work with dtmf featurecodes/directory search/icp pbx objects ===


{|
{|
Line 4,106: Line 4,120:
|-
|-
|Id
|Id
|[http://mantis.innovaphone.com/view.php?id=40490 40490]
|[http://mantis.innovaphone.com/view.php?id=39986 39986]
|}
|}
problem: A call to a busy on ... calls busy endpoint was disconnected with RELEASE-COMPLETE even if monitored by SOAP. This results in SOAP (TAPI) not being able to disconnect the call to turn off the busy signal<br/><br/>solution: Use DISC to clear such a call<br/><br/>files: pbx.cpp<br/><br/>products: all with PBX<br/><br/>risk: None
problem: if user has G711u exclusive, the above pbx objects won't work as there is no G711u MOH.<br/><br/>solution: instead of MOH, a dialing tone is used now. After receiving first digit, tone is stopped.<br/><br/>files: pbx_dirsearch.cpp/h, pbx_dtmf.cpp/h, pbx_icp.cpp/h<br/><br/>products: all PBX devices<br/><br/>risks: minor
      
      
=== No media if Transfer done by SIP endpoint from H.323 to H.323 endpoint if SIP ep has done Hold/Retrieve ===
=== icp traps with after dialed digits ===


{|
{|
Line 4,117: Line 4,131:
|-
|-
|Id
|Id
|[http://mantis.innovaphone.com/view.php?id=40600 40600]
|[http://mantis.innovaphone.com/view.php?id=40006 40006]
|}
|}
problem: Call from H.323 ep to SIP, SIP does HOLD/RETRIEVE and the transfer to another H.323 ep -> No media<br/><br/>solution: Fix media negotiation<br/><br/>files: h323ch.cpp<br/><br/>products: all<br/><br/>risks: small risk of collateral damage
problem: if user does not dial the whole number at once but digit by digit, the box traps.<br/><br/>solution: changed digit handling<br/><br/>files: pbx_icp.cpp/h<br/><br/>products: all PBX devices<br/><br/>risks: none
      
      
=== DTMF detection did not work randomly ===
=== Memory Leak when sending non-call facilities with OEM specific H.323 version ===


{|
{|
Line 4,128: Line 4,142:
|-
|-
|Id
|Id
|[http://mantis.innovaphone.com/view.php?id=40666 40666]
|[http://mantis.innovaphone.com/view.php?id=40108 40108]
|}
|}
problem: A config parameter for the DSP channel was uninitialized, which caused DTMF detection not work randomly<br/><br/>solution: Initialize all parameters<br/><br/>files: ac_dsp2.cpp<br/><br/>products: IP6000, IP800<br/><br/>risks: none
problem: A call object was not deleted when sending non-call facilities, in case of "reuse-tcp"<br/><br/>solution: Handle this case to delete the call object<br/><br/>files: h323sig.h, h323_tbl.tbl<br/><br/>products: all<br/><br/>risks: None
      
      
=== After power up alt-gk was used instead of primary with IP-DECT ===
=== IP-DECT: Delete buttons for anonymous subscriptions in GUI ===


{|
{|
Line 4,139: Line 4,153:
|-
|-
|Id
|Id
|[http://mantis.innovaphone.com/view.php?id=40845 40845]
|[http://mantis.innovaphone.com/view.php?id=40112 40112]
|}
|}
problem: After power up the dectmaster registered the endpoints to the alternate not primary gk as expected. Usually this does not cause a problem, because it should switch over to the primary if the alternate does not respond. But there is a delay.<br/><br/>solution: Fix initialization<br/><br/>files: h323sig.cpp<br/><br/>products: all<br/><br/>risks: None
Problem: Delete buttons disappear from all anonymous subscriptions in GUI when pressing delete on one subscription.<br/><br/>Solution: Fixed.<br/><br/>Files: dectunknown.xsl.<br/><br/>Products affected: All DECT devices.<br/><br/>Risk: Minimal risk of collateral damage.
      
      
=== Duplicate execution of interface maps in case of setup without digits ===
=== IP-DECT OEM specific idle display ===


{|
{|
Line 4,150: Line 4,164:
|-
|-
|Id
|Id
|[http://mantis.innovaphone.com/view.php?id=40982 40982]
|[http://mantis.innovaphone.com/view.php?id=40115 40115]
|}
|}
problem: Interface maps are executed with the setup arriving AND with the first digit received. If a CDPN map is configured without digit to match, this could result in the same prefix being added twice<br/><br/>solution: Adjust output of the map on second execution by the output generated with the first execution<br/><br/>files: relay.cpp<br/><br/>products: all gateway products<br/><br/>risk: Small risk of collateral damage
Problem: Handset idle display does not work correctly in OEM version after handset restart.<br/><br/>Solution: Fixed.<br/><br/>Files: dectmaster.cpp.<br/><br/>Products affected: All DECT devices.<br/><br/>Risk: No risk of collateral damage, OEM only.
      
      
=== Potential Trap in RTP if error logging happens during call clearing ===
=== IP-DECT GUI radio list sorting by Id ===


{|
{|
Line 4,161: Line 4,175:
|-
|-
|Id
|Id
|[http://mantis.innovaphone.com/view.php?id=41287 41287]
|[http://mantis.innovaphone.com/view.php?id=40117 40117]
|}
|}
problem: If an RTP error log is generated when the RTP entity is already closing a NULL pointer access trap can happen<br/><br/>solution: Check for RTP closing before creating the event<br/><br/>files: media.cpp<br/><br/>products: all<br/><br/>risks: None
Problem: Radio list can't be sorted by radio id.<br/><br/>Solution: Feature added.<br/><br/>Files: dectmaster_radios.xsl (OEM).<br/><br/>Products affected: All DECT devices.<br/><br/>Risk: Minimal risk of collateral damage.
      
      
=== PROGRESS with in-band-info not sent on ISDN ===
=== PBX replication timeouts too short ===


{|
{|
Line 4,172: Line 4,186:
|-
|-
|Id
|Id
|[http://mantis.innovaphone.com/view.php?id=41288 41288]
|[http://mantis.innovaphone.com/view.php?id=40124 40124]
|}
|}
problem: A PROGRESS message with in-band-info was suppressed even in case no progress indicator was sent before (in SETUP-ACK, CALL-PROC). This caused in-band tones not be available in such situation<br/><br/>solution: Better check when to suppress PROGRESS<br/><br/>files: q931.cpp, q931.h<br/><br/>products: All with ISDN interfaces<br/><br/>risk: Some risk of collateral damage
problem: There are timeouts to slow down adding or removing the rep attribute to user objects to reduce replication traffic. These timeouts have been set to very short values for testing and forgotten<br/><br/>solution: Increase timeouts to normal values<br/><br/>files: pbx.h<br/><br/>products: all with PBX<br/><br/>risks: None
      
      
=== src-url not transmitted accross PBXs ===
=== IP-DECT GUI user list sorting ===


{|
{|
Line 4,183: Line 4,197:
|-
|-
|Id
|Id
|[http://mantis.innovaphone.com/view.php?id=41344 41344]
|[http://mantis.innovaphone.com/view.php?id=40133 40133]
|}
|}
problem: The URL Parameter configured at a user is sent with calls of this user. It is put into CDRs by the gateway and can be used for billing purposes. If the call was received from another PBX, the src-url was not forwarded.<br/><br/>solution: Forward src-url<br/><br/>files: pbx.cpp<br/><br/>products: All with PBX<br/><br/>risks: None
Problem: User list can't be sorted by Rights, Display, IPEI or Registration.<br/><br/>Solution: Feature added.<br/><br/>Files: dectusers.cpp, dect_users_right.xsl (OEM).<br/><br/>Products affected: All DECT devices.<br/><br/>Risk: Minimal risk of collateral damage.
      
      
=== Wrong redirecting number on retry of recall ===
=== PBX CDR should not be generated for call independent signaling calls ===


{|
{|
Line 4,194: Line 4,208:
|-
|-
|Id
|Id
|[http://mantis.innovaphone.com/view.php?id=41357 41357]
|[http://mantis.innovaphone.com/view.php?id=40135 40135]
|}
|}
problem: A recall after a failed transfer should show the transfer destination as redirecting number. If the recall failed because of the transferor was busy again, this was not the case with the retry of the recall.<br/><br/>solution: Send correct redirecting number<br/><br/>files: pbx.cpp pbx.h<br/><br/>products: All with PBX<br/><br/>risks: Small risk of collateral damage
problem: CDR records were generated for control calls (like group indications)<br/><br/>solution: Generate CDR for calls with media only<br/><br/>files: pbx.cpp<br/><br/>products: All with PBX<br/><br/>risks: None
      
      
=== PBX: CDR missing some importent Information if call is forwarded by Waiting ===
=== IP-DECT &amp;amp; SIP: Distinctive Ringing support for several OEM PBX ===


{|
{|
Line 4,205: Line 4,219:
|-
|-
|Id
|Id
|[http://mantis.innovaphone.com/view.php?id=41432 41432]
|[http://mantis.innovaphone.com/view.php?id=40145 40145]
|}
|}
problem: The PBX CDRs did not show the destination to which calls are forwarded by Waiting with DTMF dialing<br/><br/>solution: Add more information to CDR<br/><br/>files: pbx.cpp, pbx_wait.cpp, pbx_api.h<br/><br/>products: All with PBX<br/><br/>risks: Minimal
Problem: Different Alert-Info headers from several OEM PBX are not recognized by SIP and passed through to the DECT system.<br/><br/>Solution: Decode Alert-Info header and pass through call-type information.<br/><br/>Files: sip.cpp dectmaster.cpp<br/><br/>Products affected: All DECT devices.<br/><br/>Risk: Minimal risk of collateral damage.
      
      
=== PBX: Trap when changing filters with 'next' ===
=== Re-transmission of INVITE after CANCEL has been send ===


{|
{|
Line 4,216: Line 4,230:
|-
|-
|Id
|Id
|[http://mantis.innovaphone.com/view.php?id=41875 41875]
|[http://mantis.innovaphone.com/view.php?id=40151 40151]
|}
|}
problem: When chaining filters with 'next' a trap could happen when these filters were changed<br/><br/>solution: Fix merged from v8<br/><br/>files: pbx.cpp<br/><br/>products: All with PBX<br/><br/>risks: Minimal, fix very well tested in v8 already
Problem: If 407 for INVITE arrives after CANCEL has been sent, the INVITE was re-transmitted with autorization header.<br/><br/>Solution: Ignore 407 response after CANCEL has been sent.<br/><br/>Files: sip.cpp<br/><br/>Products affected: All SIP devices<br/><br/>Risk: No risk.
      
      
=== Config Template Objects not replicated to slave PBXs ===
=== LDAP, ASN.1-Encoding failed for objects with ~100 attributes ===


{|
{|
Line 4,227: Line 4,241:
|-
|-
|Id
|Id
|[http://mantis.innovaphone.com/view.php?id=41925 41925]
|[http://mantis.innovaphone.com/view.php?id=40171 40171]
|}
|}
problem: The node/loc attributes of a Config object were set to 'root' which prohibited replication to slaves with a PBX filter.<br/><br/>solution: Don't set node/loc attributes<br/><br/>files: pbx_edit_config.xsl<br/><br/>products: All with PBX<br/><br/>risks: Could be that setting loc/node to root was good for something
Problem: Node objects with approx. 100 rep-attributes weren't replicatable.<br/><br/>Solution: Fix Asn.1 encoding<br/><br/>Files: ldapsrv.cpp, ldapdir.cpp<br/><br/>Products affected: All PBX products<br/><br/>Risk: none
      
      
=== IP-DECT: Allow overlap numbers ===
=== PBX: Callforward from waiting to waiting with CFNR at the end of announcement did not work sometimes ===


{|
{|
Line 4,238: Line 4,252:
|-
|-
|Id
|Id
|[http://mantis.innovaphone.com/view.php?id=39386 39386]
|[http://mantis.innovaphone.com/view.php?id=40195 40195]
|}
|}
Problem: Some (non-innovaphone) PBX support overlap numbers (e.g. 40 and 400). The IP-DECT did not support this.<br/><br/>Solution: Allow overlap numbers.<br/><br/>Files: dectusers.cpp.<br/><br/>Products: All IP-DECT devices.<br/><br/>Risks: Low risk of collateral damage.
problem: For calls received from a Trunk object the call forward with CFNR from one Waiting to another caused the call being disconnected after 2s. This was collateral damage of fix #39161.<br/><br/>solution: Bug fixed<br/><br/>files: pbx_trunk.cpp<br/><br/>products: all with PBX<br/><br/>risks: Small risk of collateral damage
      
      
=== IP-DECT master crash if config update and anonymous endpoints ===
=== IP-DECT Master handover canceled statistic ===


{|
{|
Line 4,249: Line 4,263:
|-
|-
|Id
|Id
|[http://mantis.innovaphone.com/view.php?id=39765 39765]
|[http://mantis.innovaphone.com/view.php?id=40201 40201]
|}
|}
problem: A crash because of NULL pointer access could happen if a config update was done while anonymous endpoints exist<br/><br/>solution: Code fixed<br/><br/>files: dectusers.cpp<br/><br/>products: all ip-dect<br/><br/>risks: Severe risk of collateral damage
Problem: Dect Master handover canceled statistic is not correct.<br/><br/>Solution: Fixed.<br/><br/>Files: dectmaster.cpp<br/><br/>Products affected: All DECT devices.<br/><br/>Risk: Minimal risk of collateral damage.
      
      
=== Out-Of-Memory trap during voice message recording ===
=== IP-DECT monitor interface for OEM modules ===


{|
{|
Line 4,260: Line 4,274:
|-
|-
|Id
|Id
|[http://mantis.innovaphone.com/view.php?id=40729 40729]
|[http://mantis.innovaphone.com/view.php?id=40202 40202]
|}
|}
Problem: VM script tries to record a voice message into a non-existing directory. File writing fails but writing is re-tried endlessly. May result into out-of-memory trap.<br/><br/>Solution: Stop recording on error and do not try again.<br/><br/>Files: webmedia.cpp, pbx_vm.cpp, vm_script_if.cpp<br/><br/>Products affected: All PBX with VM object<br/><br/>Risk: No risk.
Problem: The IP address of the Standby Master is needed in OEM modules.<br/><br/>Solution: New argument was added in monitor function interface and monitor function calls were updated.<br/><br/>Files: dectmaster_if.h, dectmaster.h, dectmaster.cpp.<br/><br/>Products affected: All DECT devices.<br/><br/>Risk: Minimal risk of collateral damage.
      
      
=== VM. Escaping missing for directory names and CGPNs encoded in file names ===
=== RTP timestamp jumps during hold/retrieve/transfer ===


{|
{|
Line 4,271: Line 4,285:
|-
|-
|Id
|Id
|[http://mantis.innovaphone.com/view.php?id=41642 41642]
|[http://mantis.innovaphone.com/view.php?id=40213 40213]
|}
|}
problem: <br/>-Voicebox directories for usernames containing '/','*' weren't processable.<br/>-Filenames emerging during <pbx-record> and carrying a CGPN (separated by a hyphen'-') that  contains '*','#' weren't processable.<br/><br/>solution: <br/>-Internally add more escaping for user directories. <br/>-Internally apply escaping for the CGPN name part when processing <pbx-record><br/>-Internally apply unescaping for the CGPN name part when processing <store-split><br/><br/>files: vm_script_if.cpp<br/><br/>products: All with PBX<br/><br/>risks: All private scripts with a '/' in the "root"-attribute of one of the  "<store-..>"-elements must be adapted a'la:<br/>  modify<br/><store-del root="one/two/" name="test.txt"/><br/>  into<br/><store-del root="" name="one/two/test.txt"/><br/>
Problem: RTP timestamp jumps during hold/retrieve/transfer. On media-relay scenarios this may confuse the remote side and result into one-way-audio.<br/><br/>Solution: Keep RTP timestamp progressively on media-relay scenarios.<br/><br/>Files: medialib.h media.cpp media_fwd.h/cpp<br/><br/>Products affected: All gateway devices<br/><br/>Risk: No risk.
      
      
=== IP-DECT: Delete buttons for anonymous subscriptions in GUI ===
=== Trap in SIP stack on incoming calls ===


{|
{|
Line 4,282: Line 4,296:
|-
|-
|Id
|Id
|[http://mantis.innovaphone.com/view.php?id=40112 40112]
|[http://mantis.innovaphone.com/view.php?id=40247 40247]
|}
|}
Problem: Delete buttons disappear from all anonymous subscriptions in GUI when pressing delete on one subscription.<br/><br/>Solution: Fixed.<br/><br/>Files: dectunknown.xsl.<br/><br/>Products affected: All DECT devices.<br/><br/>Risk: Minimal risk of collateral damage.
Problem: Trap in SIP stack on incoming calls.<br/><br/>Solution: Fix.<br/><br/>Files: siptrans.h<br/><br/>Products affected: All SIP devices<br/><br/>Risk: No risk.
      
      
=== IP-DECT OEM specific idle display ===
=== Problem when CFNR should result in same phone ringing again together with busy on 1 call ===


{|
{|
Line 4,293: Line 4,307:
|-
|-
|Id
|Id
|[http://mantis.innovaphone.com/view.php?id=40115 40115]
|[http://mantis.innovaphone.com/view.php?id=40268 40268]
|}
|}
Problem: Handset idle display does not work correctly in OEM version after handset restart.<br/><br/>Solution: Fixed.<br/><br/>Files: dectmaster.cpp.<br/><br/>Products affected: All DECT devices.<br/><br/>Risk: No risk of collateral damage, OEM only.
problem: If a user had set busy on 1 call a call forward which should have resulted in ringing the same phone again (e.g. to a broadcast group including this user) the phone stopped ringing<br/><br/>solution: Counting of active calls fixed<br/><br/>files: pbx.cpp<br/><br/>products: all with PBX<br/><br/>risk: Small risk of collateral damage
      
      
=== IP-DECT GUI radio list sorting by Id ===
=== IP-DECT Null pointer trap ===


{|
{|
Line 4,304: Line 4,318:
|-
|-
|Id
|Id
|[http://mantis.innovaphone.com/view.php?id=40117 40117]
|[http://mantis.innovaphone.com/view.php?id=40271 40271]
|}
|}
Problem: Radio list can't be sorted by radio id.<br/><br/>Solution: Feature added.<br/><br/>Files: dectmaster_radios.xsl (OEM).<br/><br/>Products affected: All DECT devices.<br/><br/>Risk: Minimal risk of collateral damage.
Problem: Null pointer trap in dectradio.<br/><br/>Solution: Null pointer check added.<br/><br/>Files: dectradio.cpp.<br/><br/>Products affected: All DECT devices.<br/><br/>Risk: Minimal risk of collateral damage.
      
      
=== IP-DECT GUI user list sorting ===
=== No authorization was done on de-regstration on SIP client interfaces ===


{|
{|
Line 4,315: Line 4,329:
|-
|-
|Id
|Id
|[http://mantis.innovaphone.com/view.php?id=40133 40133]
|[http://mantis.innovaphone.com/view.php?id=40275 40275]
|}
|}
Problem: User list can't be sorted by Rights, Display, IPEI or Registration.<br/><br/>Solution: Feature added.<br/><br/>Files: dectusers.cpp, dect_users_right.xsl (OEM).<br/><br/>Products affected: All DECT devices.<br/><br/>Risk: Minimal risk of collateral damage.
Problem: If a SIP endpoint de-registers before shutdown a 401 was not handled.<br/><br/>Solution: Keep REGISTER client transaction in order to handle 401 response.<br/><br/>Files: sip.cpp/h<br/><br/>Products: All SIP devices<br/><br/>Risk: Collateral damage on handling of REGISTER responses.
      
      
=== IP-DECT &amp;amp; SIP: Distinctive Ringing support for several OEM PBX ===
=== Dialing from unknown reg for deployment did not work with CFU set at target user ===


{|
{|
Line 4,326: Line 4,340:
|-
|-
|Id
|Id
|[http://mantis.innovaphone.com/view.php?id=40145 40145]
|[http://mantis.innovaphone.com/view.php?id=40278 40278]
|}
|}
Problem: Different Alert-Info headers from several OEM PBX are not recognized by SIP and passed through to the DECT system.<br/><br/>Solution: Decode Alert-Info header and pass through call-type information.<br/><br/>Files: sip.cpp dectmaster.cpp<br/><br/>Products affected: All DECT devices.<br/><br/>Risk: Minimal risk of collateral damage.
problem: A CFU was executed even if the user was dialed from an unknown registration. This prohibited that the unknown registration was assigned to this user.<br/><br/>solution: Do not execute CFU for calls from unknown registrations<br/><br/>files: pbx.cpp<br/><br/>products: all with PBX<br/><br/>risks: None
      
      
=== IP-DECT Master handover canceled statistic ===
=== transparent recording of external calls must be perfomed for inbound and outbound calls ===


{|
{|
Line 4,337: Line 4,351:
|-
|-
|Id
|Id
|[http://mantis.innovaphone.com/view.php?id=40201 40201]
|[http://mantis.innovaphone.com/view.php?id=40308 40308]
|}
|}
Problem: Dect Master handover canceled statistic is not correct.<br/><br/>Solution: Fixed.<br/><br/>Files: dectmaster.cpp<br/><br/>Products affected: All DECT devices.<br/><br/>Risk: Minimal risk of collateral damage.
problem: with "Configuration/Registration n/Recording/Mode" = 'transparent' and "Configuration/Registration n/Recording/External Calls Only" = 'checked' only inbound external calls were recorded. if an outbound call is an external call is indicated in the numbering plan of the 'connected number' and this info was not passed to phoneapp.<br/><br/>solution: update numbering plan of remote party with the 'connected number' info, check for external call at connect time<br/><br/>files: phonesig.cpp, app_call.cpp<br/><br/>products: all phones<br/><br/>risks: None 
''Status:''
checked in to 8.00,7.00,08-70300
      
      
=== IP-DECT monitor interface for OEM modules ===
=== H.323 slowstart media renegotiation fails if initaited before the previous neg. completes in remote media case ===


{|
{|
Line 4,348: Line 4,364:
|-
|-
|Id
|Id
|[http://mantis.innovaphone.com/view.php?id=40202 40202]
|[http://mantis.innovaphone.com/view.php?id=40314 40314]
|}
|}
Problem: The IP address of the Standby Master is needed in OEM modules.<br/><br/>Solution: New argument was added in monitor function interface and monitor function calls were updated.<br/><br/>Files: dectmaster_if.h, dectmaster.h, dectmaster.cpp.<br/><br/>Products affected: All DECT devices.<br/><br/>Risk: Minimal risk of collateral damage.
problem: In case of remote media (e.g. the IP-DECT master is doing this) media-reneg. fails if previous media neg. was not completed. Results in IP-DECT no media calls for special supplementary services on some third party PBXs<br/><br/>solution: Fix media neg.<br/><br/>files: h323ch.cpp<br/><br/>products: all<br/><br/>risks: None
      
      
=== IP-DECT Null pointer trap ===
=== TLS socket did not send up remaining data after TCP connection shutdown ===


{|
{|
Line 4,359: Line 4,375:
|-
|-
|Id
|Id
|[http://mantis.innovaphone.com/view.php?id=40271 40271]
|[http://mantis.innovaphone.com/view.php?id=40482 40482]
|}
|}
Problem: Null pointer trap in dectradio.<br/><br/>Solution: Null pointer check added.<br/><br/>Files: dectradio.cpp.<br/><br/>Products affected: All DECT devices.<br/><br/>Risk: Minimal risk of collateral damage.
Problem: In some cases the TLS socket did not send all remaining data up after the remote endpoint closed the TCP connection. This happened if the HTTP-Client got TLS fragments bigger than 2000 byes followed directly by a FIN.<br/><br/>Solution: Delay socket shutdown with the HTTP client until all data has been delivered.<br/><br/>Files: tls.cpp<br/><br/>Products affected: All devices<br/><br/>Risk: Small risk of damage with other TLS applications
      
      
=== IP-DECT Null pointer trap in Master (OEM) ===
=== SOAP monitored call to busy on ... busy endpoint was terminated with rel_com instead of disc ===


{|
{|
Line 4,370: Line 4,386:
|-
|-
|Id
|Id
|[http://mantis.innovaphone.com/view.php?id=40779 40779]
|[http://mantis.innovaphone.com/view.php?id=40490 40490]
|}
|}
Problem: Null pointer trap in dectmaster with immediately send enbloc setup in OEM case.<br/><br/>Solution: Null pointer check added.<br/><br/>Files: dectmaster.cpp.<br/><br/>Products affected: All DECT devices.<br/><br/>Risk: Minimal risk of collateral damage.
problem: A call to a busy on ... calls busy endpoint was disconnected with RELEASE-COMPLETE even if monitored by SOAP. This results in SOAP (TAPI) not being able to disconnect the call to turn off the busy signal<br/><br/>solution: Use DISC to clear such a call<br/><br/>files: pbx.cpp<br/><br/>products: all with PBX<br/><br/>risk: None
      
      
=== IP-DECT OEM module debug output trap ===
=== No media if Transfer done by SIP endpoint from H.323 to H.323 endpoint if SIP ep has done Hold/Retrieve ===


{|
{|
Line 4,381: Line 4,397:
|-
|-
|Id
|Id
|[http://mantis.innovaphone.com/view.php?id=40790 40790]
|[http://mantis.innovaphone.com/view.php?id=40600 40600]
|}
|}
Problem: Trap during debug output in OEM module with many users.<br/><br/>Solution: Function changed.<br/><br/>Files: dectmobmaster.cpp.<br/><br/>Products affected: All OEM DECT devices.<br/><br/>Risk: No risk of collateral damage.
problem: Call from H.323 ep to SIP, SIP does HOLD/RETRIEVE and the transfer to another H.323 ep -> No media<br/><br/>solution: Fix media negotiation<br/><br/>files: h323ch.cpp<br/><br/>products: all<br/><br/>risks: small risk of collateral damage
      
      
=== IP-DECT OEM  module Mobmaster Master/Standby-Master login ===
=== TLS could trap when sending big packets ===


{|
{|
Line 4,392: Line 4,408:
|-
|-
|Id
|Id
|[http://mantis.innovaphone.com/view.php?id=40943 40943]
|[http://mantis.innovaphone.com/view.php?id=40609 40609]
|}
|}
Problem: Users are missed if Master and Standby-Master are connected at the same time.<br/><br/>Solution: Function fixed.<br/><br/>Files: dectmobmaster.h, dectmobmaster.cpp.<br/><br/>Products affected: All OEM DECT devices.<br/><br/>Risk: Minimal risk of collateral damage.
Problem: There was a bug in the packet re-fragmentation in the TLS layer that could lead to a trap when sending big packets.<br/><br/>Solution: Fix fragmentation mechanism<br/><br/>Files: tls.cpp<br/><br/>Products affected: All devices<br/><br/>Risk: No risk.  
      
      
=== IP-DECT Null pointer trap in Master with anonymous handsets ===
=== DTMF detection did not work randomly ===


{|
{|
Line 4,403: Line 4,419:
|-
|-
|Id
|Id
|[http://mantis.innovaphone.com/view.php?id=40947 40947]
|[http://mantis.innovaphone.com/view.php?id=40666 40666]
|}
|}
Problem: Null pointer trap in dectusers with anonymous handsets.<br/><br/>Solution: Null pointer check added.<br/><br/>Files: dectusers.cpp.<br/><br/>Products affected: All DECT devices.<br/><br/>Risk: Minimal risk of collateral damage.
problem: A config parameter for the DSP channel was uninitialized, which caused DTMF detection not work randomly<br/><br/>solution: Initialize all parameters<br/><br/>files: ac_dsp2.cpp<br/><br/>products: IP6000, IP800<br/><br/>risks: none
      
      
=== IP-DECT OEM trunk status inquiry ===
=== Echo canceling sometimes not active on IP72 ===


{|
{|
Line 4,414: Line 4,430:
|-
|-
|Id
|Id
|[http://mantis.innovaphone.com/view.php?id=41026 41026]
|[http://mantis.innovaphone.com/view.php?id=40677 40677]
|}
|}
Problem: Status inquiry is lost if a released call is used.<br/><br/>Solution: Function fixed.<br/><br/>Files: dectmaster.cpp.<br/><br/>Products affected: All OEM DECT devices.<br/><br/>Risk: Minimal risk of collateral damage.
problem: Echo canceling not active on IP72 is callmanage is used<br/><br/>solution: Prevent too frequent initialisations of the echocanceller<br/>files: omap_codec.cpp<br/><br/>products: ip220,ip72<br/><br/>risks: Low risk of collateral damage <br/>
      
      
=== IP-DECT OEM remove endpoint data command for debugging ===
=== Out-Of-Memory trap during voice message recording ===


{|
{|
Line 4,425: Line 4,441:
|-
|-
|Id
|Id
|[http://mantis.innovaphone.com/view.php?id=41062 41062]
|[http://mantis.innovaphone.com/view.php?id=40729 40729]
|}
|}
Problem: New command to remove endpoint data for debugging is needed.<br/><br/>Solution: Command added, obsolete command removed.<br/><br/>Files: dectradio.h, dectradio.cpp, dectlocalusers.cpp.<br/><br/>Products affected: All OEM DECT devices.<br/><br/>Risk: No risk of collateral damage.  
Problem: VM script tries to record a voice message into a non-existing directory. File writing fails but writing is re-tried endlessly. May result into out-of-memory trap.<br/><br/>Solution: Stop recording on error and do not try again.<br/><br/>Files: webmedia.cpp, pbx_vm.cpp, vm_script_if.cpp<br/><br/>Products affected: All PBX with VM object<br/><br/>Risk: No risk.
      
      
=== IP-DECT OEM trunk state after config change ===
=== assert with simultaneous write and read access to a cf file ===


{|
{|
Line 4,436: Line 4,452:
|-
|-
|Id
|Id
|[http://mantis.innovaphone.com/view.php?id=41125 41125]
|[http://mantis.innovaphone.com/view.php?id=40759 40759]
|}
|}
Problem: The initial trunk state is not correct after configuration change without reboot. Unnecessary location registration messages are sent.<br/><br/>Solution: Initial trunk state fixed.<br/><br/>Files: dectmaster.h, dectmaster.cpp.<br/><br/>Products affected: All OEM DECT devices.<br/><br/>Risk: Minimal risk of collateral damage. OEM firmware only.
problem: if one process writes a file and another process reads this file and the current filesize is a multiple of the cluster size and the next cluster has been alread allocated by the first writing process, the reading process might send a cf_read_event with 0, which causes a trap<br/><br/>solution: check for 0 in cf_read_event and handle this like eof<br/><br/>files: fat32.cpp<br/><br/>products: all devices with cf card<br/><br/>risks: minor, as this constelation is extremly rare
      
      
=== IP-DECT OEM module Mobmaster missing endpoints ===
=== Out of Memory trap when box is flooded with malformed/bad checksum packets ===


{|
{|
Line 4,447: Line 4,463:
|-
|-
|Id
|Id
|[http://mantis.innovaphone.com/view.php?id=41333 41333]
|[http://mantis.innovaphone.com/view.php?id=40767 40767]
|}
|}
Problem: Endpoints are missed if at least two Mobmaster are used.<br/><br/>Solution: Clean cache function fixed.<br/><br/>Files: dectmobmaster.cpp.<br/><br/>Products affected: All OEM DECT devices.<br/><br/>Risk: Minimal risk of collateral damage. Only for OEM products.
problem: when a box is flooded with malformed/bad checksum packets and the packets arrive faster than the resulting log events can be processed by the logging module, the box may run out of memory. <br/><br/>solution: ipproc.cpp gathers errors for one second, in case of more than 50 errors per second errors are dropped. gathered errors are passed to fault_handler.cpp any second. To prevent overuse of vars when saving errors saving is delayed for one second. only the last 50 errors arriving in this second are saved then. <br/><br/>files: ipproc.cpp, ipproc.h, fault_handler.cpp, fault_handler.h<br/><br/>products: all<br/><br/>risks: Minimal.<br/>
''Status:''
checked in to 8.00, 7.00, 08-70300
      
      
=== IP-DECT OEM data calls unavailable ===
=== IP-DECT Null pointer trap in Master (OEM) ===


{|
{|
Line 4,458: Line 4,476:
|-
|-
|Id
|Id
|[http://mantis.innovaphone.com/view.php?id=41334 41334]
|[http://mantis.innovaphone.com/view.php?id=40779 40779]
|}
|}
Problem: OEM data calls are unavailable if no trunk is alive, but it should be independent.<br/><br/>Solution: Call accept condition changed.<br/><br/>Files: dectmaster.cpp.<br/><br/>Products affected: All OEM DECT devices.<br/><br/>Risk: Minimal risk of collateral damage. Only for OEM products.
Problem: Null pointer trap in dectmaster with immediately send enbloc setup in OEM case.<br/><br/>Solution: Null pointer check added.<br/><br/>Files: dectmaster.cpp.<br/><br/>Products affected: All DECT devices.<br/><br/>Risk: Minimal risk of collateral damage.
      
      
=== IP-DECT debug output ===
=== IP-DECT OEM module debug output trap ===


{|
{|
Line 4,469: Line 4,487:
|-
|-
|Id
|Id
|[http://mantis.innovaphone.com/view.php?id=41881 41881]
|[http://mantis.innovaphone.com/view.php?id=40790 40790]
|}
|}
Problem: Option number is missed in debug output.<br/><br/>Solution: Option added.<br/><br/>Files: dectlocalusers.cpp.<br/><br/>Products affected: All OEM DECT devices.<br/><br/>Risk: No risk of collateral damage.
Problem: Trap during debug output in OEM module with many users.<br/><br/>Solution: Function changed.<br/><br/>Files: dectmobmaster.cpp.<br/><br/>Products affected: All OEM DECT devices.<br/><br/>Risk: No risk of collateral damage.
      
      
=== IP-DECT Delay on incoming call as a configurable parameter ===
=== After power up alt-gk was used instead of primary with IP-DECT ===


{|
{|
Line 4,480: Line 4,498:
|-
|-
|Id
|Id
|[http://mantis.innovaphone.com/view.php?id=42013 42013]
|[http://mantis.innovaphone.com/view.php?id=40845 40845]
|}
|}
Problem: Delay on incoming call as a configurable parameter is missed.<br/><br/>Solution: Option added.<br/><br/>Files: dectmaster.h, dectmaster.cpp, dectmaster.xsl.<br/><br/>Products affected: All OEM DECT devices.<br/><br/>Risk: Minimal risk of collateral damage.
problem: After power up the dectmaster registered the endpoints to the alternate not primary gk as expected. Usually this does not cause a problem, because it should switch over to the primary if the alternate does not respond. But there is a delay.<br/><br/>solution: Fix initialization<br/><br/>files: h323sig.cpp<br/><br/>products: all<br/><br/>risks: None
      
      
=== IP-DECT trunk down events ===
=== IP-DECT OEM  module Mobmaster Master/Standby-Master login ===


{|
{|
Line 4,491: Line 4,509:
|-
|-
|Id
|Id
|[http://mantis.innovaphone.com/view.php?id=42051 42051]
|[http://mantis.innovaphone.com/view.php?id=40943 40943]
|}
|}
Problem: Diagnose events are missed if trunks are down.<br/><br/>Solution: Diagnose events added.<br/><br/>Files: dectmaster.cpp.<br/><br/>Products affected: All OEM DECT devices.<br/><br/>Risk: No risk of collateral damage.  
Problem: Users are missed if Master and Standby-Master are connected at the same time.<br/><br/>Solution: Function fixed.<br/><br/>Files: dectmobmaster.h, dectmobmaster.cpp.<br/><br/>Products affected: All OEM DECT devices.<br/><br/>Risk: Minimal risk of collateral damage.
      
      
=== IP-DECT delayed user location registrations for trunks ===
=== IP-DECT Null pointer trap in Master with anonymous handsets ===


{|
{|
Line 4,502: Line 4,520:
|-
|-
|Id
|Id
|[http://mantis.innovaphone.com/view.php?id=42053 42053]
|[http://mantis.innovaphone.com/view.php?id=40947 40947]
|}
|}
Problem: There must be some delay in sending user location registrations to trunks to prevent CPU overload.<br/><br/>Solution: Function changed.<br/><br/>Files: dectmaster.h, dectmaster.cpp.<br/><br/>Products affected: All OEM DECT devices.<br/><br/>Risk: Minimal risk of collateral damage. OEM device only.  
Problem: Null pointer trap in dectusers with anonymous handsets.<br/><br/>Solution: Null pointer check added.<br/><br/>Files: dectusers.cpp.<br/><br/>Products affected: All DECT devices.<br/><br/>Risk: Minimal risk of collateral damage.
      
      
=== Portuguese translation not complete ===
=== Duplicate execution of interface maps in case of setup without digits ===


{|
{|
Line 4,513: Line 4,531:
|-
|-
|Id
|Id
|[http://mantis.innovaphone.com/view.php?id=41660 41660]
|[http://mantis.innovaphone.com/view.php?id=40982 40982]
|}
|}
problem: portugeuese translation not complete<br/><br/>solution: fixed phonetext<br/><br/>files: phone/txt/phonetxt.base phone/txt/phonetxt.cpp<br/><br/>products: phones<br/><br/>risks: none<br/><br/><br/>
problem: Interface maps are executed with the setup arriving AND with the first digit received. If a CDPN map is configured without digit to match, this could result in the same prefix being added twice<br/><br/>solution: Adjust output of the map on second execution by the output generated with the first execution<br/><br/>files: relay.cpp<br/><br/>products: all gateway products<br/><br/>risk: Small risk of collateral damage
      
      
=== G711u exclusive doesn't work with dtmf featurecodes/directory search/icp pbx objects ===
=== Changing LDAP server login credentials must force clients to re-login ===


{|
{|
Line 4,524: Line 4,542:
|-
|-
|Id
|Id
|[http://mantis.innovaphone.com/view.php?id=39986 39986]
|[http://mantis.innovaphone.com/view.php?id=41024 41024]
|}
|}
problem: if user has G711u exclusive, the above pbx objects won't work as there is no G711u MOH.<br/><br/>solution: instead of MOH, a dialing tone is used now. After receiving first digit, tone is stopped.<br/><br/>files: pbx_dirsearch.cpp/h, pbx_dtmf.cpp/h, pbx_icp.cpp/h<br/><br/>products: all PBX devices<br/><br/>risks: minor
Problem: LDAP server credential administration did not affect existing server connections.<br/><br/>Solution: Apply credentials to existing server connections. Tear down connections, if required.<br/><br/>Files: ldap/*<br/><br/>Products affected: All PBX, Dect Products<br/><br/>Risk: No risk.
      
      
=== icp traps with after dialed digits ===
=== LDAP server user account GUI doesn't accept  5 entries ===


{|
{|
Line 4,535: Line 4,553:
|-
|-
|Id
|Id
|[http://mantis.innovaphone.com/view.php?id=40006 40006]
|[http://mantis.innovaphone.com/view.php?id=41025 41025]
|}
|}
problem: if user does not dial the whole number at once but digit by digit, the box traps.<br/><br/>solution: changed digit handling<br/><br/>files: pbx_icp.cpp/h<br/><br/>products: all PBX devices<br/><br/>risks: none
Problem: LDAP Server administration malfunctioned when entering more than three accounts.<br/><br/>Solution: An internal buffer's dimension was too small, causing neglection of input. The buffer size was increased.<br/><br/>Files: ldap/*<br/><br/>Products affected: All PBX, Dect Products<br/><br/>Risk: No risk.
      
      
=== re-INVITE(sendrecv) was answered with 200/OK(inactive) if the initial INVITE was "inactive" ===
=== IP-DECT OEM trunk status inquiry ===


{|
{|
Line 4,546: Line 4,564:
|-
|-
|Id
|Id
|[http://mantis.innovaphone.com/view.php?id=41226 41226]
|[http://mantis.innovaphone.com/view.php?id=41026 41026]
|}
|}
Problem: re-INVITE(sendrecv) was answered with 200/OK(inactive) if the initial INVITE was "inactive".<br/><br/>Solution: Honor media mode change.<br/><br/>Files: sip.cpp<br/><br/>Products: All SIP devices<br/><br/>Risk: No risk.
Problem: Status inquiry is lost if a released call is used.<br/><br/>Solution: Function fixed.<br/><br/>Files: dectmaster.cpp.<br/><br/>Products affected: All OEM DECT devices.<br/><br/>Risk: Minimal risk of collateral damage.  
      
      
=== no ringing voltage after few days uptime ===
=== Forward last diverting information (not the first) ===


{|
{|
Line 4,557: Line 4,575:
|-
|-
|Id
|Id
|[http://mantis.innovaphone.com/view.php?id=36445 36445]
|[http://mantis.innovaphone.com/view.php?id=41036 41036]
|}
|}
Description: gateway in 'alerting' condition but no ringing voltage. After power-cycle or softreset this situation is cleared.<br/><br/>Solution: Chipset reset in case of RING_FAIL_IA signaling from Slic Chip as soon as all other ports gone on-hook.<br/><br/>Products affected: ip28<br/><br/>Risk: mid, does not occur in normal cases. Occurence yet not clear.
Problem: If a several diverting information elements arrive with a call at the gateway, only the first was mapped and forwarded.<br/><br/>Solution: Map and forward last diverting information.<br/><br/>Files: relay.cpp<br/><br/>Products: All Gateway devices<br/><br/>Risk:  
''Status:''
also relevant for v6hotfix, V7, V8
      
      
=== Misrouting of GRE packets ===
=== IP-DECT OEM remove endpoint data command for debugging ===


{|
{|
Line 4,570: Line 4,586:
|-
|-
|Id
|Id
|[http://mantis.innovaphone.com/view.php?id=41214 41214]
|[http://mantis.innovaphone.com/view.php?id=41062 41062]
|}
|}
Problem: NAT of GRE session may fail due wrong socket selection for incoming GRE packet.<br/><br/>Solution: Check local address of socket object.<br/><br/>Files: ipproc.cpp<br/><br/>Products: All NAT devices<br/><br/>Risk: No risk.
Problem: New command to remove endpoint data for debugging is needed.<br/><br/>Solution: Command added, obsolete command removed.<br/><br/>Files: dectradio.h, dectradio.cpp, dectlocalusers.cpp.<br/><br/>Products affected: All OEM DECT devices.<br/><br/>Risk: No risk of collateral damage.  
      
      
=== Number/Name update during call did not work ===
=== LDAP-Expert-View with unknown Login ===


{|
{|
Line 4,581: Line 4,597:
|-
|-
|Id
|Id
|[http://mantis.innovaphone.com/view.php?id=41733 41733]
|[http://mantis.innovaphone.com/view.php?id=41065 41065]
|}
|}
Problem: Number/Name update during call did not work, since check for extension "from-change" did not work if multiple Supported headers were present.<br/><br/>Solution: Fix parsing of multiple Supported headers.<br/><br/>Files: sipmsg.h<br/><br/>Products: All SIP devices<br/><br/>Risk: No risk.
Problem: Editing under LDAP/Expert by an IE ended in a login loop.<br/><br/>Solution: switch to mod_cmd_login.xml<br/><br/>Files: ldap/flashdirui*.xsl<br/><br/>Products affected: All PBX, Dect Products<br/><br/>Risk: No risk.  
      
      
=== ICMP Address mask requests shall be ignored ===
=== always display full number/name of 1st calling party on pickup key if requested via configuration ===


{|
{|
Line 4,592: Line 4,608:
|-
|-
|Id
|Id
|[http://mantis.innovaphone.com/view.php?id=39878 39878]
|[http://mantis.innovaphone.com/view.php?id=41068 41068]
|}
|}
problem: ICMP Address mask requests as defined in RFC 950 are not really used by current devices and need not to be responded. Some security check programs complain if responses are sent on such requests.<br/><br/>solution: ignore ICMP Address mask requests<br/><br/>files: ipproc.cpp<br/><br/>products: all<br/><br/>risks: None<br/>
problem: specially when "Administration/Phone/Preferences/Display Name on Pickup/Partner Key" is checked the calling party number may often be truncated or left off if too much space is needed to display the called parties.<br/><br/>solution: the new checkmark "Administration/Phone/Preferences/Keep Calling Party Info on Pickup Key" forces truncation of called party info instead of the calling party.<br/> <br/>files: app_disp.cpp, app_cfg.cpp, app_cfg.h, phone_pref.xsl<br/><br/>products: all phones<br/><br/>risks: None<br/>
''Status:''
''Status:''
checked in to 8.00, 7.00, 08-70300
checked in to 8.00,7.00,08-70300
      
      
=== configurable TCP send/recv window size to prevent running out memory with a big number of parallel http sessions ===
=== DGPN Mapping Produced Nonsense Numbers ===


{|
{|
Line 4,605: Line 4,621:
|-
|-
|Id
|Id
|[http://mantis.innovaphone.com/view.php?id=41346 41346]
|[http://mantis.innovaphone.com/view.php?id=41102 41102]
|}
|}
problem: boxes with limited DRAM like ip302/ip305 may run out of memory when processing a big number of parallel http put requests directed to CF card. This may happen for example when a scfg command is performed by a lot of update clients at the same time. Because of the low CF card speed most sessions cannot access the card for a while and will buffer a full window.<br/>A window size lower than 65535 (the current default) did not work stable with the apache http server, thus the default cannot be changed.  <br/><br/>solution: for custumers using a small box as update server for a big number of clients but do not access another http server the window can be configured.<br/>  config add IP0 /tcp-bs-small <window-size><br/>defines the window size for normal (non-NAT) sockets,<br/>  config add IP0 /tcp-bs-large <window-size><br/>defines the window size for NAT sockets.<br/>The limits for both values are (2 * 1024) <= <window_size> <= (128 * 1024), the default for both values is 65535 as before.<br/><br/>files: tcp.cpp tcp.h ipproc.cpp ipproc.h ip_config.cpp ip_config.h<br/><br/>products: all<br/><br/>risks: None (as long as the default is not changed, depending on http server otherwise).
Problem: DGPN mapping produced nonsense numbers<br/><br/>Solution: Apply DGPN mapping only, if map is really suitable<br/><br/>Files: gk.cpp<br/><br/>Products affected: All Gateway products<br/><br/>Risk: No risk.  
''Status:''
checked in to 8.00,7.00,08-70300
      
      
=== add 'rebootn' and 'irebootn' command to make bootcode activation in update process unique in all versions ===
=== IP-DECT OEM trunk state after config change ===


{|
{|
Line 4,618: Line 4,632:
|-
|-
|Id
|Id
|[http://mantis.innovaphone.com/view.php?id=41739 41739]
|[http://mantis.innovaphone.com/view.php?id=41125 41125]
|}
|}
problem: the only method for bootcode activation working for all devices and bootcode versions is the 'reboot' command (as far as it is supported by the running firmware). For straightforward update scripting the commands 'rebootn' and 'irebootn' are required.<br/><br/>solution: add the commands<br/><br/>files: command.cpp<br/><br/>products: all<br/><br/>risks: None<br/>
Problem: The initial trunk state is not correct after configuration change without reboot. Unnecessary location registration messages are sent.<br/><br/>Solution: Initial trunk state fixed.<br/><br/>Files: dectmaster.h, dectmaster.cpp.<br/><br/>Products affected: All OEM DECT devices.<br/><br/>Risk: Minimal risk of collateral damage. OEM firmware only.
''Status:''
checked in to 8.00,7.00,08-60900,08-70300
      
      
=== new 'name' metacharcter string #n in URL parameters in update commands ===
=== immediate diversion activation after receiving icp activation code ===


{|
{|
Line 4,631: Line 4,643:
|-
|-
|Id
|Id
|[http://mantis.innovaphone.com/view.php?id=41741 41741]
|[http://mantis.innovaphone.com/view.php?id=41144 41144]
|}
|}
problem: files created for example via "mod cmd UP0 scfg <url> ..." may be identified by hardware number ('#h'), mac address (#m) or ip-address (#i) provided in <url>. sometimes these informations are not remembered when needed. The new '#n' metacharcter string is replaced by <device-name>.<br/><device-name> is the name configured under "Configuration/General/Admin/Device Name" with space, control and punctuation characters except '-' replaced by '_'.<br/>If there is no name configured #n is replaced by "noname".<br/>Because <device-name> is not necessarily unique it should only be used in combination with one of the unique identifiers #h, #m or #i.<br/><br/>solution: expand #n <br/><br/>files: update.cpp<br/><br/>products: all<br/><br/>risks: None<br/>
problem: incoming icp activate only activates diversion if server acknowledges connection<br/><br/>solution: already activate diversion after receiving activation call<br/><br/>files: pbx_icp.cpp<br/><br/>products: all devices with pbx<br/><br/>risks: no
''Status:''
checked in to 8.00,7.00,08-70300
      
      
=== sectored firmware upload fails when the first firmware chunk sent to flashmanager is shorter 1000 byte ===
=== Misrouting of GRE packets ===


{|
{|
Line 4,644: Line 4,654:
|-
|-
|Id
|Id
|[http://mantis.innovaphone.com/view.php?id=41836 41836]
|[http://mantis.innovaphone.com/view.php?id=41214 41214]
|}
|}
problem: at the beginning of an upload the flasmanager gathers the firmware chunks until at least 1000 byte are available. Then the header is checked and if valid write_firmware() is called to write the packet to flash. A 'start' flag indicates if it is the first call and thus flash segments have to be reserved. This flag is copied from the current chunk(event) but is TRUE in the first event only.<br/><br/>solution: remember start condition separately and clear after first call to write_firmware()<br/><br/>files: flashman.cpp, flashman.h<br/><br/>products: all<br/><br/>risks: None
Problem: NAT of GRE session may fail due wrong socket selection for incoming GRE packet.<br/><br/>Solution: Check local address of socket object.<br/><br/>Files: ipproc.cpp<br/><br/>Products: All NAT devices<br/><br/>Risk: No risk.
''Status:''
checked in to 8.00,7.00,08-70300
      
      
=== OEM specific 'scfg' command output ===
=== re-INVITE(sendrecv) was answered with 200/OK(inactive) if the initial INVITE was "inactive" ===


{|
{|
Line 4,657: Line 4,665:
|-
|-
|Id
|Id
|[http://mantis.innovaphone.com/view.php?id=39835 39835]
|[http://mantis.innovaphone.com/view.php?id=41226 41226]
|}
|}
problem: the OEM provides an own module to save and restore config in a special format. the 'scfg' command output shall be in same format.<br/><br/>solution: if the OEM module is present 'scfg' replaces the default command sequence by a single command to the OEM module.<br/><br/>files: update.cpp<br/><br/>products: all<br/><br/>risks: None
Problem: re-INVITE(sendrecv) was answered with 200/OK(inactive) if the initial INVITE was "inactive".<br/><br/>Solution: Honor media mode change.<br/><br/>Files: sip.cpp<br/><br/>Products: All SIP devices<br/><br/>Risk: No risk.
''Status:''
checked in to 8.00, 7.00, 08-70300
      
      
=== Trap when the http connection timeout is reached immediately after the connection is dropped from remote ===
=== Potential Trap in RTP if error logging happens during call clearing ===


{|
{|
Line 4,670: Line 4,676:
|-
|-
|Id
|Id
|[http://mantis.innovaphone.com/view.php?id=39686 39686]
|[http://mantis.innovaphone.com/view.php?id=41287 41287]
|}
|}
problem: When a http socket connection was dropped from remote and and the disconnect timer fired before the http_request object was destructed a shutdown was sent to the already closed socket. <br/><br/>solution: fix in code<br/><br/>files: http.cpp<br/><br/>products: all<br/><br/>risks: None  
problem: If an RTP error log is generated when the RTP entity is already closing a NULL pointer access trap can happen<br/><br/>solution: Check for RTP closing before creating the event<br/><br/>files: media.cpp<br/><br/>products: all<br/><br/>risks: None
''Status:''
checked in to 8.00, 7.00, 08-70300
      
      
=== httpclient does not flag EOF in last nonempty data packet when reading a file from local CF card ===
=== PROGRESS with in-band-info not sent on ISDN ===


{|
{|
Line 4,683: Line 4,687:
|-
|-
|Id
|Id
|[http://mantis.innovaphone.com/view.php?id=41885 41885]
|[http://mantis.innovaphone.com/view.php?id=41288 41288]
|}
|}
problem: When reading a file from a WEB server the httpclient::recv_data() callback indicates the last packet of data by setting packet::code = 1. When reading a file from local CF card packet::code of the last packet is zero as for all other packets. some clients (for example the update process) fail if this (historical) EOF convention is not kept.<br/><br/>solution: fix in code<br/><br/>files: httpclient_i.cpp<br/><br/>products: all<br/><br/>risks: None<br/>
problem: A PROGRESS message with in-band-info was suppressed even in case no progress indicator was sent before (in SETUP-ACK, CALL-PROC). This caused in-band tones not be available in such situation<br/><br/>solution: Better check when to suppress PROGRESS<br/><br/>files: q931.cpp, q931.h<br/><br/>products: All with ISDN interfaces<br/><br/>risk: Some risk of collateral damage
''Status:''
checked in to 8.00,7.00,08-70300
      
      
=== The message indicating an active Automatic Redial disappears after first redial attempt ===
=== IP-DECT OEM module Mobmaster missing endpoints ===


{|
{|
Line 4,696: Line 4,698:
|-
|-
|Id
|Id
|[http://mantis.innovaphone.com/view.php?id=39645 39645]
|[http://mantis.innovaphone.com/view.php?id=41333 41333]
|}
|}
problem: When Automatic Redial is activated the text "Redial" is displayed in the message line. This text disappears after the first redial attempt and thus the user may easy forget to stop it when leaving it's place. Further each redial attempt is listed under "Active Recalls" and thus it's not clear what should be be cancelled.  <br/><br/>solution: fix in code<br/><br/>files: app_cc.cpp app_ctl.cpp app_ctl.h app_disp.cpp forms.h forms_gen.cpp forms_ip72.cpp phone_list.cpp<br/><br/>products: all phones<br/><br/>risks: None
Problem: Endpoints are missed if at least two Mobmaster are used.<br/><br/>Solution: Clean cache function fixed.<br/><br/>Files: dectmobmaster.cpp.<br/><br/>Products affected: All OEM DECT devices.<br/><br/>Risk: Minimal risk of collateral damage. Only for OEM products.
''Status:''
checked in to 8.00,7.00,08-70300
      
      
=== config option to force display of alerting calls both on partner key and on pickup key ===
=== IP-DECT OEM data calls unavailable ===


{|
{|
Line 4,709: Line 4,709:
|-
|-
|Id
|Id
|[http://mantis.innovaphone.com/view.php?id=39861 39861]
|[http://mantis.innovaphone.com/view.php?id=41334 41334]
|}
|}
problem: alerting calls are not displayed on a pickup key if a partner/park key associated to a display line is defined for the alerting party. some customers want such calls to be displayed as well on partner/park key as on pickup key. <br/><br/>solution: implement option "config add PHONE APP /pick-partner"<br/><br/>files: app_cfg.cpp app_cfg.h app_disp.cpp<br/><br/>products: all phones<br/><br/>risks: None
Problem: OEM data calls are unavailable if no trunk is alive, but it should be independent.<br/><br/>Solution: Call accept condition changed.<br/><br/>Files: dectmaster.cpp.<br/><br/>Products affected: All OEM DECT devices.<br/><br/>Risk: Minimal risk of collateral damage. Only for OEM products.
''Status:''
checked in to 8.00,7.00,08-70300
      
      
=== Dial funktion key shall provide a pause character for DTMF tone timing ===
=== src-url not transmitted accross PBXs ===


{|
{|
Line 4,722: Line 4,720:
|-
|-
|Id
|Id
|[http://mantis.innovaphone.com/view.php?id=39932 39932]
|[http://mantis.innovaphone.com/view.php?id=41344 41344]
|}
|}
problem: The "Send in Active Call" checkmark of a dial function key permits to send DTMF digits in an already established call. The time between two digits is fixed to 200 milliseconds which is too fast for some applications.<br/><br/>solution: a comma (',') inserted between the digits represents a delay of 300 milliseconds. "1,2" means that '2' is sent 500 milliseconds after '1', "1,,,2" delays '2' for 1100 milliseconds.<br/><br/>files: phonesig.cpp<br/><br/>products: all phones<br/><br/>risks: None
problem: The URL Parameter configured at a user is sent with calls of this user. It is put into CDRs by the gateway and can be used for billing purposes. If the call was received from another PBX, the src-url was not forwarded.<br/><br/>solution: Forward src-url<br/><br/>files: pbx.cpp<br/><br/>products: All with PBX<br/><br/>risks: None
''Status:''
checked in to 8.00,7.00,08-70300
      
      
=== transparent recording of external calls must be perfomed for inbound and outbound calls ===
=== configurable TCP send/recv window size to prevent running out memory with a big number of parallel http sessions ===


{|
{|
Line 4,735: Line 4,731:
|-
|-
|Id
|Id
|[http://mantis.innovaphone.com/view.php?id=40308 40308]
|[http://mantis.innovaphone.com/view.php?id=41346 41346]
|}
|}
problem: with "Configuration/Registration n/Recording/Mode" = 'transparent' and "Configuration/Registration n/Recording/External Calls Only" = 'checked' only inbound external calls were recorded. if an outbound call is an external call is indicated in the numbering plan of the 'connected number' and this info was not passed to phoneapp.<br/><br/>solution: update numbering plan of remote party with the 'connected number' info, check for external call at connect time<br/><br/>files: phonesig.cpp, app_call.cpp<br/><br/>products: all phones<br/><br/>risks: None
problem: boxes with limited DRAM like ip302/ip305 may run out of memory when processing a big number of parallel http put requests directed to CF card. This may happen for example when a scfg command is performed by a lot of update clients at the same time. Because of the low CF card speed most sessions cannot access the card for a while and will buffer a full window.<br/>A window size lower than 65535 (the current default) did not work stable with the apache http server, thus the default cannot be changed. <br/><br/>solution: for custumers using a small box as update server for a big number of clients but do not access another http server the window can be configured.<br/>  config add IP0 /tcp-bs-small <window-size><br/>defines the window size for normal (non-NAT) sockets,<br/>  config add IP0 /tcp-bs-large <window-size><br/>defines the window size for NAT sockets.<br/>The limits for both values are (2 * 1024) <= <window_size> <= (128 * 1024), the default for both values is 65535 as before.<br/><br/>files: tcp.cpp tcp.h ipproc.cpp ipproc.h ip_config.cpp ip_config.h<br/><br/>products: all<br/><br/>risks: None (as long as the default is not changed, depending on http server otherwise).
''Status:''
''Status:''
checked in to 8.00,7.00,08-70300
checked in to 8.00,7.00,08-70300
      
      
=== always display full number/name of 1st calling party on pickup key if requested via configuration ===
=== Wrong redirecting number on retry of recall ===


{|
{|
Line 4,748: Line 4,744:
|-
|-
|Id
|Id
|[http://mantis.innovaphone.com/view.php?id=41068 41068]
|[http://mantis.innovaphone.com/view.php?id=41357 41357]
|}
|}
problem: specially when "Administration/Phone/Preferences/Display Name on Pickup/Partner Key" is checked the calling party number may often be truncated or left off if too much space is needed to display the called parties.<br/><br/>solution: the new checkmark "Administration/Phone/Preferences/Keep Calling Party Info on Pickup Key" forces truncation of called party info instead of the calling party.<br/> <br/>files: app_disp.cpp, app_cfg.cpp, app_cfg.h, phone_pref.xsl<br/><br/>products: all phones<br/><br/>risks: None<br/>
problem: A recall after a failed transfer should show the transfer destination as redirecting number. If the recall failed because of the transferor was busy again, this was not the case with the retry of the recall.<br/><br/>solution: Send correct redirecting number<br/><br/>files: pbx.cpp pbx.h<br/><br/>products: All with PBX<br/><br/>risks: Small risk of collateral damage
''Status:''
checked in to 8.00,7.00,08-70300
      
      
=== Partner key without pickup functionality ===
=== Bad Noise Level in RTP Comfort Noise Packets ===


{|
{|
Line 4,761: Line 4,755:
|-
|-
|Id
|Id
|[http://mantis.innovaphone.com/view.php?id=41937 41937]
|[http://mantis.innovaphone.com/view.php?id=41388 41388]
|}
|}
problem: sometimes it is desirable to have a key to watch the status of a partner and to dial this partner but withour pickup functionality<br/><br/>solution: new partner key flag "Do not pick up an alerting Call"<br/><br/>files: phone_config.cpp, phone_config.h, phone_edit.cpp, app_fkey.cpp, fkey_edit_partner.xsl <br/><br/>products: all phones<br/><br/>risks: None
Problem: CN packets contained "0" as noise level, but the noise level is expressed in -dBov which means maximum noise.<br/><br/>Solution: Change noise level value into "127".<br/><br/>Files: media.cpp<br/><br/>Products: PBX voice mail<br/><br/>Risk: No risk.
''Status:''
''Status:''
checked in to 8.00,7.00,08-70300
PBX voice mail sends CN packets during message recording.
      
      
=== TLS socket did not send up remaining data after TCP connection shutdown ===
=== PBX: CDR missing some importent Information if call is forwarded by Waiting ===


{|
{|
Line 4,774: Line 4,768:
|-
|-
|Id
|Id
|[http://mantis.innovaphone.com/view.php?id=40482 40482]
|[http://mantis.innovaphone.com/view.php?id=41432 41432]
|}
|}
Problem: In some cases the TLS socket did not send all remaining data up after the remote endpoint closed the TCP connection. This happened if the HTTP-Client got TLS fragments bigger than 2000 byes followed directly by a FIN.<br/><br/>Solution: Delay socket shutdown with the HTTP client until all data has been delivered.<br/><br/>Files: tls.cpp<br/><br/>Products affected: All devices<br/><br/>Risk: Small risk of damage with other TLS applications
problem: The PBX CDRs did not show the destination to which calls are forwarded by Waiting with DTMF dialing<br/><br/>solution: Add more information to CDR<br/><br/>files: pbx.cpp, pbx_wait.cpp, pbx_api.h<br/><br/>products: All with PBX<br/><br/>risks: Minimal
      
      
=== TLS could trap when sending big packets ===
=== Trap in SIP stack due to misalignment of data struct ===


{|
{|
Line 4,785: Line 4,779:
|-
|-
|Id
|Id
|[http://mantis.innovaphone.com/view.php?id=40609 40609]
|[http://mantis.innovaphone.com/view.php?id=41483 41483]
|}
|}
Problem: There was a bug in the packet re-fragmentation in the TLS layer that could lead to a trap when sending big packets.<br/><br/>Solution: Fix fragmentation mechanism<br/><br/>Files: tls.cpp<br/><br/>Products affected: All devices<br/><br/>Risk: No risk.  
Problem: Trap in SIP stack due to misalignment of data struct.<br/><br/>Solution: Fixed alignment.<br/><br/>Files: siptrans.cpp<br/><br/>Products: All SIP devices<br/><br/>Risk: No risk.
      
      
=== LDAP, ASN.1-Encoding failed for objects with ~100 attributes ===
=== Use To header for routing of incoming MESSAGE requests ===


{|
{|
Line 4,796: Line 4,790:
|-
|-
|Id
|Id
|[http://mantis.innovaphone.com/view.php?id=40171 40171]
|[http://mantis.innovaphone.com/view.php?id=41485 41485]
|}
|}
Problem: Node objects with approx. 100 rep-attributes weren't replicatable.<br/><br/>Solution: Fix Asn.1 encoding<br/><br/>Files: ldapsrv.cpp, ldapdir.cpp<br/><br/>Products affected: All PBX products<br/><br/>Risk: none
Problem: MESSAGE routing through Gateway did not work properly.<br/><br/>Solution: Use To header for routing of incoming MESSAGE requests.<br/><br/>Files: sip.cpp<br/><br/>Products: PBXs and Gateways<br/><br/>Risk: No risk.
      
      
=== Changing LDAP server login credentials must force clients to re-login ===
=== VM. Escaping missing for directory names and CGPNs encoded in file names ===


{|
{|
Line 4,807: Line 4,801:
|-
|-
|Id
|Id
|[http://mantis.innovaphone.com/view.php?id=41024 41024]
|[http://mantis.innovaphone.com/view.php?id=41642 41642]
|}
|}
Problem: LDAP server credential administration did not affect existing server connections.<br/><br/>Solution: Apply credentials to existing server connections. Tear down connections, if required.<br/><br/>Files: ldap/*<br/><br/>Products affected: All PBX, Dect Products<br/><br/>Risk: No risk.  
problem: <br/>-Voicebox directories for usernames containing '/','*' weren't processable.<br/>-Filenames emerging during <pbx-record> and carrying a CGPN (separated by a hyphen'-') that  contains '*','#' weren't processable.<br/><br/>solution: <br/>-Internally add more escaping for user directories. <br/>-Internally apply escaping for the CGPN name part when processing <pbx-record><br/>-Internally apply unescaping for the CGPN name part when processing <store-split><br/><br/>files: vm_script_if.cpp<br/><br/>products: All with PBX<br/><br/>risks: All private scripts with a '/' in the "root"-attribute of one of the  "<store-..>"-elements must be adapted a'la:<br/>  modify<br/><store-del root="one/two/" name="test.txt"/><br/>  into<br/><store-del root="" name="one/two/test.txt"/><br/>
      
      
=== LDAP server user account GUI doesn't accept  5 entries ===
=== Portuguese translation not complete ===


{|
{|
Line 4,818: Line 4,812:
|-
|-
|Id
|Id
|[http://mantis.innovaphone.com/view.php?id=41025 41025]
|[http://mantis.innovaphone.com/view.php?id=41660 41660]
|}
|}
Problem: LDAP Server administration malfunctioned when entering more than three accounts.<br/><br/>Solution: An internal buffer's dimension was too small, causing neglection of input. The buffer size was increased.<br/><br/>Files: ldap/*<br/><br/>Products affected: All PBX, Dect Products<br/><br/>Risk: No risk.
problem: portugeuese translation not complete<br/><br/>solution: fixed phonetext<br/><br/>files: phone/txt/phonetxt.base phone/txt/phonetxt.cpp<br/><br/>products: phones<br/><br/>risks: none<br/><br/><br/>
      
      
=== LDAP-Expert-View with unknown Login ===
=== Number/Name update during call did not work ===


{|
{|
Line 4,829: Line 4,823:
|-
|-
|Id
|Id
|[http://mantis.innovaphone.com/view.php?id=41065 41065]
|[http://mantis.innovaphone.com/view.php?id=41733 41733]
|}
|}
Problem: Editing under LDAP/Expert by an IE ended in a login loop.<br/><br/>Solution: switch to mod_cmd_login.xml<br/><br/>Files: ldap/flashdirui*.xsl<br/><br/>Products affected: All PBX, Dect Products<br/><br/>Risk: No risk.  
Problem: Number/Name update during call did not work, since check for extension "from-change" did not work if multiple Supported headers were present.<br/><br/>Solution: Fix parsing of multiple Supported headers.<br/><br/>Files: sipmsg.h<br/><br/>Products: All SIP devices<br/><br/>Risk: No risk.
      
      
=== DGPN Mapping Produced Nonsense Numbers ===
=== add 'rebootn' and 'irebootn' command to make bootcode activation in update process unique in all versions ===


{|
{|
Line 4,840: Line 4,834:
|-
|-
|Id
|Id
|[http://mantis.innovaphone.com/view.php?id=41102 41102]
|[http://mantis.innovaphone.com/view.php?id=41739 41739]
|}
|}
Problem: DGPN mapping produced nonsense numbers<br/><br/>Solution: Apply DGPN mapping only, if map is really suitable<br/><br/>Files: gk.cpp<br/><br/>Products affected: All Gateway products<br/><br/>Risk: No risk.  
problem: the only method for bootcode activation working for all devices and bootcode versions is the 'reboot' command (as far as it is supported by the running firmware). For straightforward update scripting the commands 'rebootn' and 'irebootn' are required.<br/><br/>solution: add the commands<br/><br/>files: command.cpp<br/><br/>products: all<br/><br/>risks: None<br/>
''Status:''
checked in to 8.00,7.00,08-60900,08-70300
      
      
=== AD Replication Configuration: Enable checkmark not always reflectig persistent config ===
=== new 'name' metacharcter string #n in URL parameters in update commands ===


{|
{|
Line 4,851: Line 4,847:
|-
|-
|Id
|Id
|[http://mantis.innovaphone.com/view.php?id=41921 41921]
|[http://mantis.innovaphone.com/view.php?id=41741 41741]
|}
|}
Problem: The enable checkmark was cleared volatile when an error condition was detected within the replication configuration. The admin couldn't see that it was still enabled in the persistent config. <br/><br/>Solution: Auto-Stopping now acts on an own volatile flag instead of on enable flag.<br/><br/>Files: ldap*<br/><br/>Products: PBX, DECT Products<br/><br/>Risk: No risk. <br/>
problem: files created for example via "mod cmd UP0 scfg <url> ..." may be identified by hardware number ('#h'), mac address (#m) or ip-address (#i) provided in <url>. sometimes these informations are not remembered when needed. The new '#n' metacharcter string is replaced by <device-name>.<br/><device-name> is the name configured under "Configuration/General/Admin/Device Name" with space, control and punctuation characters except '-' replaced by '_'.<br/>If there is no name configured #n is replaced by "noname".<br/>Because <device-name> is not necessarily unique it should only be used in combination with one of the unique identifiers #h, #m or #i.<br/><br/>solution: expand #n <br/><br/>files: update.cpp<br/><br/>products: all<br/><br/>risks: None<br/>
''Status:''
checked in to 8.00,7.00,08-70300
      
      
=== Forward last diverting information (not the first) ===
=== Trap when using SIP/TLS through NAT ===


{|
{|
Line 4,862: Line 4,860:
|-
|-
|Id
|Id
|[http://mantis.innovaphone.com/view.php?id=41036 41036]
|[http://mantis.innovaphone.com/view.php?id=41810 41810]
|}
|}
Problem: If a several diverting information elements arrive with a call at the gateway, only the first was mapped and forwarded.<br/><br/>Solution: Map and forward last diverting information.<br/><br/>Files: relay.cpp<br/><br/>Products: All Gateway devices<br/><br/>Risk:  
Problem: Trap when using SIP/TLS through NAT.<br/><br/>Solution: Do not call send_nat_keepalive() in case of connection oriented transport.<br/><br/>Files: sip.cpp<br/><br/>Products: All SIP devices<br/><br/>Risk: No risk.
      
      
=== RTP timestamp jumps during hold/retrieve/transfer ===
=== sectored firmware upload fails when the first firmware chunk sent to flashmanager is shorter 1000 byte ===


{|
{|
Line 4,873: Line 4,871:
|-
|-
|Id
|Id
|[http://mantis.innovaphone.com/view.php?id=40213 40213]
|[http://mantis.innovaphone.com/view.php?id=41836 41836]
|}
|}
Problem: RTP timestamp jumps during hold/retrieve/transfer. On media-relay scenarios this may confuse the remote side and result into one-way-audio.<br/><br/>Solution: Keep RTP timestamp progressively on media-relay scenarios.<br/><br/>Files: medialib.h media.cpp media_fwd.h/cpp<br/><br/>Products affected: All gateway devices<br/><br/>Risk: No risk.
problem: at the beginning of an upload the flasmanager gathers the firmware chunks until at least 1000 byte are available. Then the header is checked and if valid write_firmware() is called to write the packet to flash. A 'start' flag indicates if it is the first call and thus flash segments have to be reserved. This flag is copied from the current chunk(event) but is TRUE in the first event only.<br/><br/>solution: remember start condition separately and clear after first call to write_firmware()<br/><br/>files: flashman.cpp, flashman.h<br/><br/>products: all<br/><br/>risks: None
''Status:''
checked in to 8.00,7.00,08-70300
      
      
=== Wrong "direction" attribute in dialog-info (group indications) ===
=== PBX: Trap when changing filters with 'next' ===


{|
{|
Line 4,884: Line 4,884:
|-
|-
|Id
|Id
|[http://mantis.innovaphone.com/view.php?id=39983 39983]
|[http://mantis.innovaphone.com/view.php?id=41875 41875]
|}
|}
problem: Attribute "direction" has always value "initiator". Even if inbound calls are reported. In result call-pickup did not work.<br/><br/>solution: Fix the "direction" attribute.<br/><br/>files: sip.cpp/h sip_dialog_info.cpp/h<br/><br/>products: all PBX devices using SIP<br/><br/>risks: None
problem: When chaining filters with 'next' a trap could happen when these filters were changed<br/><br/>solution: Fix merged from v8<br/><br/>files: pbx.cpp<br/><br/>products: All with PBX<br/><br/>risks: Minimal, fix very well tested in v8 already
      
      
=== Re-transmission of INVITE after CANCEL has been send ===
=== IP-DECT debug output ===


{|
{|
Line 4,895: Line 4,895:
|-
|-
|Id
|Id
|[http://mantis.innovaphone.com/view.php?id=40151 40151]
|[http://mantis.innovaphone.com/view.php?id=41881 41881]
|}
|}
Problem: If 407 for INVITE arrives after CANCEL has been sent, the INVITE was re-transmitted with autorization header.<br/><br/>Solution: Ignore 407 response after CANCEL has been sent.<br/><br/>Files: sip.cpp<br/><br/>Products affected: All SIP devices<br/><br/>Risk: No risk.
Problem: Option number is missed in debug output.<br/><br/>Solution: Option added.<br/><br/>Files: dectlocalusers.cpp.<br/><br/>Products affected: All OEM DECT devices.<br/><br/>Risk: No risk of collateral damage.
      
      
=== Trap in SIP stack on incoming calls ===
=== httpclient does not flag EOF in last nonempty data packet when reading a file from local CF card ===


{|
{|
Line 4,906: Line 4,906:
|-
|-
|Id
|Id
|[http://mantis.innovaphone.com/view.php?id=40247 40247]
|[http://mantis.innovaphone.com/view.php?id=41885 41885]
|}
|}
Problem: Trap in SIP stack on incoming calls.<br/><br/>Solution: Fix.<br/><br/>Files: siptrans.h<br/><br/>Products affected: All SIP devices<br/><br/>Risk: No risk.
problem: When reading a file from a WEB server the httpclient::recv_data() callback indicates the last packet of data by setting packet::code = 1. When reading a file from local CF card packet::code of the last packet is zero as for all other packets. some clients (for example the update process) fail if this (historical) EOF convention is not kept.<br/><br/>solution: fix in code<br/><br/>files: httpclient_i.cpp<br/><br/>products: all<br/><br/>risks: None<br/>
''Status:''
checked in to 8.00,7.00,08-70300
      
      
=== No authorization was done on de-regstration on SIP client interfaces ===
=== New interoperability option "/take-sendonly-as-inactive" ===


{|
{|
Line 4,917: Line 4,919:
|-
|-
|Id
|Id
|[http://mantis.innovaphone.com/view.php?id=40275 40275]
|[http://mantis.innovaphone.com/view.php?id=41886 41886]
|}
|}
Problem: If a SIP endpoint de-registers before shutdown a 401 was not handled.<br/><br/>Solution: Keep REGISTER client transaction in order to handle 401 response.<br/><br/>Files: sip.cpp/h<br/><br/>Products: All SIP devices<br/><br/>Risk: Collateral damage on handling of REGISTER responses.
Problem: Some SIP phones send SDP offer with "sendonly" and expecting the PBX to play MOH to the remote party. They actually don't want to send no RTP itself although explicitely indicated. MOH is only started by the PBX in case of "inactive".<br/><br/>Solution: New interoperability option "/take-sendonly-as-inactive". With this option set, "sendonly" is handled as "REMOTE-HOLD". Without, it is handled as "HOLD-NOTIFIC".<br/><br/>Files: sip.h/cpp<br/><br/>Products: All SIP devices<br/><br/>Risk: No risk.
      
      
=== Trap in SIP stack due to misalignment of data struct ===
=== AD Replication Configuration: Enable checkmark not always reflectig persistent config ===


{|
{|
Line 4,928: Line 4,930:
|-
|-
|Id
|Id
|[http://mantis.innovaphone.com/view.php?id=41483 41483]
|[http://mantis.innovaphone.com/view.php?id=41921 41921]
|}
|}
Problem: Trap in SIP stack due to misalignment of data struct.<br/><br/>Solution: Fixed alignment.<br/><br/>Files: siptrans.cpp<br/><br/>Products: All SIP devices<br/><br/>Risk: No risk.
Problem: The enable checkmark was cleared volatile when an error condition was detected within the replication configuration. The admin couldn't see that it was still enabled in the persistent config. <br/><br/>Solution: Auto-Stopping now acts on an own volatile flag instead of on enable flag.<br/><br/>Files: ldap*<br/><br/>Products: PBX, DECT Products<br/><br/>Risk: No risk. <br/>
      
      
=== Use To header for routing of incoming MESSAGE requests ===
=== Config Template Objects not replicated to slave PBXs ===


{|
{|
Line 4,939: Line 4,941:
|-
|-
|Id
|Id
|[http://mantis.innovaphone.com/view.php?id=41485 41485]
|[http://mantis.innovaphone.com/view.php?id=41925 41925]
|}
|}
Problem: MESSAGE routing through Gateway did not work properly.<br/><br/>Solution: Use To header for routing of incoming MESSAGE requests.<br/><br/>Files: sip.cpp<br/><br/>Products: PBXs and Gateways<br/><br/>Risk: No risk.
problem: The node/loc attributes of a Config object were set to 'root' which prohibited replication to slaves with a PBX filter.<br/><br/>solution: Don't set node/loc attributes<br/><br/>files: pbx_edit_config.xsl<br/><br/>products: All with PBX<br/><br/>risks: Could be that setting loc/node to root was good for something
      
      
=== Trap when using SIP/TLS through NAT ===
=== Partner key without pickup functionality ===


{|
{|
Line 4,950: Line 4,952:
|-
|-
|Id
|Id
|[http://mantis.innovaphone.com/view.php?id=41810 41810]
|[http://mantis.innovaphone.com/view.php?id=41937 41937]
|}
|}
Problem: Trap when using SIP/TLS through NAT.<br/><br/>Solution: Do not call send_nat_keepalive() in case of connection oriented transport.<br/><br/>Files: sip.cpp<br/><br/>Products: All SIP devices<br/><br/>Risk: No risk.
problem: sometimes it is desirable to have a key to watch the status of a partner and to dial this partner but withour pickup functionality<br/><br/>solution: new partner key flag "Do not pick up an alerting Call"<br/><br/>files: phone_config.cpp, phone_config.h, phone_edit.cpp, app_fkey.cpp, fkey_edit_partner.xsl <br/><br/>products: all phones<br/><br/>risks: None
''Status:''
checked in to 8.00,7.00,08-70300
      
      
=== New interoperability option "/take-sendonly-as-inactive" ===
=== IP-DECT Delay on incoming call as a configurable parameter ===


{|
{|
Line 4,961: Line 4,965:
|-
|-
|Id
|Id
|[http://mantis.innovaphone.com/view.php?id=41886 41886]
|[http://mantis.innovaphone.com/view.php?id=42013 42013]
|}
|}
Problem: Some SIP phones send SDP offer with "sendonly" and expecting the PBX to play MOH to the remote party. They actually don't want to send no RTP itself although explicitely indicated. MOH is only started by the PBX in case of "inactive".<br/><br/>Solution: New interoperability option "/take-sendonly-as-inactive". With this option set, "sendonly" is handled as "REMOTE-HOLD". Without, it is handled as "HOLD-NOTIFIC".<br/><br/>Files: sip.h/cpp<br/><br/>Products: All SIP devices<br/><br/>Risk: No risk.
Problem: Delay on incoming call as a configurable parameter is missed.<br/><br/>Solution: Option added.<br/><br/>Files: dectmaster.h, dectmaster.cpp, dectmaster.xsl.<br/><br/>Products affected: All OEM DECT devices.<br/><br/>Risk: Minimal risk of collateral damage.  
      
      
=== Bad Noise Level in RTP Comfort Noise Packets ===
=== IP-DECT trunk down events ===


{|
{|
Line 4,972: Line 4,976:
|-
|-
|Id
|Id
|[http://mantis.innovaphone.com/view.php?id=41388 41388]
|[http://mantis.innovaphone.com/view.php?id=42051 42051]
|}
|}
Problem: CN packets contained "0" as noise level, but the noise level is expressed in -dBov which means maximum noise.<br/><br/>Solution: Change noise level value into "127".<br/><br/>Files: media.cpp<br/><br/>Products: PBX voice mail<br/><br/>Risk: No risk.
Problem: Diagnose events are missed if trunks are down.<br/><br/>Solution: Diagnose events added.<br/><br/>Files: dectmaster.cpp.<br/><br/>Products affected: All OEM DECT devices.<br/><br/>Risk: No risk of collateral damage.  
''Status:''
PBX voice mail sends CN packets during message recording.
      
      
=== Out of Memory trap when box is flooded with malformed/bad checksum packets ===
=== IP-DECT delayed user location registrations for trunks ===


{|
{|
Line 4,985: Line 4,987:
|-
|-
|Id
|Id
|[http://mantis.innovaphone.com/view.php?id=40767 40767]
|[http://mantis.innovaphone.com/view.php?id=42053 42053]
|}
|}
problem: when a box is flooded with malformed/bad checksum packets and the packets arrive faster than the resulting log events can be processed by the logging module, the box may run out of memory. <br/><br/>solution: ipproc.cpp gathers errors for one second, in case of more than 50 errors per second errors are dropped. gathered errors are passed to fault_handler.cpp any second. To prevent overuse of vars when saving errors saving is delayed for one second. only the last 50 errors arriving in this second are saved then. <br/><br/>files: ipproc.cpp, ipproc.h, fault_handler.cpp, fault_handler.h<br/><br/>products: all<br/><br/>risks: Minimal.<br/>
Problem: There must be some delay in sending user location registrations to trunks to prevent CPU overload.<br/><br/>Solution: Function changed.<br/><br/>Files: dectmaster.h, dectmaster.cpp.<br/><br/>Products affected: All OEM DECT devices.<br/><br/>Risk: Minimal risk of collateral damage. OEM device only.  
''Status:''
checked in to 8.00, 7.00, 08-70300
      
      
== Bug Fixes ==
== Bug Fixes ==
Line 5,003: Line 5,003:


      
      
=== v7hf7: Voicemail fails to prompt stored messages ===
=== when transparent recording for external calls was configured, internal calls to voice mail were recorded too ===


{|
{|
Line 5,010: Line 5,010:
|-
|-
|Id
|Id
|[http://mantis.innovaphone.com/view.php?id=42216 42216]
|[http://mantis.innovaphone.com/view.php?id=42180 42180]
|}
|}
problem: Applies to v7hf6. With the innovaphone voice mail, previously stored messages can´t be listened to any more. Also, the recording based on voice mail does not work any more. <br/><br/>solution: Exclude '/' character from name conversion<br/><br/>files: vm_script_if.cpp<br/><br/>products: All with PBX<br/><br/>risks: <br/>
problem: the type of an outbound call is not known at the phone until the call is connected. usually the connect message from the PBX provides this info in the numbering plan of the connected party number. in calls to the voice mail connected party number is not provided and this was misinterpreted as external call.   <br/><br/>solution: assume internal call if connected party number is not provided<br/><br/>files: phonesig.cpp<br/><br/>products: all phones<br/><br/>risks: None<br/>
''Status:''
checked in to 8.00,7.00,08-70300
      
      
=== when transparent recording for external calls was configured, internal calls to voice mail were recorded too ===
=== v7hf7: Voicemail fails to prompt stored messages ===


{|
{|
Line 5,021: Line 5,023:
|-
|-
|Id
|Id
|[http://mantis.innovaphone.com/view.php?id=42180 42180]
|[http://mantis.innovaphone.com/view.php?id=42216 42216]
|}
|}
problem: the type of an outbound call is not known at the phone until the call is connected. usually the connect message from the PBX provides this info in the numbering plan of the connected party number. in calls to the voice mail connected party number is not provided and this was misinterpreted as external call.   <br/><br/>solution: assume internal call if connected party number is not provided<br/><br/>files: phonesig.cpp<br/><br/>products: all phones<br/><br/>risks: None<br/>
problem: Applies to v7hf6. With the innovaphone voice mail, previously stored messages can´t be listened to any more. Also, the recording based on voice mail does not work any more. <br/><br/>solution: Exclude '/' character from name conversion<br/><br/>files: vm_script_if.cpp<br/><br/>products: All with PBX<br/><br/>risks: <br/>
''Status:''
checked in to 8.00,7.00,08-70300
      
      
=== checkmark  "Phone/Preferences/Keep Calling Party Info on Pickup Key" cannot be cleared ===
=== checkmark  "Phone/Preferences/Keep Calling Party Info on Pickup Key" cannot be cleared ===
Line 5,051: Line 5,051:




   
=== v7hf7: ringing frequency 50Hz instead of 25Hz ===
{|
|Status
|<font><font color="green">Closed</font></font>
|-
|Id
|[http://mantis.innovaphone.com/view.php?id=42273 42273]
|}
problem: All analogue gateways unse 50Hz AC fpr ringing signaling. 50Hz is common with conservative FXS designs using relays and AC derived from mains. Nevertheless the correct frequency is 25Hz.<br/><br/>solution: switch over to 25Hz ringing<br/><br/>files: si3210_drv.cpp, si3241_drv.cpp<br/><br/>products: ip22, ip24, ip25, ip302, ip28<br/><br/>risk:
   
=== cf card recognized, but partion table ignored ===
{|
|Status
|<font><font color="green">Closed</font></font>
|-
|Id
|[http://mantis.innovaphone.com/view.php?id=43386 43386]
|}
problem: boot sector of a cf card was recognized, but partion table ignored.<br/><br/>solution: firstly check partion table existance and try to validate it<br/><br/>files: fat32.cpp<br/><br/>products: all products with cf card<br/><br/>risks: small chance of unusual boot sectors, which could cause a false cf card recognition
      
      
=== PBX-SOAP: Number update missing for overlap dialing ===
=== PBX-SOAP: Number update missing for overlap dialing ===
Line 5,129: Line 5,107:
problem: External calls to PBX objects with 'Reject external calls' were rejected with cause 'Call Rejected' which reveals that the number exists, which may be more then wanted. On the other hand with 'Unassigned Number', the invalid number destination can be used in the trunk object.<br/><br/>solution: Use 'Unassigned Number'<br/><br/>files: pbx.cpp<br/><br/>products: All with PBX<br/><br/>risks: Could be that somebody needs 'Call Rejected' for some reason
problem: External calls to PBX objects with 'Reject external calls' were rejected with cause 'Call Rejected' which reveals that the number exists, which may be more then wanted. On the other hand with 'Unassigned Number', the invalid number destination can be used in the trunk object.<br/><br/>solution: Use 'Unassigned Number'<br/><br/>files: pbx.cpp<br/><br/>products: All with PBX<br/><br/>risks: Could be that somebody needs 'Call Rejected' for some reason
      
      
=== Group Indications should show changed remote number ===
=== v7hf7: ringing frequency 50Hz instead of 25Hz ===


{|
{|
Line 5,136: Line 5,114:
|-
|-
|Id
|Id
|[http://mantis.innovaphone.com/view.php?id=42420 42420]
|[http://mantis.innovaphone.com/view.php?id=42273 42273]
|}
|}
problem: New Feature needed: Partner key should not only show the connected number but should also update this number if remote number changes, because of transfer.<br/><br/>solution: Group Indications for the update sent<br/><br/>files: pbx_api.h, pbx.cpp, pbx_gi.cpp, pbx_gi.h, pbx_xml.cpp, pbx_xml.h<br/><br/>products: all with PBX<br/><br/>risks: Risk of collateral damage in the area of Group Indications and SOAP
problem: All analogue gateways unse 50Hz AC fpr ringing signaling. 50Hz is common with conservative FXS designs using relays and AC derived from mains. Nevertheless the correct frequency is 25Hz.<br/><br/>solution: switch over to 25Hz ringing<br/><br/>files: si3210_drv.cpp, si3241_drv.cpp<br/><br/>products: ip22, ip24, ip25, ip302, ip28<br/><br/>risk:
      
      
=== SOAP UserInfo: User was sometimes displayed as busy, even if free (Collateral damage from #40268) ===
=== IP-DECT OEM trap with locations reference ===


{|
{|
Line 5,147: Line 5,125:
|-
|-
|Id
|Id
|[http://mantis.innovaphone.com/view.php?id=42789 42789]
|[http://mantis.innovaphone.com/view.php?id=42280 42280]
|}
|}
problem: SOAP Applications (e.g. innovaphone switchboard) displayed users as busy even after all calls cleared<br/><br/>solution: Send missing status update again<br/><br/>files: pbx.cpp<br/><br/>products: all with PBX<br/><br/>risks: Very low risk of collateral damage
Problem: Trap with usage of OEM locations.<br/><br/>Solution: Function changed.<br/><br/>Files: dectmaster_if.h, dectusers.cpp.<br/><br/>Products affected: All OEM DECT devices.<br/><br/>Risk: No risk of collateral damage. OEM devices only.
      
      
=== H.323 media reneg. from SRTP-EFC to non-EFC does not work ===
=== Take 200 response w/o Contact header for REGISTER as reject ===


{|
{|
Line 5,158: Line 5,136:
|-
|-
|Id
|Id
|[http://mantis.innovaphone.com/view.php?id=42856 42856]
|[http://mantis.innovaphone.com/view.php?id=42414 42414]
|}
|}
problem: An EFC-SRTP endpoint calls an object with two registrations, first another SRTP-EFC endpoint and second a non-EFC endpoint. With the first endpoint SRTP is negotiated during alert. When the second endpoint answers the call non-SRTP is negotiated, but the calling endpoint still sends SRTP -> no media<br/><br/>solution: Turn off SRTP if renegotiation to non-SRTP happens<br/><br/>files: h323ch.cpp<br/><br/>products: all<br/><br/>risks: None
problem: Some SIP server reject a failed authorization with "200 Auth Failed" w/o Contact header. This was interpreted as successful registration.<br/><br/>solution: Take it as 'rejected'.<br/><br/>files: sip.cpp<br/><br/>products: All with SIP<br/><br/>risks: No risk.
      
      
=== Redirection from alternate PBX (standby) should not be used to determine physical location ===
=== Group Indications should show changed remote number ===


{|
{|
Line 5,169: Line 5,147:
|-
|-
|Id
|Id
|[http://mantis.innovaphone.com/view.php?id=42916 42916]
|[http://mantis.innovaphone.com/view.php?id=42420 42420]
|}
|}
problem: If primary PBX is not available and Registration is redirected from alternate, this should not be used as physical location<br/><br/>solution: Do not use alternate reditrection as physical location<br/><br/>files: h323sig.cpp<br/><br/>products: All<br/><br/>risks: Low risk of collateral damage
problem: New Feature needed: Partner key should not only show the connected number but should also update this number if remote number changes, because of transfer.<br/><br/>solution: Group Indications for the update sent<br/><br/>files: pbx_api.h, pbx.cpp, pbx_gi.cpp, pbx_gi.h, pbx_xml.cpp, pbx_xml.h<br/><br/>products: all with PBX<br/><br/>risks: Risk of collateral damage in the area of Group Indications and SOAP
      
      
=== PBX obtaining licenses from master, wrong counting ===
=== IP72: alarms originating from IP72 carry wrong &amp;amp; uninitialized netbios address IP72-00-00-00 ===


{|
{|
Line 5,180: Line 5,158:
|-
|-
|Id
|Id
|[http://mantis.innovaphone.com/view.php?id=43093 43093]
|[http://mantis.innovaphone.com/view.php?id=42483 42483]
|}
|}
problem: If a PBX object was changed, which was used by a slave which obtained licenses from the master, the usage of this slave was added again to the total usage<br/><br/>solution: Do correct cleanup when changing the configuration of a PBX object<br/><br/>files: pbx.cpp, inno_lic.cpp<br/><br/>products: all with PBX<br/><br/>risks: very low risk of collateral damage
problem: alarms originating from IP72 carry wrong &amp; uninitialized netbios address IP72-00-00-00<br/><br/>solution: fixed module start order (init_parameters before mac used)<br/><br/>files: config/platform.h<br/><br/>products: IP72<br/><br/>risks: none<br/><br/><br/>
      
      
=== PBX use cause "outgoing calls barred" for calls rejected because of a filter ===
=== In the Terminal Capability Set coder g711A shall preceede g711u ===


{|
{|
Line 5,191: Line 5,169:
|-
|-
|Id
|Id
|[http://mantis.innovaphone.com/view.php?id=43095 43095]
|[http://mantis.innovaphone.com/view.php?id=42503 42503]
|}
|}
problem: The cause "no route to destination" was used for calls rejected because of filters. This did not express very well what was going on.<br/><br/>solution: Use "outgoing calls barred" instead<br/><br/>files: pbx.cpp<br/><br/>products: all with pbx<br/><br/>risks: None
problem: If a device providing only g711A and g711u (in that sequence) in its TCS connects to our devices the negotiated coder may be either A-law or u-law. In Europe A-law always should be the preferred coder <br/><br/>solution: reorder the coder tables returned by DSP drivers on a get_caps() request.<br/><br/>files: ac_dsp.cpp, ac_dsp2.cpp, ac_dsp3.cpp, omap_dsp.cpp, inca_dsp.cpp <br/><br/>products: all<br/><br/>risks: Minimal<br/>
''Status:''
checked in to 8.00,7.00,08-70300
      
      
=== IP3000 Wizard removes /nt config for PRI2 ===
=== Pending Recalls are included only in combined call list but not in inbound call list ===


{|
{|
Line 5,202: Line 5,182:
|-
|-
|Id
|Id
|[http://mantis.innovaphone.com/view.php?id=43292 43292]
|[http://mantis.innovaphone.com/view.php?id=42571 42571]
|}
|}
problem: On the IP3000 PRI2 interface is preconfigured for NT. By excuting the wizard this configuration is lost<br/><br/>solution: Conserve /nt config on PRI2-L1<br/><br/>files: ip3000/config_wizard.txt<br/><br/>products: IP3000<br/><br/>risks: None
problem: the source of pending recalls indicated on the idle screen could not be determined by simply pressing the R-key and checking the inbound call list. <br/><br/>solution: fix the list item selection mask in R-key handler and call lists menu<br/><br/>files: app_ctl.cpp, phone_list_ui.cpp  <br/><br/>products: all phones<br/><br/>risks: None<br/>
''Status:''
checked in to 8.00,7.00, 08-70300
      
      
=== src-url not forwarded in pbx and gateway ===
=== Pickup key disappears when a "Short Name (H323ID)" longer than a display line should be displayed ===


{|
{|
Line 5,213: Line 5,195:
|-
|-
|Id
|Id
|[http://mantis.innovaphone.com/view.php?id=43355 43355]
|[http://mantis.innovaphone.com/view.php?id=42597 42597]
|}
|}
problem: A src-url received as part of the source address was not forwarded by the pbx or the gateway. This caused problems with billing.<br/><br/>solution: forward src-url<br/><br/>files: pbx.cpp, relay.cpp, relay.h<br/><br/>products: all<br/><br/>risks: Minimal
problem: if "Administration/Phone/Preferences/Display Name on Pickup/Partner Key" is checked, the configured "Short Name (H323ID)" is displayed instead of the Number. a name longer than than a display line was truncated to 0 and thus the key label was not displayed.<br/> <br/>solution: truncate names to size of display line.<br/><br/>files: app_disp.cpp<br/><br/>products: all phones<br/><br/>risks: None<br/>
''Status:''
checked in to 8.00,7.00,08-70300
      
      
=== GWn Interfaces could not be selected as source for automatic generated routes ===
=== IP-DECT New Radio BMC firmware version PCS05Ag ===


{|
{|
Line 5,224: Line 5,208:
|-
|-
|Id
|Id
|[http://mantis.innovaphone.com/view.php?id=43428 43428]
|[http://mantis.innovaphone.com/view.php?id=42626 42626]
|}
|}
problem: For physical interfaces which are registered, routes are generated automatically. These routes can be modified, e.g. additional source interfaces can be configured. GWx interfaces were excluded from this<br/><br/>solution: Allow GWx interfaces as source as well<br/><br/>files: relay_edit_route.xsl<br/><br/>products: All with Gateway<br/><br/>risks: None
Problem: Newer Radio BMC firmware.<br/><br/>Solution: BMC firmware update.<br/><br/>Files: fp_1g8_ip_1200.bin.<br/><br/>Products affected: All OEM DECT devices.<br/><br/>Risk: Third party firmware.
      
      
=== ISDN interop problem with Cisco Router with unrestricted digital information calls ===
=== reverse name resolution via external LDAP server fails if the number attribute list is terminated by a comma ===


{|
{|
Line 5,235: Line 5,219:
|-
|-
|Id
|Id
|[http://mantis.innovaphone.com/view.php?id=43445 43445]
|[http://mantis.innovaphone.com/view.php?id=42640 42640]
|}
|}
problem: With ISDN calls from an interface in NT mode a Progress Indicator was sent indicating 'Originating Address is non-ISDN'. This caused a Cisco Router to reject UDI calls (after sending CALL-PROC and ALERT!?)<br/><br/>solution: Do not send this PI in case of UDI calls<br/><br/>files: q931.cpp<br/><br/>products: All with ISDN<br/><br/>risks: Minimal
problem: if "Configuration/Registration x/Directories/External LDAP Server/Number Attributes" is configured for example as "telephoneNumber:T,mobile:C,", the trailing comma results in a search pattern whithout an attribute name (=0049...) which confuses the server.<br/> <br/>solution: fix in code<br/><br/>files: phone_dir.cpp<br/><br/>products: all phones<br/><br/>risks: None<br/>checked in to 8.00,7.00,08-70300
''Status:''
checked in to 8.00,7.00,08-70300
      
      
=== Tunneled H.245 not handled while waiting for response to AdmissionRequest ===
=== memory leak after flash upload of invalid firmware files ===


{|
{|
Line 5,246: Line 5,232:
|-
|-
|Id
|Id
|[http://mantis.innovaphone.com/view.php?id=43509 43509]
|[http://mantis.innovaphone.com/view.php?id=42669 42669]
|}
|}
problem: If tunneled H.245 where received while the Admission was still pending, no media was negotiated, because these H.245 messages where ignored.<br/><br/>solition: Handle Tunneled H.245 in this state<br/><br/>files: h323_tbl.tbl<br/><br/>products: all<br/><br/>risks: minor risk of collateral damage
problem: flash upload of a firmware file < 1000 byte or a larger file with an invalid header left back the complete file in memory.<br/> <br/>solution: fix in code<br/><br/>files: flashman.cpp<br/><br/>products: all<br/><br/>risks: Small risc of collateral damage
''Status:''
checked in to 8.00,7.00,08-70300
      
      
=== Trailing slash not honored when processing unauthorized access list ===
=== IP-DECT display update after fast blind call transfer ===


{|
{|
Line 5,257: Line 5,245:
|-
|-
|Id
|Id
|[http://mantis.innovaphone.com/view.php?id=43342 43342]
|[http://mantis.innovaphone.com/view.php?id=42672 42672]
|}
|}
problem: A trailing slash at an entry in "Public compact flash access" was not honored. Entries with a trailing slash shall grant access to the complete sub-tree. Entries without a trailing slash shall not.<br/><br/>solution: Honor trailing slash when checking for unauthorized access.<br/><br/>files: http.cpp<br/><br/>products: All devices with CF card<br/><br/>risks: Damage of CF access.
Problem: Handset display is not updated after blind call transfer in early call state.<br/><br/>Solution: Event handling for early call state added.<br/><br/>Files: dectfty.h, dectfty.cpp, dectmaster.cpp.<br/><br/>Products affected: All DECT devices.<br/><br/>Risk: Low risk of collateral damage.
      
      
=== Failed t38 negotiation in SIP ===
=== Firmware upload fails in ip1201 and ip4001 if a second brower instance gets  the info screen. ===


{|
{|
Line 5,268: Line 5,256:
|-
|-
|Id
|Id
|[http://mantis.innovaphone.com/view.php?id=43056 43056]
|[http://mantis.innovaphone.com/view.php?id=42684 42684]
|}
|}
problem: Inbound SIP call. Switch-over to t38 from internal to external. After 200/OK with t38 answer from external, the call was terminated with Reason code 88 "Incompatible destination".<br/><br/>solution: Fix handling of CHANNEL_INIT.<br/><br/>files: sip.cpp<br/><br/>products: All with SIP<br/><br/>risks: Damage of other scenarios of media negotiation.
Problem: Flash access conflict, Firmware upload fails in ip1201 and ip4001 if a second brower instance reads the production_data (e.g. from the info screen).<br/><br/>Solution: use a copy of the production_data<br/><br/>Files: box.cpp.<br/><br/>Products affected: ip4001 ip1201.<br/><br/>Risk: Low risk of collateral damage.  
      
      
=== IP-DECT OEM trap with locations reference ===
=== SOAP UserInfo: User was sometimes displayed as busy, even if free (Collateral damage from #40268) ===


{|
{|
Line 5,279: Line 5,267:
|-
|-
|Id
|Id
|[http://mantis.innovaphone.com/view.php?id=42280 42280]
|[http://mantis.innovaphone.com/view.php?id=42789 42789]
|}
|}
Problem: Trap with usage of OEM locations.<br/><br/>Solution: Function changed.<br/><br/>Files: dectmaster_if.h, dectusers.cpp.<br/><br/>Products affected: All OEM DECT devices.<br/><br/>Risk: No risk of collateral damage. OEM devices only.
problem: SOAP Applications (e.g. innovaphone switchboard) displayed users as busy even after all calls cleared<br/><br/>solution: Send missing status update again<br/><br/>files: pbx.cpp<br/><br/>products: all with PBX<br/><br/>risks: Very low risk of collateral damage
      
      
=== IP-DECT New Radio BMC firmware version PCS05Ag ===
=== H.323 media reneg. from SRTP-EFC to non-EFC does not work ===


{|
{|
Line 5,290: Line 5,278:
|-
|-
|Id
|Id
|[http://mantis.innovaphone.com/view.php?id=42626 42626]
|[http://mantis.innovaphone.com/view.php?id=42856 42856]
|}
|}
Problem: Newer Radio BMC firmware.<br/><br/>Solution: BMC firmware update.<br/><br/>Files: fp_1g8_ip_1200.bin.<br/><br/>Products affected: All OEM DECT devices.<br/><br/>Risk: Third party firmware.
problem: An EFC-SRTP endpoint calls an object with two registrations, first another SRTP-EFC endpoint and second a non-EFC endpoint. With the first endpoint SRTP is negotiated during alert. When the second endpoint answers the call non-SRTP is negotiated, but the calling endpoint still sends SRTP -> no media<br/><br/>solution: Turn off SRTP if renegotiation to non-SRTP happens<br/><br/>files: h323ch.cpp<br/><br/>products: all<br/><br/>risks: None
      
      
=== IP-DECT display update after fast blind call transfer ===
=== SIP: From tag changes when re-trying REGISTER with authorization ===


{|
{|
Line 5,301: Line 5,289:
|-
|-
|Id
|Id
|[http://mantis.innovaphone.com/view.php?id=42672 42672]
|[http://mantis.innovaphone.com/view.php?id=42876 42876]
|}
|}
Problem: Handset display is not updated after blind call transfer in early call state.<br/><br/>Solution: Event handling for early call state added.<br/><br/>Files: dectfty.h, dectfty.cpp, dectmaster.cpp.<br/><br/>Products affected: All DECT devices.<br/><br/>Risk: Low risk of collateral damage.
problem: Authorization did not work on "sipXecs/4.0.0 sipXecs/registry (Linux)".<br/><br/>solution: Reuse From tag when resending REGISTER with authorization.<br/><br/>files: sip.cpp/h<br/><br/>products: All with SIP<br/><br/>risks: No risk.
      
      
=== IP-DECT OEM trunk facility messages ===
=== Redirection from alternate PBX (standby) should not be used to determine physical location ===


{|
{|
Line 5,312: Line 5,300:
|-
|-
|Id
|Id
|[http://mantis.innovaphone.com/view.php?id=42931 42931]
|[http://mantis.innovaphone.com/view.php?id=42916 42916]
|}
|}
Problem: Different TCP sessions are needed for different OEM message types.<br/><br/>Solution: Additional trunk signaling object added. Function calls changed.<br/><br/>Files: dtmffty.h, dtmffty.cpp, dectmaster_if.h, dectmaster.h, dectmaster.cpp, dectfty.h, dectfty,cpp.<br/><br/>Products affected: All OEM DECT devices.<br/><br/>Risk: Minimal risk of collateral damage. OEM devices only.
problem: If primary PBX is not available and Registration is redirected from alternate, this should not be used as physical location<br/><br/>solution: Do not use alternate reditrection as physical location<br/><br/>files: h323sig.cpp<br/><br/>products: All<br/><br/>risks: Low risk of collateral damage
      
      
=== IP-DECT option check called party number in Dectmaster ===
=== IP-DECT OEM trunk facility messages ===


{|
{|
Line 5,323: Line 5,311:
|-
|-
|Id
|Id
|[http://mantis.innovaphone.com/view.php?id=44074 44074]
|[http://mantis.innovaphone.com/view.php?id=42931 42931]
|}
|}
problem: For some system configurations it is necessary to reject calls if the called party number doesn't match with the number of the assigned user of the used PBX registration.<br/><br/>solution: New option to check the called party number for OEM devices.<br/><br/>files: dectmaster.h, dectmaster.cpp.<br/><br/>products affected: All OEM DECT devices.<br/><br/>risk: No risk of collateral damage. OEM devices only.  
Problem: Different TCP sessions are needed for different OEM message types.<br/><br/>Solution: Additional trunk signaling object added. Function calls changed.<br/><br/>Files: dtmffty.h, dtmffty.cpp, dectmaster_if.h, dectmaster.h, dectmaster.cpp, dectfty.h, dectfty,cpp.<br/><br/>Products affected: All OEM DECT devices.<br/><br/>Risk: Minimal risk of collateral damage. OEM devices only.  
      
      
=== Firmware upload fails in ip1201 and ip4001 if a second brower instance gets  the info screen. ===
=== Failed t38 negotiation in SIP ===


{|
{|
Line 5,334: Line 5,322:
|-
|-
|Id
|Id
|[http://mantis.innovaphone.com/view.php?id=42684 42684]
|[http://mantis.innovaphone.com/view.php?id=43056 43056]
|}
|}
Problem: Flash access conflict, Firmware upload fails in ip1201 and ip4001 if a second brower instance reads the production_data (e.g. from the info screen).<br/><br/>Solution: use a copy of the production_data<br/><br/>Files: box.cpp.<br/><br/>Products affected: ip4001 ip1201.<br/><br/>Risk: Low risk of collateral damage.  
problem: Inbound SIP call. Switch-over to t38 from internal to external. After 200/OK with t38 answer from external, the call was terminated with Reason code 88 "Incompatible destination".<br/><br/>solution: Fix handling of CHANNEL_INIT.<br/><br/>files: sip.cpp<br/><br/>products: All with SIP<br/><br/>risks: Damage of other scenarios of media negotiation.
      
      
=== IP72: alarms originating from IP72 carry wrong &amp;amp; uninitialized netbios address IP72-00-00-00 ===
=== PBX obtaining licenses from master, wrong counting ===


{|
{|
Line 5,345: Line 5,333:
|-
|-
|Id
|Id
|[http://mantis.innovaphone.com/view.php?id=42483 42483]
|[http://mantis.innovaphone.com/view.php?id=43093 43093]
|}
|}
problem: alarms originating from IP72 carry wrong &amp; uninitialized netbios address IP72-00-00-00<br/><br/>solution: fixed module start order (init_parameters before mac used)<br/><br/>files: config/platform.h<br/><br/>products: IP72<br/><br/>risks: none<br/><br/><br/>
problem: If a PBX object was changed, which was used by a slave which obtained licenses from the master, the usage of this slave was added again to the total usage<br/><br/>solution: Do correct cleanup when changing the configuration of a PBX object<br/><br/>files: pbx.cpp, inno_lic.cpp<br/><br/>products: all with PBX<br/><br/>risks: very low risk of collateral damage
      
      
=== SIP: From tag changes when re-trying REGISTER with authorization ===
=== PBX use cause "outgoing calls barred" for calls rejected because of a filter ===


{|
{|
Line 5,356: Line 5,344:
|-
|-
|Id
|Id
|[http://mantis.innovaphone.com/view.php?id=42876 42876]
|[http://mantis.innovaphone.com/view.php?id=43095 43095]
|}
|}
problem: Authorization did not work on "sipXecs/4.0.0 sipXecs/registry (Linux)".<br/><br/>solution: Reuse From tag when resending REGISTER with authorization.<br/><br/>files: sip.cpp/h<br/><br/>products: All with SIP<br/><br/>risks: No risk.
problem: The cause "no route to destination" was used for calls rejected because of filters. This did not express very well what was going on.<br/><br/>solution: Use "outgoing calls barred" instead<br/><br/>files: pbx.cpp<br/><br/>products: all with pbx<br/><br/>risks: None
      
      
=== tftp access with httpclient fails on some tftp servers if the file path starts with a / ===
=== Incoming INVITE is rejected with "603 Decline" ===


{|
{|
Line 5,367: Line 5,355:
|-
|-
|Id
|Id
|[http://mantis.innovaphone.com/view.php?id=43830 43830]
|[http://mantis.innovaphone.com/view.php?id=43121 43121]
|}
|}
Problem: tftp access with httpclient fails on some tftp servers if the file path starts with a /<br/><br/>Solution: remove starting /<br/><br/>Files: httpclient_i.cpp.<br/><br/>Products affected: all.<br/><br/>Risk: Low risk of collateral damage, starting / has no functio with tftp
problem: SIP stack rejects incoming INVITE with "603 Decline" without telling Gateway application (no LOGs).<br/><br/>solution: On interface selection ignore interfaces not listening.<br/><br/>files: siptrans.cpp<br/><br/>products: All with SIP interfaces without registration<br/><br/>risks: No risk.
      
      
=== In the Terminal Capability Set coder g711A shall preceede g711u ===
=== Toggling between active and held call with the R-R (or R-2) key sequence does not work sometimes ===


{|
{|
Line 5,378: Line 5,366:
|-
|-
|Id
|Id
|[http://mantis.innovaphone.com/view.php?id=42503 42503]
|[http://mantis.innovaphone.com/view.php?id=43124 43124]
|}
|}
problem: If a device providing only g711A and g711u (in that sequence) in its TCS connects to our devices the negotiated coder may be either A-law or u-law. In Europe A-law always should be the preferred coder <br/><br/>solution: reorder the coder tables returned by DSP drivers on a get_caps() request.<br/><br/>files: ac_dsp.cpp, ac_dsp2.cpp, ac_dsp3.cpp, omap_dsp.cpp, inca_dsp.cpp <br/><br/>products: all<br/><br/>risks: Minimal<br/>
problem: if a phone receives message waiting indications for call completion requests pending for this phone and a call completion is cancelled, the phone thereafter may misinterpret the role of active and held call and thus for example the R-R key sequence toggling between those calls is ignored.<br/><br/>solution: fix in code<br/><br/>files: app_reg.cpp, app_call.cpp<br/><br/>products: all phones<br/><br/>risks: None
''Status:''
''Status:''
checked in to 8.00,7.00,08-70300
checked in to 8.00,7.00,08-70300
      
      
=== memory leak after flash upload of invalid firmware files ===
=== Problem configuring public compact flash access ===


{|
{|
Line 5,391: Line 5,379:
|-
|-
|Id
|Id
|[http://mantis.innovaphone.com/view.php?id=42669 42669]
|[http://mantis.innovaphone.com/view.php?id=43274 43274]
|}
|}
problem: flash upload of a firmware file < 1000 byte or a larger file with an invalid header left back the complete file in memory.<br/> <br/>solution: fix in code<br/><br/>files: flashman.cpp<br/><br/>products: all<br/><br/>risks: Small risc of collateral damage
problem: Lots of entries or long paths are truncated.<br/><br/>solution: More buffer space.<br/><br/>files: http.cpp<br/><br/>products: All devices with CF card.<br/><br/>risks: No risk.
''Status:''
checked in to 8.00,7.00,08-70300
      
      
=== Pending Recalls are included only in combined call list but not in inbound call list ===
=== IP3000 Wizard removes /nt config for PRI2 ===


{|
{|
Line 5,404: Line 5,390:
|-
|-
|Id
|Id
|[http://mantis.innovaphone.com/view.php?id=42571 42571]
|[http://mantis.innovaphone.com/view.php?id=43292 43292]
|}
|}
problem: the source of pending recalls indicated on the idle screen could not be determined by simply pressing the R-key and checking the inbound call list. <br/><br/>solution: fix the list item selection mask in R-key handler and call lists menu<br/><br/>files: app_ctl.cpp, phone_list_ui.cpp  <br/><br/>products: all phones<br/><br/>risks: None<br/>
problem: On the IP3000 PRI2 interface is preconfigured for NT. By excuting the wizard this configuration is lost<br/><br/>solution: Conserve /nt config on PRI2-L1<br/><br/>files: ip3000/config_wizard.txt<br/><br/>products: IP3000<br/><br/>risks: None
''Status:''
checked in to 8.00,7.00, 08-70300
      
      
=== Pickup key disappears when a "Short Name (H323ID)" longer than a display line should be displayed ===
=== A registered SIP IF gets CDPN from To-URI (not Request-URI) ===


{|
{|
Line 5,417: Line 5,401:
|-
|-
|Id
|Id
|[http://mantis.innovaphone.com/view.php?id=42597 42597]
|[http://mantis.innovaphone.com/view.php?id=43324 43324]
|}
|}
problem: if "Administration/Phone/Preferences/Display Name on Pickup/Partner Key" is checked, the configured "Short Name (H323ID)" is displayed instead of the Number. a name longer than than a display line was truncated to 0 and thus the key label was not displayed.<br/> <br/>solution: truncate names to size of display line.<br/><br/>files: app_disp.cpp<br/><br/>products: all phones<br/><br/>risks: None<br/>
problem: A registered SIP interface gets CDPN from To-URI. Not from Request-URI since Request-URI is always the called UA's Contact-URI used in REGISTER. (But not at provider "voip.planetel.biz")<br/><br/>solution: Config file option "/get-cdpn-from-request-uri".<br/><br/>files: sip.cpp/h<br/><br/>products: All with SIP<br/><br/>risks: No risk.
''Status:''
checked in to 8.00,7.00,08-70300
      
      
=== reverse name resolution via external LDAP server fails if the number attribute list is terminated by a comma ===
=== Trailing slash not honored when processing unauthorized access list ===


{|
{|
Line 5,430: Line 5,412:
|-
|-
|Id
|Id
|[http://mantis.innovaphone.com/view.php?id=42640 42640]
|[http://mantis.innovaphone.com/view.php?id=43342 43342]
|}
|}
problem: if "Configuration/Registration x/Directories/External LDAP Server/Number Attributes" is configured for example as "telephoneNumber:T,mobile:C,", the trailing comma results in a search pattern whithout an attribute name (=0049...) which confuses the server.<br/> <br/>solution: fix in code<br/><br/>files: phone_dir.cpp<br/><br/>products: all phones<br/><br/>risks: None<br/>checked in to 8.00,7.00,08-70300
problem: A trailing slash at an entry in "Public compact flash access" was not honored. Entries with a trailing slash shall grant access to the complete sub-tree. Entries without a trailing slash shall not.<br/><br/>solution: Honor trailing slash when checking for unauthorized access.<br/><br/>files: http.cpp<br/><br/>products: All devices with CF card<br/><br/>risks: Damage of CF access.
''Status:''
checked in to 8.00,7.00,08-70300
      
      
=== Toggling between active and held call with the R-R (or R-2) key sequence does not work sometimes ===
=== src-url not forwarded in pbx and gateway ===


{|
{|
Line 5,443: Line 5,423:
|-
|-
|Id
|Id
|[http://mantis.innovaphone.com/view.php?id=43124 43124]
|[http://mantis.innovaphone.com/view.php?id=43355 43355]
|}
|}
problem: if a phone receives message waiting indications for call completion requests pending for this phone and a call completion is cancelled, the phone thereafter may misinterpret the role of active and held call and thus for example the R-R key sequence toggling between those calls is ignored.<br/><br/>solution: fix in code<br/><br/>files: app_reg.cpp, app_call.cpp<br/><br/>products: all phones<br/><br/>risks: None
problem: A src-url received as part of the source address was not forwarded by the pbx or the gateway. This caused problems with billing.<br/><br/>solution: forward src-url<br/><br/>files: pbx.cpp, relay.cpp, relay.h<br/><br/>products: all<br/><br/>risks: Minimal
''Status:''
checked in to 8.00,7.00,08-70300
      
      
=== SOAP UserConnect to a phone with a held and an alerting call does not retrieve the held call but opens the call completion menu ===
=== cf card recognized, but partion table ignored ===


{|
{|
Line 5,456: Line 5,434:
|-
|-
|Id
|Id
|[http://mantis.innovaphone.com/view.php?id=43797 43797]
|[http://mantis.innovaphone.com/view.php?id=43386 43386]
|}
|}
problem: <br/>- A calls B, B answers the call<br/>- A presses the R-key and calls C, C does not answer.<br/>- a UserConnect directed to the held call (A to B) disconnects the alerting call (A to C) but instead to retrieve the held call the call completion menu is openend.<br/><br/>solution: fix in code<br/><br/>files: app_ctl.cpp<br/><br/>products: all phones<br/><br/>risks: None<br/>
problem: boot sector of a cf card was recognized, but partion table ignored.<br/><br/>solution: firstly check partion table existance and try to validate it<br/><br/>files: fat32.cpp<br/><br/>products: all products with cf card<br/><br/>risks: small chance of unusual boot sectors, which could cause a false cf card recognition
''Status:''
checked in to 8.00,7.00,08-70300,08-60900 <br/>
      
      
=== "phys" attribute ignored for partial replication to slave ===
=== GWn Interfaces could not be selected as source for automatic generated routes ===


{|
{|
Line 5,469: Line 5,445:
|-
|-
|Id
|Id
|[http://mantis.innovaphone.com/view.php?id=43623 43623]
|[http://mantis.innovaphone.com/view.php?id=43428 43428]
|}
|}
problem: LDAP objects with attribute "phys" and content "[pbx]", where "[pbx]" equals Configuration/LDAP/Replicator/PBX-Name, weren't replicated to the slave.<br/><br/>solution: Internally derived LDAP filter now contains a term for the "phys" attribute.<br/><br/>files: ldaprep.cpp<br/><br/>products: all PBX products<br/><br/>risks: none
problem: For physical interfaces which are registered, routes are generated automatically. These routes can be modified, e.g. additional source interfaces can be configured. GWx interfaces were excluded from this<br/><br/>solution: Allow GWx interfaces as source as well<br/><br/>files: relay_edit_route.xsl<br/><br/>products: All with Gateway<br/><br/>risks: None
      
      
=== Permanent reboot after hardware reset with fixed IP address due to Watchdog Timer. ===
=== ISDN interop problem with Cisco Router with unrestricted digital information calls ===


{|
{|
|Status
|Status
|<font><font color="orange">To-decide</font></font>
|<font><font color="green">Closed</font></font>
|-
|-
|Id
|Id
|[http://mantis.innovaphone.com/view.php?id=43953 43953]
|[http://mantis.innovaphone.com/view.php?id=43445 43445]
|}
|}
Timer registers are null after a hardware reset and the Watchdog Timer runs out. The problem is that the interrupts are enabled just before the timers <br/>are set. Some interrupts arrive and to serve them takes longer than 2 seconds.<br/>When DHCP is used the PBX will be started later and not during this critical period and after a software reset the timer registers are not resetted and therefore the watchdog timer is triggered.<br/><br/>Solution: Init the Timer Registers before the Interrupts are enabled.<br/><br/>files: ip6000.cpp
problem: With ISDN calls from an interface in NT mode a Progress Indicator was sent indicating 'Originating Address is non-ISDN'. This caused a Cisco Router to reject UDI calls (after sending CALL-PROC and ALERT!?)<br/><br/>solution: Do not send this PI in case of UDI calls<br/><br/>files: q931.cpp<br/><br/>products: All with ISDN<br/><br/>risks: Minimal
      
      
=== Problem configuring public compact flash access ===
=== Tunneled H.245 not handled while waiting for response to AdmissionRequest ===


{|
{|
Line 5,491: Line 5,467:
|-
|-
|Id
|Id
|[http://mantis.innovaphone.com/view.php?id=43274 43274]
|[http://mantis.innovaphone.com/view.php?id=43509 43509]
|}
|}
problem: Lots of entries or long paths are truncated.<br/><br/>solution: More buffer space.<br/><br/>files: http.cpp<br/><br/>products: All devices with CF card.<br/><br/>risks: No risk.
problem: If tunneled H.245 where received while the Admission was still pending, no media was negotiated, because these H.245 messages where ignored.<br/><br/>solition: Handle Tunneled H.245 in this state<br/><br/>files: h323_tbl.tbl<br/><br/>products: all<br/><br/>risks: minor risk of collateral damage
      
      
=== Take 200 response w/o Contact header for REGISTER as reject ===
=== "phys" attribute ignored for partial replication to slave ===


{|
{|
Line 5,502: Line 5,478:
|-
|-
|Id
|Id
|[http://mantis.innovaphone.com/view.php?id=42414 42414]
|[http://mantis.innovaphone.com/view.php?id=43623 43623]
|}
|}
problem: Some SIP server reject a failed authorization with "200 Auth Failed" w/o Contact header. This was interpreted as successful registration.<br/><br/>solution: Take it as 'rejected'.<br/><br/>files: sip.cpp<br/><br/>products: All with SIP<br/><br/>risks: No risk.
problem: LDAP objects with attribute "phys" and content "[pbx]", where "[pbx]" equals Configuration/LDAP/Replicator/PBX-Name, weren't replicated to the slave.<br/><br/>solution: Internally derived LDAP filter now contains a term for the "phys" attribute.<br/><br/>files: ldaprep.cpp<br/><br/>products: all PBX products<br/><br/>risks: none
      
      
=== Incoming INVITE is rejected with "603 Decline" ===
=== SOAP UserConnect to a phone with a held and an alerting call does not retrieve the held call but opens the call completion menu ===


{|
{|
Line 5,513: Line 5,489:
|-
|-
|Id
|Id
|[http://mantis.innovaphone.com/view.php?id=43121 43121]
|[http://mantis.innovaphone.com/view.php?id=43797 43797]
|}
|}
problem: SIP stack rejects incoming INVITE with "603 Decline" without telling Gateway application (no LOGs).<br/><br/>solution: On interface selection ignore interfaces not listening.<br/><br/>files: siptrans.cpp<br/><br/>products: All with SIP interfaces without registration<br/><br/>risks: No risk.  
problem: <br/>- A calls B, B answers the call<br/>- A presses the R-key and calls C, C does not answer.<br/>- a UserConnect directed to the held call (A to B) disconnects the alerting call (A to C) but instead to retrieve the held call the call completion menu is openend.<br/><br/>solution: fix in code<br/><br/>files: app_ctl.cpp<br/><br/>products: all phones<br/><br/>risks: None<br/>
''Status:''
checked in to 8.00,7.00,08-70300,08-60900 <br/>
      
      
=== A registered SIP IF gets CDPN from To-URI (not Request-URI) ===
=== tftp access with httpclient fails on some tftp servers if the file path starts with a / ===


{|
{|
Line 5,524: Line 5,502:
|-
|-
|Id
|Id
|[http://mantis.innovaphone.com/view.php?id=43324 43324]
|[http://mantis.innovaphone.com/view.php?id=43830 43830]
|}
|}
problem: A registered SIP interface gets CDPN from To-URI. Not from Request-URI since Request-URI is always the called UA's Contact-URI used in REGISTER. (But not at provider "voip.planetel.biz")<br/><br/>solution: Config file option "/get-cdpn-from-request-uri".<br/><br/>files: sip.cpp/h<br/><br/>products: All with SIP<br/><br/>risks: No risk.
Problem: tftp access with httpclient fails on some tftp servers if the file path starts with a /<br/><br/>Solution: remove starting /<br/><br/>Files: httpclient_i.cpp.<br/><br/>Products affected: all.<br/><br/>Risk: Low risk of collateral damage, starting / has no functio with tftp
=== Other new Features ===
   
=== Permanent reboot after hardware reset with fixed IP address due to Watchdog Timer. ===
 
{|
|Status
|<font><font color="orange">To-decide</font></font>
|-
|Id
|[http://mantis.innovaphone.com/view.php?id=43953 43953]
|}
Timer registers are null after a hardware reset and the Watchdog Timer runs out. The problem is that the interrupts are enabled just before the timers <br/>are set. Some interrupts arrive and to serve them takes longer than 2 seconds.<br/>When DHCP is used the PBX will be started later and not during this critical period and after a software reset the timer registers are not resetted and therefore the watchdog timer is triggered.<br/><br/>Solution: Init the Timer Registers before the Interrupts are enabled.<br/><br/>files: ip6000.cpp
   
=== IP-DECT option check called party number in Dectmaster ===
 
{|
|Status
|<font><font color="green">Closed</font></font>
|-
|Id
|[http://mantis.innovaphone.com/view.php?id=44074 44074]
|}
problem: For some system configurations it is necessary to reject calls if the called party number doesn't match with the number of the assigned user of the used PBX registration.<br/><br/>solution: New option to check the called party number for OEM devices.<br/><br/>files: dectmaster.h, dectmaster.cpp.<br/><br/>products affected: All OEM DECT devices.<br/><br/>risk: No risk of collateral damage. OEM devices only.  
=== Other new Features ===


{|
{|
Line 5,549: Line 5,549:


      
      
=== IP-DECT OEM LDAP timing ===
=== SIP endpoint remains on hold after transfer (e.g. Bria) ===


{|
{|
Line 5,556: Line 5,556:
|-
|-
|Id
|Id
|[http://mantis.innovaphone.com/view.php?id=45863 45863]
|[http://mantis.innovaphone.com/view.php?id=45856 45856]
|}
|}
problem: Deleting of a duplicate endpoint takes too long if we wait for the LDAP response.<br/><br/>solution: System update before the LDAP response is added.<br/><br/>files: dectusers.cpp.<br/><br/>products affected: All DECT devices.<br/><br/>risk: Minimal risk of collateral damage.
problem: Under special timing conditions a SIP endpoint may remain on hold after transfer. Not switched from "sendonly" back to "sendrecv". Too fast hold/retrieve by PBX.<br/><br/>solution: Postpone retrieve event until SIP endpoint is ready to receive another re-INVITE.<br/><br/>files: sip.cpp<br/><br/>products: PBX serving SIP devices<br/><br/>risks: No risk
      
      
=== Problem with configuration of compact flash access ===
=== IP-DECT OEM LDAP timing ===


{|
{|
Line 5,567: Line 5,567:
|-
|-
|Id
|Id
|[http://mantis.innovaphone.com/view.php?id=45900 45900]
|[http://mantis.innovaphone.com/view.php?id=45863 45863]
|}
|}
problem: Non-recursive directory access (w/o trailing slash) does not work. Directory listing is possible. File access is not possible.<br/><br/>solution: Fix access check.<br/><br/>files: http.cpp<br/><br/>products: All devices with CF card<br/><br/>risks: No risk
problem: Deleting of a duplicate endpoint takes too long if we wait for the LDAP response.<br/><br/>solution: System update before the LDAP response is added.<br/><br/>files: dectusers.cpp.<br/><br/>products affected: All DECT devices.<br/><br/>risk: Minimal risk of collateral damage.
      
      
=== SIP endpoint remains on hold after transfer (e.g. Bria) ===
=== Disconnect of incoming SIP call fails if ACK was not received yet ===


{|
{|
Line 5,578: Line 5,578:
|-
|-
|Id
|Id
|[http://mantis.innovaphone.com/view.php?id=45856 45856]
|[http://mantis.innovaphone.com/view.php?id=45883 45883]
|}
|}
problem: Under special timing conditions a SIP endpoint may remain on hold after transfer. Not switched from "sendonly" back to "sendrecv". Too fast hold/retrieve by PBX.<br/><br/>solution: Postpone retrieve event until SIP endpoint is ready to receive another re-INVITE.<br/><br/>files: sip.cpp<br/><br/>products: PBX serving SIP devices<br/><br/>risks: No risk
problem: Disconnect of incoming SIP call fails if ACK was not received yet. No BYE was send.<br/><br/>solution: Send BYE even before ACK is received.<br/><br/>files: sip.cpp<br/><br/>products: SIP devices<br/><br/>risks: No risk
      
      
=== Disconnect of incoming SIP call fails if ACK was not received yet ===
=== Problem with configuration of compact flash access ===


{|
{|
Line 5,589: Line 5,589:
|-
|-
|Id
|Id
|[http://mantis.innovaphone.com/view.php?id=45883 45883]
|[http://mantis.innovaphone.com/view.php?id=45900 45900]
|}
|}
problem: Disconnect of incoming SIP call fails if ACK was not received yet. No BYE was send.<br/><br/>solution: Send BYE even before ACK is received.<br/><br/>files: sip.cpp<br/><br/>products: SIP devices<br/><br/>risks: No risk
problem: Non-recursive directory access (w/o trailing slash) does not work. Directory listing is possible. File access is not possible.<br/><br/>solution: Fix access check.<br/><br/>files: http.cpp<br/><br/>products: All devices with CF card<br/><br/>risks: No risk
      
      
== Bug Fixes ==
== Bug Fixes ==
Line 5,627: Line 5,627:
problem: The PBX detected CFU loops, even if a CFU was disabled by a boolean object.<br/><br/>solution: Take boolean into account when checking for loops<br/><br/>files: pbx.cpp<br/><br/>products: all with PBX<br/><br/>risks: Minimal
problem: The PBX detected CFU loops, even if a CFU was disabled by a boolean object.<br/><br/>solution: Take boolean into account when checking for loops<br/><br/>files: pbx.cpp<br/><br/>products: all with PBX<br/><br/>risks: Minimal
      
      
=== Configured ENUM Suffix got lost ===
=== IP-DECT registration down reasons ===


{|
{|
Line 5,634: Line 5,634:
|-
|-
|Id
|Id
|[http://mantis.innovaphone.com/view.php?id=46439 46439]
|[http://mantis.innovaphone.com/view.php?id=46189 46189]
|}
|}
problem: If for a ENUM GW a Suffix was configured (by use of !config change) it was deleted the next time the interface was edited<br/><br/>solution: Preserve suffix<br/><br/>files: gk.cpp, gk.h, relay_edit_voip.xsl<br/><br/>products: All gateway products<br/><br/>risks: Minimal
problem: It is not possible to distinguish the reason why the radio-master connection fails.<br/><br/>solution: Now the master submits a reason in the ras down message and it is shown on the DECT radio GUI.<br/><br/>files: h323ras.cpp, voip.cpp, asn1_per.cpp, dectusers_if.h, dectusers.cpp, dectmaster.cpp, dectradio.h, dectradio.cpp, dectradio.xsl, dectradio.xsl(OEM).<br/><br/>products affected: All DECT devices.<br/><br/>risk: Minimal risk of collateral damage.<br/>
      
      
=== H.323 Wrong Unexpected Message events ===
=== PBX Broadcast Conference and CFNR ===


{|
{|
Line 5,645: Line 5,645:
|-
|-
|Id
|Id
|[http://mantis.innovaphone.com/view.php?id=46450 46450]
|[http://mantis.innovaphone.com/view.php?id=46192 46192]
|}
|}
problem: The H.323 sometimes generates wrong Unexpecetd Message events.<br/><br/>solution: Disable Unexpected message events<br/><br/>files: h323sig.cpp<br/><br/>products: all<br/><br/>risks: None
problem: The no-response timer is not stopped if a PBX user is called by the broadcast conference object.<br/><br/>solution: Timer handling fixed.<br/><br/>files: pbx.h, pbx.cpp.<br/><br/>products affected: All devices with PBX.<br/><br/>risk: Minimal risk of collateral damage.
      
      
=== H.323: SRTP key was not forwarded to the caller in case of PBX to PBX calls with renegotiation ===
=== IP-DECT OEM Network region roaming ===


{|
{|
Line 5,656: Line 5,656:
|-
|-
|Id
|Id
|[http://mantis.innovaphone.com/view.php?id=46461 46461]
|[http://mantis.innovaphone.com/view.php?id=46268 46268]
|}
|}
problem: On SRTP PBX to PBX calls with the call connected to some other media endpoint first (e.g. dialtone), the key was not forwarded to the caller. This caused garbled audio<br/><br/>solution: Forward SRTP key<br/><br/>files: h323ch.cpp<br/><br/>products: all<br/><br/>risk: Small risk of other media problem with SRTP
problem: New feature roaming between network regions for OEM products.<br/><br/>solution: Functionality added.<br/><br/>files: dectusers_if.h, dectusers.h, dectusers.cpp, dectmaster.h, dectmaster.cpp.<br/><br/>products affected: All DECT devices.<br/><br/>risk: No risk of collateral damage. Only relevant for OEM products.
      
      
=== H.323 Call to Waiting Queue with CFNR to another Waiting Queue with SIP Operator result in no media ===
=== Force HTTPS with non-standard ports ===


{|
{|
Line 5,667: Line 5,667:
|-
|-
|Id
|Id
|[http://mantis.innovaphone.com/view.php?id=46484 46484]
|[http://mantis.innovaphone.com/view.php?id=46271 46271]
|}
|}
problem: The media renegotiation of the H.323 call to the announcement with the SIP reverse media call to the operator fails<br/><br/>solution: Fix media-reneg. in H.323<br/><br/>files: channel.h, h323ch.cpp<br/><br/>products: all<br/><br/>risks: Minimal risk with media neg.
Problem: The HTTP redirect URI that is used for the "force HTTPS"-Feature does not include the HTTPS port number. Therefore it doesn't work if the HTTP or HTTPS port have been changed.<br/><br/>Solution: Include port number in HTTP redirect if one of the ports has been changed by the user.<br/><br/>Files: http.cpp<br/><br/>Products affected: All devices<br/><br/>Risk: Minimal
      
      
=== Ringback missing with two-stage dialing thru PBX waiting to public network ===
=== IP72: not transmitting continous timestamps in RTP data ===


{|
{|
Line 5,678: Line 5,678:
|-
|-
|Id
|Id
|[http://mantis.innovaphone.com/view.php?id=46527 46527]
|[http://mantis.innovaphone.com/view.php?id=46281 46281]
|}
|}
problem: If thru waiting a destination is called which provides in-band ringback, this ringback was not connected to the caller, but a local ringback was not generated as well.<br/><br/>solution: Generate local ringback<br/><br/>files: pbx_wait.cpp<br/><br/>products: all with PBX<br/><br/>risks: Minimal. Fix can only affect exactly this case.
problem: not transmitting continous timestamps in RTP data. Approx. the 10th RTP packet resets the timestamp to -1.<br/> <br/>solution: fixed in DSP code.<br/><br/>files: box/omap/omap_dsp.cpp box/omap/omap_dsp.h<br/><br/>products: IP72<br/><br/>risks: none known<br/><br/><br/>
      
      
=== Media Recording generated small files even if no media was received ===
=== HTML directory listing contains bad links ===


{|
{|
Line 5,689: Line 5,689:
|-
|-
|Id
|Id
|[http://mantis.innovaphone.com/view.php?id=46532 46532]
|[http://mantis.innovaphone.com/view.php?id=46367 46367]
|}
|}
problem: On an analog interface with media recording a file was generated just by going off-hook on the phone<br/><br/>solution: Generate file only if media connection was established<br/><br/>files: media.cpp, media.h<br/><br/>products: all<br/><br/>risks: Minimal
problem: In an HTML directory listing a link to a file who's name contains # (hash) does not work.<br/><br/>solution: Character escaping on links in HTML directory listings.<br/><br/>files: servlet_webdav.cpp<br/><br/>products: All devices with CF card<br/><br/>risks: No risk
      
      
=== Force HTTPS with non-standard ports ===
=== Configured ENUM Suffix got lost ===


{|
{|
Line 5,700: Line 5,700:
|-
|-
|Id
|Id
|[http://mantis.innovaphone.com/view.php?id=46271 46271]
|[http://mantis.innovaphone.com/view.php?id=46439 46439]
|}
|}
Problem: The HTTP redirect URI that is used for the "force HTTPS"-Feature does not include the HTTPS port number. Therefore it doesn't work if the HTTP or HTTPS port have been changed.<br/><br/>Solution: Include port number in HTTP redirect if one of the ports has been changed by the user.<br/><br/>Files: http.cpp<br/><br/>Products affected: All devices<br/><br/>Risk: Minimal
problem: If for a ENUM GW a Suffix was configured (by use of !config change) it was deleted the next time the interface was edited<br/><br/>solution: Preserve suffix<br/><br/>files: gk.cpp, gk.h, relay_edit_voip.xsl<br/><br/>products: All gateway products<br/><br/>risks: Minimal
      
      
=== PBX Broadcast Conference and CFNR ===
=== Trap in SIP stack when processing REGISTER response ===


{|
{|
Line 5,711: Line 5,711:
|-
|-
|Id
|Id
|[http://mantis.innovaphone.com/view.php?id=46192 46192]
|[http://mantis.innovaphone.com/view.php?id=46448 46448]
|}
|}
problem: The no-response timer is not stopped if a PBX user is called by the broadcast conference object.<br/><br/>solution: Timer handling fixed.<br/><br/>files: pbx.h, pbx.cpp.<br/><br/>products affected: All devices with PBX.<br/><br/>risk: Minimal risk of collateral damage.
problem: A trap may occur when handling REGISTER response.<br/><br/>solution: Fix.<br/><br/>files: sip.cpp<br/><br/>products: All SIP devices<br/><br/>risks: No risk
      
      
=== IP-DECT registration down reasons ===
=== H.323 Wrong Unexpected Message events ===


{|
{|
Line 5,722: Line 5,722:
|-
|-
|Id
|Id
|[http://mantis.innovaphone.com/view.php?id=46189 46189]
|[http://mantis.innovaphone.com/view.php?id=46450 46450]
|}
|}
problem: It is not possible to distinguish the reason why the radio-master connection fails.<br/><br/>solution: Now the master submits a reason in the ras down message and it is shown on the DECT radio GUI.<br/><br/>files: h323ras.cpp, voip.cpp, asn1_per.cpp, dectusers_if.h, dectusers.cpp, dectmaster.cpp, dectradio.h, dectradio.cpp, dectradio.xsl, dectradio.xsl(OEM).<br/><br/>products affected: All DECT devices.<br/><br/>risk: Minimal risk of collateral damage.<br/>
problem: The H.323 sometimes generates wrong Unexpecetd Message events.<br/><br/>solution: Disable Unexpected message events<br/><br/>files: h323sig.cpp<br/><br/>products: all<br/><br/>risks: None
      
      
=== IP-DECT OEM Network region roaming ===
=== New flash memory on IP200A/IP230/IP240 ===


{|
{|
Line 5,733: Line 5,733:
|-
|-
|Id
|Id
|[http://mantis.innovaphone.com/view.php?id=46268 46268]
|[http://mantis.innovaphone.com/view.php?id=46452 46452]
|}
|}
problem: New feature roaming between network regions for OEM products.<br/><br/>solution: Functionality added.<br/><br/>files: dectusers_if.h, dectusers.h, dectusers.cpp, dectmaster.h, dectmaster.cpp.<br/><br/>products affected: All DECT devices.<br/><br/>risk: No risk of collateral damage. Only relevant for OEM products.
problem: Spansion S29AL032D50TFN00 Flash pin 12 is the ready output and not the write protect input, so P1.16 must no be a output <br/><br/>solution: Fix.<br/><br/>files: flash.c platform_inca.c<br/><br/>products: IP200A/IP230/IP240<br/>risks: Low risk  
      
      
=== IP-DECT OEM protocol DTMF through RTP ===
=== H.323: SRTP key was not forwarded to the caller in case of PBX to PBX calls with renegotiation ===


{|
{|
Line 5,744: Line 5,744:
|-
|-
|Id
|Id
|[http://mantis.innovaphone.com/view.php?id=46478 46478]
|[http://mantis.innovaphone.com/view.php?id=46461 46461]
|}
|}
problem: For OEM protocol option 'allow DTMF through RTP' should be always off.<br/><br/>solution: Configuration update function fixed.<br/><br/>files: dectmaster.cpp, dectmaster.xsl.<br/><br/>products affected: All DECT devices.<br/><br/>risk: No risk of collateral damage. Only relevant for the configuration of an OEM protocol.
problem: On SRTP PBX to PBX calls with the call connected to some other media endpoint first (e.g. dialtone), the key was not forwarded to the caller. This caused garbled audio<br/><br/>solution: Forward SRTP key<br/><br/>files: h323ch.cpp<br/><br/>products: all<br/><br/>risk: Small risk of other media problem with SRTP
      
      
=== IP-DECT OEM protocol new events ===
=== IP-DECT OEM protocol DTMF through RTP ===


{|
{|
Line 5,755: Line 5,755:
|-
|-
|Id
|Id
|[http://mantis.innovaphone.com/view.php?id=46601 46601]
|[http://mantis.innovaphone.com/view.php?id=46478 46478]
|}
|}
problem: New events are needed for OEM protocol.<br/><br/>solution: Events added.<br/><br/>files: fty.h, fty.cpp.<br/><br/>products affected: All devices.<br/><br/>risk: No risk of collateral damage. New events only for the OEM protocol.  
problem: For OEM protocol option 'allow DTMF through RTP' should be always off.<br/><br/>solution: Configuration update function fixed.<br/><br/>files: dectmaster.cpp, dectmaster.xsl.<br/><br/>products affected: All DECT devices.<br/><br/>risk: No risk of collateral damage. Only relevant for the configuration of an OEM protocol.
      
      
=== IP-DECT Sometimes user login fails ===
=== IP150 stays logically offhook after a call initiated via WEB interface has been released ===


{|
{|
Line 5,766: Line 5,766:
|-
|-
|Id
|Id
|[http://mantis.innovaphone.com/view.php?id=46624 46624]
|[http://mantis.innovaphone.com/view.php?id=46483 46483]
|}
|}
problem: Sometimes user login fails.<br/><br/>solution: CDPN buffer handling fixed.<br/><br/>files: dectusers.cpp.<br/><br/>products affected: All DECT devices.<br/><br/>risk: Minimal risk of collateral damage.
problem: calls created/accepted via WEB interface on an IP150 are started in handset mode because the IP150 has no speakerphone. The logical offhook state was not reset when such a call was released<br/><br/>solution: flag calls created/accepted via WEB interface and set logical onhook after release of such call<br/><br/>files: app_ctl.h, app_ctl.cpp, app_call.cpp<br/><br/>products: IP150<br/><br/>risks: None
      
      
=== IP72: not transmitting continous timestamps in RTP data ===
=== H.323 Call to Waiting Queue with CFNR to another Waiting Queue with SIP Operator result in no media ===


{|
{|
Line 5,777: Line 5,777:
|-
|-
|Id
|Id
|[http://mantis.innovaphone.com/view.php?id=46281 46281]
|[http://mantis.innovaphone.com/view.php?id=46484 46484]
|}
|}
problem: not transmitting continous timestamps in RTP data. Approx. the 10th RTP packet resets the timestamp to -1.<br/> <br/>solution: fixed in DSP code.<br/><br/>files: box/omap/omap_dsp.cpp box/omap/omap_dsp.h<br/><br/>products: IP72<br/><br/>risks: none known<br/><br/><br/>
problem: The media renegotiation of the H.323 call to the announcement with the SIP reverse media call to the operator fails<br/><br/>solution: Fix media-reneg. in H.323<br/><br/>files: channel.h, h323ch.cpp<br/><br/>products: all<br/><br/>risks: Minimal risk with media neg.
      
      
=== Counters display does not work with IE8 ===
=== Counters display does not work with IE8 ===
Line 5,792: Line 5,792:
problem: IE8 don't like img element without src attribute.<br/><br/>solution: replace <img> by <div><br/><br/>files: log_count.xsl<br/><br/>products: All devices<br/><br/>risks: No risk
problem: IE8 don't like img element without src attribute.<br/><br/>solution: replace <img> by <div><br/><br/>files: log_count.xsl<br/><br/>products: All devices<br/><br/>risks: No risk
      
      
=== HTML directory listing contains bad links ===
=== phone may trap on late LDAP directory search result ===


{|
{|
Line 5,799: Line 5,799:
|-
|-
|Id
|Id
|[http://mantis.innovaphone.com/view.php?id=46367 46367]
|[http://mantis.innovaphone.com/view.php?id=46511 46511]
|}
|}
problem: In an HTML directory listing a link to a file who's name contains # (hash) does not work.<br/><br/>solution: Character escaping on links in HTML directory listings.<br/><br/>files: servlet_webdav.cpp<br/><br/>products: All devices with CF card<br/><br/>risks: No risk
problem: a search result arriving after the call object has been deleted may cause a trap (collateral damage of #45166)<br/><br/>solution: check for presence of call object<br/> <br/>files: app_call.cpp<br/><br/>products: all phones<br/><br/>risks: None<br/>
''Status:''
Additional Information \tchecked in to 8.00,7.00,08-70300
      
      
=== New flash memory on IP200A/IP230/IP240 ===
=== Ringback missing with two-stage dialing thru PBX waiting to public network ===


{|
{|
Line 5,810: Line 5,812:
|-
|-
|Id
|Id
|[http://mantis.innovaphone.com/view.php?id=46452 46452]
|[http://mantis.innovaphone.com/view.php?id=46527 46527]
|}
|}
problem: Spansion S29AL032D50TFN00 Flash pin 12 is the ready output and not the write protect input, so P1.16 must no be a output <br/><br/>solution: Fix.<br/><br/>files: flash.c platform_inca.c<br/><br/>products: IP200A/IP230/IP240<br/>risks: Low risk
problem: If thru waiting a destination is called which provides in-band ringback, this ringback was not connected to the caller, but a local ringback was not generated as well.<br/><br/>solution: Generate local ringback<br/><br/>files: pbx_wait.cpp<br/><br/>products: all with PBX<br/><br/>risks: Minimal. Fix can only affect exactly this case.
      
      
=== IP150 stays logically offhook after a call initiated via WEB interface has been released ===
=== Media Recording generated small files even if no media was received ===


{|
{|
Line 5,821: Line 5,823:
|-
|-
|Id
|Id
|[http://mantis.innovaphone.com/view.php?id=46483 46483]
|[http://mantis.innovaphone.com/view.php?id=46532 46532]
|}
|}
problem: calls created/accepted via WEB interface on an IP150 are started in handset mode because the IP150 has no speakerphone. The logical offhook state was not reset when such a call was released<br/><br/>solution: flag calls created/accepted via WEB interface and set logical onhook after release of such call<br/><br/>files: app_ctl.h, app_ctl.cpp, app_call.cpp<br/><br/>products: IP150<br/><br/>risks: None
problem: On an analog interface with media recording a file was generated just by going off-hook on the phone<br/><br/>solution: Generate file only if media connection was established<br/><br/>files: media.cpp, media.h<br/><br/>products: all<br/><br/>risks: Minimal
   
=== phone may trap on late LDAP directory search result ===
 
{|
|Status
|<font><font color="green">Closed</font></font>
|-
|Id
|[http://mantis.innovaphone.com/view.php?id=46511 46511]
|}
problem: a search result arriving after the call object has been deleted may cause a trap (collateral damage of #45166)<br/><br/>solution: check for presence of call object<br/> <br/>files: app_call.cpp<br/><br/>products: all phones<br/><br/>risks: None<br/>
''Status:''
Additional Information \tchecked in to 8.00,7.00,08-70300
      
      
=== inband info received after disconnect of a connected call was lost in handsfree/headset mode because of automatic release ===
=== inband info received after disconnect of a connected call was lost in handsfree/headset mode because of automatic release ===
Line 5,864: Line 5,853:
checked in to 8.00,7.00,08-70300
checked in to 8.00,7.00,08-70300
      
      
=== Trap in SIP stack when processing REGISTER response ===
=== IP-DECT OEM protocol new events ===
 
{|
|Status
|<font><font color="green">Closed</font></font>
|-
|Id
|[http://mantis.innovaphone.com/view.php?id=46601 46601]
|}
problem: New events are needed for OEM protocol.<br/><br/>solution: Events added.<br/><br/>files: fty.h, fty.cpp.<br/><br/>products affected: All devices.<br/><br/>risk: No risk of collateral damage. New events only for the OEM protocol.
   
=== IP-DECT Sometimes user login fails ===


{|
{|
Line 5,871: Line 5,871:
|-
|-
|Id
|Id
|[http://mantis.innovaphone.com/view.php?id=46448 46448]
|[http://mantis.innovaphone.com/view.php?id=46624 46624]
|}
|}
problem: A trap may occur when handling REGISTER response.<br/><br/>solution: Fix.<br/><br/>files: sip.cpp<br/><br/>products: All SIP devices<br/><br/>risks: No risk
problem: Sometimes user login fails.<br/><br/>solution: CDPN buffer handling fixed.<br/><br/>files: dectusers.cpp.<br/><br/>products affected: All DECT devices.<br/><br/>risk: Minimal risk of collateral damage.
      
      
=== Unsolicity NOTIFY(simple-message-summary) rejected with 481 ===
=== Unsolicity NOTIFY(simple-message-summary) rejected with 481 ===
Line 5,898: Line 5,898:


      
      
=== Trap when adding a group to a pbx dtmf child object ===
=== phone must propagate error logs from call object to logging service ===


{|
{|
Line 5,905: Line 5,905:
|-
|-
|Id
|Id
|[http://mantis.innovaphone.com/view.php?id=47104 47104]
|[http://mantis.innovaphone.com/view.php?id=46570 46570]
|}
|}
problem: the box traps, when a group is added to a pbx dtmf child object, which shouldn't be configurable.<br/><br/>solution: remove configuration possibility of child objects.<br/><br/>files: pbx_obj_rights.xsl<br/><br/>products affected: All pbx devices.<br/><br/>risk: none
problem: error logs from call object sent to the phone registration object are not propagated to the logging service. <br/><br/>solution: fix in code<br/> <br/>files: phonesig.cpp<br/><br/>products: all phones<br/><br/>risks: None
''Status:''
checked in to 8.00,7.00,08-70300
      
      
=== Trap on dialing directory search object with http and full number including # to connect ===
=== If a call-completion was initiated the callback number was wrong in some cases ===


{|
{|
Line 5,916: Line 5,918:
|-
|-
|Id
|Id
|[http://mantis.innovaphone.com/view.php?id=47403 47403]
|[http://mantis.innovaphone.com/view.php?id=46662 46662]
|}
|}
problem: class directory_search_call_http deleted twice<br/><br/>solution: prevent double deletion<br/><br/>files: pbx_dirsearch.cpp<br/><br/>products affected: all PBX devices<br/><br/>risk: No risk of collateral damage, as the fix is just valid for directory search calls with a http server
problem: The number sent with MWI to the called phone indicating a callback request, was not correctly adjusted taking nodes and escapes into account<br/><br/>solution: Adjust number<br/><br/>files: pbx.cpp<br/><br/>products: all with PBX<br/><br/>risks: None
      
      
=== Wrong DTMF when dialing DTMF feature codes from analog devices ===
=== IP-DECT OEM Standby master capabilities ===


{|
{|
Line 5,927: Line 5,929:
|-
|-
|Id
|Id
|[http://mantis.innovaphone.com/view.php?id=47516 47516]
|[http://mantis.innovaphone.com/view.php?id=46678 46678]
|}
|}
problem: on channel connect, a DTMF can be send twice<br/><br/>solution: do not connect for feature codes, when not needed<br/><br/>files: pbx_dtmf.h, pbx_dtmf.cpp<br/><br/>products affected: all PBX devices<br/><br/>risk: No risk of collateral damage, as the fix is just valid for dtmf feature codes
problem: It should not be possible for OEM devices to delete anonymous endpoints or to edit users if the standby master is active and used.<br/><br/>solution: Control functions and OEM GUI changed. Display message types added.<br/><br/>files: dectusers.cpp, dectmaster.cpp, dectradio.h, dectradio.cpp, dectdisplay_if.h, dectdisplay.h (OEM), dectdisplay.cpp (OEM), dect_users_left.xsl (OEM), dect_users_right.xsl (OEM).<br/><br/>products affected: All DECT devices.<br/><br/>risk: Minimal risk of collateral damage.
      
      
=== incorrect pointer assignment in submit_config of dtmf/icp object and false configuration possibility ===
=== Recall to user not in root node did not work ===


{|
{|
Line 5,938: Line 5,940:
|-
|-
|Id
|Id
|[http://mantis.innovaphone.com/view.php?id=47715 47715]
|[http://mantis.innovaphone.com/view.php?id=46690 46690]
|}
|}
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: A recall after transfer to a user not in root node did not work, if call from another Node. If call from same node, number display was wrong<br/><br/>solution: Take node into account when root recall<br/><br/>files: pbx.cpp<br/><br/>products: all with PBX<br/><br/>risk: Risk of collateral damage limited to recall
      
      
=== If a call-completion was initiated the callback number was wrong in some cases ===
=== update 'scfg' command may hang if target url is invalid (non existent host or host rejects connect) ===


{|
{|
Line 5,949: Line 5,951:
|-
|-
|Id
|Id
|[http://mantis.innovaphone.com/view.php?id=46662 46662]
|[http://mantis.innovaphone.com/view.php?id=46716 46716]
|}
|}
problem: The number sent with MWI to the called phone indicating a callback request, was not correctly adjusted taking nodes and escapes into account<br/><br/>solution: Adjust number<br/><br/>files: pbx.cpp<br/><br/>products: all with PBX<br/><br/>risks: None
problem: update 'scfg' command hangs if the target url is invalid and the HTTP-PUT operation is terminated when no other operation is pending. In this case the termination of 'scfg' was not reported from UP0 to the script process UP1  <br/><br/>solution: fix in code<br/> <br/>files: update.cpp<br/><br/>products: all<br/><br/>risks: None  
''Status:''
checked in to 8.00,7.00,08-70300
      
      
=== Recall to user not in root node did not work ===
=== When the phone speaker volume is changed  the micro must stay disabled if it was disabled before ===


{|
{|
Line 5,960: Line 5,964:
|-
|-
|Id
|Id
|[http://mantis.innovaphone.com/view.php?id=46690 46690]
|[http://mantis.innovaphone.com/view.php?id=46788 46788]
|}
|}
problem: A recall after transfer to a user not in root node did not work, if call from another Node. If call from same node, number display was wrong<br/><br/>solution: Take node into account when root recall<br/><br/>files: pbx.cpp<br/><br/>products: all with PBX<br/><br/>risk: Risk of collateral damage limited to recall
problem: When the phone speaker volume was changed while the micro was disabled the micro was enabled but displayed as disabled. Naturally the micro must stay disabled here.<br/><br/>solution: fix in code<br/> <br/>files: phonesig.cpp<br/><br/>products: all phones<br/><br/>risks: None<br/>
''Status:''
checked in to 8.00,7.00,08-70300
      
      
=== ISDN interop flag "No-Disc" used to change handling of incoming DISC as well ===
=== H323 OEM event decoding ===


{|
{|
Line 5,971: Line 5,977:
|-
|-
|Id
|Id
|[http://mantis.innovaphone.com/view.php?id=47210 47210]
|[http://mantis.innovaphone.com/view.php?id=46931 46931]
|}
|}
problem: The No-Disc interop flag only resulted in no DISC being sent, but RELEASE instead. Symmetric behaviour would be desired.<br/><br/>solution: With No-Disc set a RELEASE message is sent immediatly when a DISC is received<br/><br/>files: q931.cpp<br/><br/>products: All with ISDN<br/><br/>risks: None
problem: For an OEM protocol some event content items are missed in the signaling information event.<br/><br/>solution: Event action fixed.<br/><br/>files: h323_tbl.tbl.<br/><br/>products affected: All devices.<br/><br/>risk: No risk of collateral damage. Only relevant for OEM protocol.
      
      
=== PBX trap when adding many groups to a object ===
=== SIP: "300 Multiple Choices" was not handled ===


{|
{|
Line 5,982: Line 5,988:
|-
|-
|Id
|Id
|[http://mantis.innovaphone.com/view.php?id=47243 47243]
|[http://mantis.innovaphone.com/view.php?id=46938 46938]
|}
|}
problem: A buffer overrun happened if too many groups were added to a object<br/><br/>solution: Check for buffer overrun added. Buffer doubled to avoid limitation<br/><br/>files: pbx.cpp, pbx.h<br/><br/>products: all with PBX<br/><br/>risks: None
Problem: SIP response "300 Multiple Choices" for INVITE was not handled.<br/><br/>Solution: Re-send INVITE with replace Request-URI.<br/><br/>Files: sip.cpp<br/><br/>Products affected: All SIP devices.<br/><br/>Risk: No risk.
      
      
=== Gateway: Trap if too many maps configured at an interface ===
=== SIP: Assignment of incoming calls to signaling interface fails ===


{|
{|
Line 5,993: Line 5,999:
|-
|-
|Id
|Id
|[http://mantis.innovaphone.com/view.php?id=47267 47267]
|[http://mantis.innovaphone.com/view.php?id=46939 46939]
|}
|}
problem: A buffer overrun happened when many maps at an interaface were configured<br/><br/>solution: Do not use a static buffer, but a packet instead<br/><br/>files: gk.cpp<br/><br/>products: all gateways<br/><br/>risks: None
Problem: INVITE is rejected with "403 Forbidden" if Request-URI does not match local Contact-URI.<br/><br/>Solution: Do not require URI match, if only one signaling interface on local recv port.<br/><br/>Files: siptrans.cpp<br/><br/>Products affected: Devices with registered SIP interfaces (phones/gateways).<br/><br/>Risk: No risk.
      
      
=== IP24, IP28, IP302, IP305 dsp did not support renegotiation from PCM to VOIP ===
=== SIP interop: SAGEM fax server fails to receive t38 fax ===


{|
{|
Line 6,004: Line 6,010:
|-
|-
|Id
|Id
|[http://mantis.innovaphone.com/view.php?id=47494 47494]
|[http://mantis.innovaphone.com/view.php?id=47085 47085]
|}
|}
problem: If a call was established first with a direct PCM connection and then switched over to a normal VOIP call, there was no media. This could happen with calls from ISDN to a endpoint with a lokal analog interface (first reg) and a IP Phone (second reg) registered. The media with the local analog interface was established first, when the call was answered on the IP phone, the renegotiation happend.<br/><br/>solution: fix dsp driver<br/><br/>files: ac_dsp3.cpp, ac_dsp3.h<br/><br/>products: IP24, IP28, IP302, IP305<br/><br/>risks: other media problems with DSP
Problem: SAGEM fax server gets initial SDP offer with audio (non-zero port) and t38 (zero port) and accepts with audio (zero port) and t38 (non-zero port).<br/><br/>Solution: Config option to select t38 capability indication. Use "/t38-cap 1" or "/t38-cap 2" for SAGEM.<br/><br/>Files: sip.cpp/h sdpmsg.cpp/h<br/><br/>Products affected: SIP gateways<br/><br/>Risk: No risk.
      
      
=== H323 OEM event decoding ===
=== Trap when adding a group to a pbx dtmf child object ===


{|
{|
Line 6,015: Line 6,021:
|-
|-
|Id
|Id
|[http://mantis.innovaphone.com/view.php?id=46931 46931]
|[http://mantis.innovaphone.com/view.php?id=47104 47104]
|}
|}
problem: For an OEM protocol some event content items are missed in the signaling information event.<br/><br/>solution: Event action fixed.<br/><br/>files: h323_tbl.tbl.<br/><br/>products affected: All devices.<br/><br/>risk: No risk of collateral damage. Only relevant for OEM protocol.
problem: the box traps, when a group is added to a pbx dtmf child object, which shouldn't be configurable.<br/><br/>solution: remove configuration possibility of child objects.<br/><br/>files: pbx_obj_rights.xsl<br/><br/>products affected: All pbx devices.<br/><br/>risk: none
      
      
=== IP-DECT OEM Standby master capabilities ===
=== IP-DECT registration down reason text ===


{|
{|
Line 6,026: Line 6,032:
|-
|-
|Id
|Id
|[http://mantis.innovaphone.com/view.php?id=46678 46678]
|[http://mantis.innovaphone.com/view.php?id=47121 47121]
|}
|}
problem: It should not be possible for OEM devices to delete anonymous endpoints or to edit users if the standby master is active and used.<br/><br/>solution: Control functions and OEM GUI changed. Display message types added.<br/><br/>files: dectusers.cpp, dectmaster.cpp, dectradio.h, dectradio.cpp, dectdisplay_if.h, dectdisplay.h (OEM), dectdisplay.cpp (OEM), dect_users_left.xsl (OEM), dect_users_right.xsl (OEM).<br/><br/>products affected: All DECT devices.<br/><br/>risk: Minimal risk of collateral damage.
problem: New description for the registration down reason is needed.<br/><br/>solution: Reason text changed.<br/><br/>files: dectusers.cpp.<br/><br/>products affected: All DECT devices.<br/><br/>risk: No risk of collateral damage. Only description.  
      
      
=== IP-DECT registration down reason text ===
=== permit to search external directory for local numbers ===


{|
{|
Line 6,037: Line 6,043:
|-
|-
|Id
|Id
|[http://mantis.innovaphone.com/view.php?id=47121 47121]
|[http://mantis.innovaphone.com/view.php?id=47151 47151]
|}
|}
problem: New description for the registration down reason is needed.<br/><br/>solution: Reason text changed.<br/><br/>files: dectusers.cpp.<br/><br/>products affected: All DECT devices.<br/><br/>risk: No risk of collateral damage. Only description.  
problem: special application environments require to hide the PBX provided name-id via "config add PHONE SIG /no-name-id". If in this case the external directory is used to provide name info for local numbers it is searched only if the 'Dialing Location/External Line' prefix is empty.<br/><br/>solution: "config add PHONE DIR /dont-skip-ext" forces the external directory to be searched local numbers (not starting with the 'External Line' prefix) too.<br/> <br/>files: phone_dir.cpp<br/><br/>products: all phones<br/><br/>risks: None
''Status:''
checked in to 8.00,7.00,08-70300
      
      
=== Feature code local clear of MWI ===
=== IP2000 uses only 64Mbyte SDRAM, should be 128Mbytes ===


{|
{|
|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=47372 47372]
|[http://mantis.innovaphone.com/view.php?id=47161 47161]
|}
|}
problem: The feature code local clear of MWI should be transparent to the call instead of closing it.<br/><br/>solution: Sending disconnect message removed.<br/><br/>files: dtmffty.cpp.<br/><br/>products affected: All devices with supplementary services.<br/><br/>risk: Minimal risk of collateral damage.
problem: IP2000 uses only 64Mbyte SDRAM, should be 128Mbytes <br/><br/>solution: Fix.<br/><br/>files: startup_ixp245.s, boot2000.y<br/><br/>products: IP2000<br/>risks: The first 16 IP2000 ( Mac-Address < 00-90-33-24-00-10 ) with 64Mbyte die with this bootcode
      
      
=== IP-DECT OEM protocol DTMF as keypad ===
=== ISDN interop flag "No-Disc" used to change handling of incoming DISC as well ===


{|
{|
Line 6,059: Line 6,067:
|-
|-
|Id
|Id
|[http://mantis.innovaphone.com/view.php?id=47395 47395]
|[http://mantis.innovaphone.com/view.php?id=47210 47210]
|}
|}
problem: For OEM protocol option 'DTMF as keypad' should be always on.<br/><br/>solution: Configuration update function fixed.<br/><br/>files: dectmaster.cpp.<br/><br/>products affected: All DECT devices.<br/><br/>risk: No risk of collateral damage. Only relevant for the configuration of an OEM protocol.
problem: The No-Disc interop flag only resulted in no DISC being sent, but RELEASE instead. Symmetric behaviour would be desired.<br/><br/>solution: With No-Disc set a RELEASE message is sent immediatly when a DISC is received<br/><br/>files: q931.cpp<br/><br/>products: All with ISDN<br/><br/>risks: None
      
      
=== IP-DECT OEM Network region roaming user attribute ===
=== PBX trap when adding many groups to a object ===


{|
{|
Line 6,070: Line 6,078:
|-
|-
|Id
|Id
|[http://mantis.innovaphone.com/view.php?id=47513 47513]
|[http://mantis.innovaphone.com/view.php?id=47243 47243]
|}
|}
problem: The user attribute for the new feature 'roaming between network regions' is deleted if the user data is changed over the GUI.<br/><br/>solution: User attribute added in the OEM GUI and forwarded to the LDAP query.<br/><br/>files: dectusers.h, dectusers.cpp, dect_edit_user.xsl (OEM).<br/><br/>products affected: All DECT devices.<br/><br/>risk: No risk of collateral damage. Only relevant for OEM products.
problem: A buffer overrun happened if too many groups were added to a object<br/><br/>solution: Check for buffer overrun added. Buffer doubled to avoid limitation<br/><br/>files: pbx.cpp, pbx.h<br/><br/>products: all with PBX<br/><br/>risks: None
      
      
=== IP-DECT OEM location update during handover ===
=== SIP: No ACK is sent ===


{|
{|
Line 6,081: Line 6,089:
|-
|-
|Id
|Id
|[http://mantis.innovaphone.com/view.php?id=47519 47519]
|[http://mantis.innovaphone.com/view.php?id=47252 47252]
|}
|}
problem: A new setup message from a radio should not trigger a OEM location update during handover state.<br/><br/>solution: Condition added.<br/><br/>files: dectmaster.h, dectmaster.cpp.<br/><br/>products affected: All DECT devices.<br/><br/>risk: No risk of collateral damage. Only relevant for OEM products.
Problem: If a call receives lots of provisional responses (20 or more), SIP may fail to send ACK and "ERROR: SIP message buffer (2049) exceeded!" appears in trace.<br/><br/>Solution: Check if a new provisional response really updates anything (e.g. tag).<br/><br/>Files: siptrans.cpp<br/><br/>Products affected: SIP gateways<br/><br/>Risk: No risk.
      
      
=== MWI configuration options ===
=== don't report a sent() callback in a HTTP GET operation as an error ===


{|
{|
Line 6,092: Line 6,100:
|-
|-
|Id
|Id
|[http://mantis.innovaphone.com/view.php?id=47884 47884]
|[http://mantis.innovaphone.com/view.php?id=47254 47254]
|}
|}
problem: It should be possible to configure different numbers for the notify and interrogate number.<br/><br/>solution: New configuration option implemented.<br/><br/>files: dtmffty.h, dtmffty.cpp, dectfty.h, dectfty.cpp, dectfty.xsl(OEM).<br/><br/>products affected: All devices with DECT or PBX.<br/><br/>risk: Minimal risk of collateral damage.
problem: on a HTTP GET operation the httpclient object triggers a sent() callback when the GET request data has been sent. This is not error and thus should not be traced <br/><br/>solution: fix in code<br/> <br/>files: update.cpp<br/><br/>products: all<br/><br/>risks: None<br/>
''Status:''
checked in to 8.00,7.00,08-70300
      
      
=== PBX Broadcast Conference Option ===
=== Gateway: Trap if too many maps configured at an interface ===


{|
{|
Line 6,103: Line 6,113:
|-
|-
|Id
|Id
|[http://mantis.innovaphone.com/view.php?id=47885 47885]
|[http://mantis.innovaphone.com/view.php?id=47267 47267]
|}
|}
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: A buffer overrun happened when many maps at an interaface were configured<br/><br/>solution: Do not use a static buffer, but a packet instead<br/><br/>files: gk.cpp<br/><br/>products: all gateways<br/><br/>risks: None
      
      
=== IP-DECT idle display update ===
=== sporadic HTTP_REQUEST Assertion ===


{|
{|
|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=47890 47890]
|[http://mantis.innovaphone.com/view.php?id=47348 47348]
|}
|}
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: HTTP_REQUEST assertion due to large alloc size after send_responses during idle state<br/><br/>solution: cleanup http session after responses, debugs added<br/>files: http.h, http.cpp<br/><br/>products: all<br/><br/>risks: Low risk of collateral damage  
      
      
=== IP-DECT OEM module software update ===
=== Feature code local clear of MWI ===


{|
{|
Line 6,125: Line 6,135:
|-
|-
|Id
|Id
|[http://mantis.innovaphone.com/view.php?id=47933 47933]
|[http://mantis.innovaphone.com/view.php?id=47372 47372]
|}
|}
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: The feature code local clear of MWI should be transparent to the call instead of closing it.<br/><br/>solution: Sending disconnect message removed.<br/><br/>files: dtmffty.cpp.<br/><br/>products affected: All devices with supplementary services.<br/><br/>risk: Minimal risk of collateral damage.  
      
      
=== IP22 Interop with devices that do not support T38 redundancy and retransmits ===
=== IP-DECT OEM protocol DTMF as keypad ===


{|
{|
Line 6,136: Line 6,146:
|-
|-
|Id
|Id
|[http://mantis.innovaphone.com/view.php?id=47772 47772]
|[http://mantis.innovaphone.com/view.php?id=47395 47395]
|}
|}
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: For OEM protocol option 'DTMF as keypad' should be always on.<br/><br/>solution: Configuration update function fixed.<br/><br/>files: dectmaster.cpp.<br/><br/>products affected: All DECT devices.<br/><br/>risk: No risk of collateral damage. Only relevant for the configuration of an OEM protocol.
      
      
=== IP2000 uses only 64Mbyte SDRAM, should be 128Mbytes ===
=== Trap on dialing directory search object with http and full number including # to connect ===


{|
{|
|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=47161 47161]
|[http://mantis.innovaphone.com/view.php?id=47403 47403]
|}
|}
problem: IP2000 uses only 64Mbyte SDRAM, should be 128Mbytes <br/><br/>solution: Fix.<br/><br/>files: startup_ixp245.s, boot2000.y<br/><br/>products: IP2000<br/>risks: The first 16 IP2000 ( Mac-Address < 00-90-33-24-00-10 ) with 64Mbyte die with this bootcode
problem: class directory_search_call_http deleted twice<br/><br/>solution: prevent double deletion<br/><br/>files: pbx_dirsearch.cpp<br/><br/>products affected: all PBX devices<br/><br/>risk: No risk of collateral damage, as the fix is just valid for directory search calls with a http server
      
      
=== sporadic HTTP_REQUEST Assertion ===
=== IP24, IP28, IP302, IP305 dsp did not support renegotiation from PCM to VOIP ===


{|
{|
|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=47348 47348]
|[http://mantis.innovaphone.com/view.php?id=47494 47494]
|}
|}
problem: HTTP_REQUEST assertion due to large alloc size after send_responses during idle state<br/><br/>solution: cleanup http session after responses, debugs added<br/>files: http.h, http.cpp<br/><br/>products: all<br/><br/>risks: Low risk of collateral damage
problem: If a call was established first with a direct PCM connection and then switched over to a normal VOIP call, there was no media. This could happen with calls from ISDN to a endpoint with a lokal analog interface (first reg) and a IP Phone (second reg) registered. The media with the local analog interface was established first, when the call was answered on the IP phone, the renegotiation happend.<br/><br/>solution: fix dsp driver<br/><br/>files: ac_dsp3.cpp, ac_dsp3.h<br/><br/>products: IP24, IP28, IP302, IP305<br/><br/>risks: other media problems with DSP
      
      
=== prevent creation of pbx dtmf object with char '#' in long name ===
=== IP6000/2000 trap handler must be run on common stack to prevent false alarms in post mortem memory diagnostics ===


{|
{|
Line 6,169: Line 6,179:
|-
|-
|Id
|Id
|[http://mantis.innovaphone.com/view.php?id=47803 47803]
|[http://mantis.innovaphone.com/view.php?id=47501 47501]
|}
|}
problem: it was possible to create a dtmf object with long name dtmf#join_group. If one then creates another dtmf object with long name dtmf and feature code join group enabled, it traps, because the object tries to create another user with dtmf#join_group as long name without check.<br/><br/>solution: disallow char '#' in long name of dtmf object<br/> <br/>files: pbx_dtmf.cpp<br/><br/>products: all pbx devices<br/><br/>risks: None
problem: the trap handler was run on a fixed stack below the stack area used in normal operations and in interrupt handling. this way some allocated memory could be overriden and a false alarm could be raised by the memory sanity checks at the end of trap handling <br/><br/>solution: fix in code<br/> <br/>files: startup.S, ip6000.cpp<br/><br/>products: ip6000,ip2000<br/><br/>risks: None<br/>
''Status:''
checked in to 8.00,7.00,08-70300
      
      
=== SIP interop: SAGEM fax server fails to receive t38 fax ===
=== Trap on SIP call clearing ===


{|
{|
Line 6,180: Line 6,192:
|-
|-
|Id
|Id
|[http://mantis.innovaphone.com/view.php?id=47085 47085]
|[http://mantis.innovaphone.com/view.php?id=47511 47511]
|}
|}
Problem: SAGEM fax server gets initial SDP offer with audio (non-zero port) and t38 (zero port) and accepts with audio (zero port) and t38 (non-zero port).<br/><br/>Solution: Config option to select t38 capability indication. Use "/t38-cap 1" or "/t38-cap 2" for SAGEM.<br/><br/>Files: sip.cpp/h sdpmsg.cpp/h<br/><br/>Products affected: SIP gateways<br/><br/>Risk: No risk.
Problem: Trap on SIP call clearing.<br/><br/>Solution: Fix double delete of call object.<br/><br/>Files: sip.cpp<br/><br/>Products affected: SIP devices<br/><br/>Risk: No risk.
      
      
=== update 'scfg' command may hang if target url is invalid (non existent host or host rejects connect) ===
=== Quickdial, Incorrect Display for Umlaute ===


{|
{|
Line 6,191: Line 6,203:
|-
|-
|Id
|Id
|[http://mantis.innovaphone.com/view.php?id=46716 46716]
|[http://mantis.innovaphone.com/view.php?id=47512 47512]
|}
|}
problem: update 'scfg' command hangs if the target url is invalid and the HTTP-PUT operation is terminated when no other operation is pending. In this case the termination of 'scfg' was not reported from UP0 to the script process UP1  <br/><br/>solution: fix in code<br/> <br/>files: update.cpp<br/><br/>products: all<br/><br/>risks: None
Problem: Quickdial, Incorrect Display for Umlaute.<br/><br/>Solution: UTF-8 decode display info<br/><br/>Files: pbx_qdial.cpp<br/><br/>Products affected: PBX products<br/><br/>Risk: No risk.  
''Status:''
checked in to 8.00,7.00,08-70300
      
      
=== don't report a sent() callback in a HTTP GET operation as an error ===
=== IP-DECT OEM Network region roaming user attribute ===


{|
{|
Line 6,204: Line 6,214:
|-
|-
|Id
|Id
|[http://mantis.innovaphone.com/view.php?id=47254 47254]
|[http://mantis.innovaphone.com/view.php?id=47513 47513]
|}
|}
problem: on a HTTP GET operation the httpclient object triggers a sent() callback when the GET request data has been sent. This is not error and thus should not be traced <br/><br/>solution: fix in code<br/> <br/>files: update.cpp<br/><br/>products: all<br/><br/>risks: None<br/>
problem: The user attribute for the new feature 'roaming between network regions' is deleted if the user data is changed over the GUI.<br/><br/>solution: User attribute added in the OEM GUI and forwarded to the LDAP query.<br/><br/>files: dectusers.h, dectusers.cpp, dect_edit_user.xsl (OEM).<br/><br/>products affected: All DECT devices.<br/><br/>risk: No risk of collateral damage. Only relevant for OEM products.  
''Status:''
checked in to 8.00,7.00,08-70300
      
      
=== IP6000/2000 trap handler must be run on common stack to prevent false alarms in post mortem memory diagnostics ===
=== Wrong DTMF when dialing DTMF feature codes from analog devices ===


{|
{|
Line 6,217: Line 6,225:
|-
|-
|Id
|Id
|[http://mantis.innovaphone.com/view.php?id=47501 47501]
|[http://mantis.innovaphone.com/view.php?id=47516 47516]
|}
|}
problem: the trap handler was run on a fixed stack below the stack area used in normal operations and in interrupt handling. this way some allocated memory could be overriden and a false alarm could be raised by the memory sanity checks at the end of trap handling <br/><br/>solution: fix in code<br/> <br/>files: startup.S, ip6000.cpp<br/><br/>products: ip6000,ip2000<br/><br/>risks: None<br/>
problem: on channel connect, a DTMF can be send twice<br/><br/>solution: do not connect for feature codes, when not needed<br/><br/>files: pbx_dtmf.h, pbx_dtmf.cpp<br/><br/>products affected: all PBX devices<br/><br/>risk: No risk of collateral damage, as the fix is just valid for dtmf feature codes
''Status:''
checked in to 8.00,7.00,08-70300
      
      
=== malloc must always run disabled ===
=== IP-DECT OEM location update during handover ===


{|
{|
Line 6,230: Line 6,236:
|-
|-
|Id
|Id
|[http://mantis.innovaphone.com/view.php?id=47792 47792]
|[http://mantis.innovaphone.com/view.php?id=47519 47519]
|}
|}
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: A new setup message from a radio should not trigger a OEM location update during handover state.<br/><br/>solution: Condition added.<br/><br/>files: dectmaster.h, dectmaster.cpp.<br/><br/>products affected: All DECT devices.<br/><br/>risk: No risk of collateral damage. Only relevant for OEM products.
''Status:''
checked in to 7.00,08-70300
      
      
=== provide uptime and local time of trap in debug log ===
=== SIP: Missing request re-transmission after 100/Trying ===


{|
{|
Line 6,243: Line 6,247:
|-
|-
|Id
|Id
|[http://mantis.innovaphone.com/view.php?id=47854 47854]
|[http://mantis.innovaphone.com/view.php?id=47573 47573]
|}
|}
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, arm.cpp<br/><br/>products: all<br/><br/>risks: None<br/>
Problem: A non-INVITE request (e.g. REGISTER) was not re-transmitted after 100/Trying has been received. A lost final response caused a transaction timeout.<br/><br/>Solution: Do not stop Timer E when entering transaction state "Proceeding".<br/><br/>Files: siptrans.cpp<br/><br/>Products affected: All SIP devices<br/><br/>Risk: No risk.
''Status:''
checked in to 7.00, 08-70300
      
      
=== phone must propagate error logs from call object to logging service ===
=== incorrect pointer assignment in submit_config of dtmf/icp object and false configuration possibility ===


{|
{|
Line 6,256: Line 6,258:
|-
|-
|Id
|Id
|[http://mantis.innovaphone.com/view.php?id=46570 46570]
|[http://mantis.innovaphone.com/view.php?id=47715 47715]
|}
|}
problem: error logs from call object sent to the phone registration object are not propagated to the logging service. <br/><br/>solution: fix in code<br/> <br/>files: phonesig.cpp<br/><br/>products: all phones<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  
''Status:''
checked in to 8.00,7.00,08-70300
      
      
=== When the phone speaker volume is changed  the micro must stay disabled if it was disabled before ===
=== IP22 Interop with devices that do not support T38 redundancy and retransmits ===


{|
{|
Line 6,269: Line 6,269:
|-
|-
|Id
|Id
|[http://mantis.innovaphone.com/view.php?id=46788 46788]
|[http://mantis.innovaphone.com/view.php?id=47772 47772]
|}
|}
problem: When the phone speaker volume was changed while the micro was disabled the micro was enabled but displayed as disabled. Naturally the micro must stay disabled here.<br/><br/>solution: fix in code<br/> <br/>files: phonesig.cpp<br/><br/>products: all phones<br/><br/>risks: None<br/>
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
''Status:''
checked in to 8.00,7.00,08-70300
      
      
=== permit to search external directory for local numbers ===
=== permit to control the display format of names from local/PBX directory the same way as for external directories ===


{|
{|
Line 6,282: Line 6,280:
|-
|-
|Id
|Id
|[http://mantis.innovaphone.com/view.php?id=47151 47151]
|[http://mantis.innovaphone.com/view.php?id=47784 47784]
|}
|}
problem: special application environments require to hide the PBX provided name-id via "config add PHONE SIG /no-name-id". If in this case the external directory is used to provide name info for local numbers it is searched only if the 'Dialing Location/External Line' prefix is empty.<br/><br/>solution: "config add PHONE DIR /dont-skip-ext" forces the external directory to be searched local numbers (not starting with the 'External Line' prefix) too.<br/> <br/>files: phone_dir.cpp<br/><br/>products: all phones<br/><br/>risks: None  
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:''
''Status:''
checked in to 8.00,7.00,08-70300
7.00,08-70300
      
      
=== permit to control the display format of names from local/PBX directory the same way as for external directories ===
=== malloc must always run disabled ===


{|
{|
Line 6,295: Line 6,293:
|-
|-
|Id
|Id
|[http://mantis.innovaphone.com/view.php?id=47784 47784]
|[http://mantis.innovaphone.com/view.php?id=47792 47792]
|}
|}
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: 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:''
''Status:''
7.00,08-70300
checked in to 7.00,08-70300
      
      
=== Quickdial, Incorrect Display for Umlaute ===
=== prevent creation of pbx dtmf object with char '#' in long name ===


{|
{|
Line 6,308: Line 6,306:
|-
|-
|Id
|Id
|[http://mantis.innovaphone.com/view.php?id=47512 47512]
|[http://mantis.innovaphone.com/view.php?id=47803 47803]
|}
|}
Problem: Quickdial, Incorrect Display for Umlaute.<br/><br/>Solution: UTF-8 decode display info<br/><br/>Files: pbx_qdial.cpp<br/><br/>Products affected: PBX products<br/><br/>Risk: No risk.
problem: it was possible to create a dtmf object with long name dtmf#join_group. If one then creates another dtmf object with long name dtmf and feature code join group enabled, it traps, because the object tries to create another user with dtmf#join_group as long name without check.<br/><br/>solution: disallow char '#' in long name of dtmf object<br/> <br/>files: pbx_dtmf.cpp<br/><br/>products: all pbx devices<br/><br/>risks: None
      
      
=== SIP: "300 Multiple Choices" was not handled ===
=== provide uptime and local time of trap in debug log ===


{|
{|
Line 6,319: Line 6,317:
|-
|-
|Id
|Id
|[http://mantis.innovaphone.com/view.php?id=46938 46938]
|[http://mantis.innovaphone.com/view.php?id=47854 47854]
|}
|}
Problem: SIP response "300 Multiple Choices" for INVITE was not handled.<br/><br/>Solution: Re-send INVITE with replace Request-URI.<br/><br/>Files: sip.cpp<br/><br/>Products affected: All SIP devices.<br/><br/>Risk: No risk.
problem: sometimes it's helpful to know at which time of day and how long after boot a trap occured<br/><br/>solution: fix in code<br/> <br/>files: box.cpp, arm.cpp<br/><br/>products: all<br/><br/>risks: None<br/>
''Status:''
checked in to 7.00, 08-70300
      
      
=== SIP: Assignment of incoming calls to signaling interface fails ===
=== MWI configuration options ===


{|
{|
Line 6,330: Line 6,330:
|-
|-
|Id
|Id
|[http://mantis.innovaphone.com/view.php?id=46939 46939]
|[http://mantis.innovaphone.com/view.php?id=47884 47884]
|}
|}
Problem: INVITE is rejected with "403 Forbidden" if Request-URI does not match local Contact-URI.<br/><br/>Solution: Do not require URI match, if only one signaling interface on local recv port.<br/><br/>Files: siptrans.cpp<br/><br/>Products affected: Devices with registered SIP interfaces (phones/gateways).<br/><br/>Risk: No risk.
problem: It should be possible to configure different numbers for the notify and interrogate number.<br/><br/>solution: New configuration option implemented.<br/><br/>files: dtmffty.h, dtmffty.cpp, dectfty.h, dectfty.cpp, dectfty.xsl(OEM).<br/><br/>products affected: All devices with DECT or PBX.<br/><br/>risk: Minimal risk of collateral damage.
      
      
=== SIP: No ACK is sent ===
=== PBX Broadcast Conference Option ===


{|
{|
Line 6,341: Line 6,341:
|-
|-
|Id
|Id
|[http://mantis.innovaphone.com/view.php?id=47252 47252]
|[http://mantis.innovaphone.com/view.php?id=47885 47885]
|}
|}
Problem: If a call receives lots of provisional responses (20 or more), SIP may fail to send ACK and "ERROR: SIP message buffer (2049) exceeded!" appears in trace.<br/><br/>Solution: Check if a new provisional response really updates anything (e.g. tag).<br/><br/>Files: siptrans.cpp<br/><br/>Products affected: SIP gateways<br/><br/>Risk: No risk.
problem: It should be possible to configure if the last remaining user in a conference call should be disconnected or not.<br/><br/>solution: New configuration option implemented.<br/><br/>files: pbx_bc_conf.h, pbx_bc_conf.cpp, pbx_edit_bc_conf.xsl.<br/><br/>products affected: All devices with PBX.<br/><br/>risk: Minimal risk of collateral damage.  
      
      
=== Trap on SIP call clearing ===
=== IP-DECT idle display update ===


{|
{|
Line 6,352: Line 6,352:
|-
|-
|Id
|Id
|[http://mantis.innovaphone.com/view.php?id=47511 47511]
|[http://mantis.innovaphone.com/view.php?id=47890 47890]
|}
|}
Problem: Trap on SIP call clearing.<br/><br/>Solution: Fix double delete of call object.<br/><br/>Files: sip.cpp<br/><br/>Products affected: SIP devices<br/><br/>Risk: No risk.
problem: Idle display update does not work for DECT handsets.<br/><br/>solution: Functionality implemented, but it must be enabled over the GUI and must not be used if foreign handsets are used.<br/><br/>files: dectmaster.h, dectmaster.cpp, dectmaster.xsl.<br/><br/>products affected: All DECT devices.<br/><br/>risk: Minimal risk of collateral damage.  
      
      
=== SIP: Missing request re-transmission after 100/Trying ===
=== SIP: Handling of transfer to different ip address ===


{|
{|
Line 6,363: Line 6,363:
|-
|-
|Id
|Id
|[http://mantis.innovaphone.com/view.php?id=47573 47573]
|[http://mantis.innovaphone.com/view.php?id=47917 47917]
|}
|}
Problem: A non-INVITE request (e.g. REGISTER) was not re-transmitted after 100/Trying has been received. A lost final response caused a transaction timeout.<br/><br/>Solution: Do not stop Timer E when entering transaction state "Proceeding".<br/><br/>Files: siptrans.cpp<br/><br/>Products affected: All SIP devices<br/><br/>Risk: No risk.
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
      
      
=== SIP: Handling of transfer to different ip address ===
=== IP-DECT OEM module software update ===


{|
{|
Line 6,374: Line 6,374:
|-
|-
|Id
|Id
|[http://mantis.innovaphone.com/view.php?id=47917 47917]
|[http://mantis.innovaphone.com/view.php?id=47933 47933]
|}
|}
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: There are new software versions of the OEM software modules: BMC interface software, MSF module and Skinny protocol.<br/><br/>solution: OEM modules replaced.<br/><br/>files: DECT files, MSF files, Skinny files, config.h, fty.h, fty.cpp.<br/><br/>products affected: All DECT devices.<br/><br/>risk: Normal risk of collateral damage. Updated from improved OEM branch.
      
      
=== SIP: Problem with media negotiation after 488 ===
=== SIP: Problem with media negotiation after 488 ===
Line 6,401: Line 6,401:


      
      
=== allow empty search base in directory search object ===
=== SIP: Media negotiation problem at Alcatel Omni PCX ===


{|
{|
Line 6,408: Line 6,408:
|-
|-
|Id
|Id
|[http://mantis.innovaphone.com/view.php?id=48702 48702]
|[http://mantis.innovaphone.com/view.php?id=48339 48339]
|}
|}
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: 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.
      
      
=== One-way-voice after retrieve together with SRTP, H323 and Registration with password ===
=== SIP: No switch from local ringback tone to inband ringback tone ===


{|
{|
Line 6,419: Line 6,419:
|-
|-
|Id
|Id
|[http://mantis.innovaphone.com/view.php?id=48572 48572]
|[http://mantis.innovaphone.com/view.php?id=48427 48427]
|}
|}
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: 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.
      
      
=== Call-Completion display at called phone not deleted if calling/called in same but not root node ===
=== SIP: Problems with DTMF when interworking v5 devices to SIP ===


{|
{|
Line 6,430: Line 6,430:
|-
|-
|Id
|Id
|[http://mantis.innovaphone.com/view.php?id=48579 48579]
|[http://mantis.innovaphone.com/view.php?id=48440 48440]
|}
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.
   
=== VM: Trap, Double-Free after sending Email with Body ===
 
{|
|Status
|<font><font color="green">Closed</font></font>
|-
|Id
|[http://mantis.innovaphone.com/view.php?id=48498 48498]
|}
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
   
=== One-way-voice after retrieve together with SRTP, H323 and Registration with password ===
 
{|
|Status
|<font><font color="green">Closed</font></font>
|-
|Id
|[http://mantis.innovaphone.com/view.php?id=48572 48572]
|}
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
   
=== Call-Completion display at called phone not deleted if calling/called in same but not root node ===
 
{|
|Status
|<font><font color="green">Closed</font></font>
|-
|Id
|[http://mantis.innovaphone.com/view.php?id=48579 48579]
|}
|}
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: 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
Line 6,478: Line 6,511:
problem: A trap could happen in case of a collision of Facility and Call Clearing, with very special timing, because of an attempt to send a facility on an already deleted call.<br/><br/>solution: Better check for deleted call.<br/><br/>files: pbx.cpp<br/><br/>products: all with PBX<br/><br/>risks: None
problem: A trap could happen in case of a collision of Facility and Call Clearing, with very special timing, because of an attempt to send a facility on an already deleted call.<br/><br/>solution: Better check for deleted call.<br/><br/>files: pbx.cpp<br/><br/>products: all with PBX<br/><br/>risks: None
      
      
=== PBX: As diverting number the real number was sent even if Send Number configured ===
=== allow empty search base in directory search object ===


{|
{|
Line 6,485: Line 6,518:
|-
|-
|Id
|Id
|[http://mantis.innovaphone.com/view.php?id=48719 48719]
|[http://mantis.innovaphone.com/view.php?id=48702 48702]
|}
|}
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: 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  
      
      
=== PBX: Reject external calls did not work as desired together with call forward ===
=== Memory Leak ===


{|
{|
Line 6,496: Line 6,529:
|-
|-
|Id
|Id
|[http://mantis.innovaphone.com/view.php?id=48728 48728]
|[http://mantis.innovaphone.com/view.php?id=48715 48715]
|}
|}
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: 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.
      
      
=== Potential trap when reconfiguring Gateway interfaces ===
=== PBX: As diverting number the real number was sent even if Send Number configured ===


{|
{|
Line 6,507: Line 6,540:
|-
|-
|Id
|Id
|[http://mantis.innovaphone.com/view.php?id=48834 48834]
|[http://mantis.innovaphone.com/view.php?id=48719 48719]
|}
|}
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 '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
      
      
=== Gateway: Trap if reconfiguring an analog interface registration with Feature Code support ===
=== PBX: Reject external calls did not work as desired together with call forward ===


{|
{|
Line 6,518: Line 6,551:
|-
|-
|Id
|Id
|[http://mantis.innovaphone.com/view.php?id=48839 48839]
|[http://mantis.innovaphone.com/view.php?id=48728 48728]
|}
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
   
=== IP240-1000 - network connectivity lost  after restart of the physical layer controller because of spurious errors ===
 
{|
|Status
|<font><font color="green">Closed</font></font>
|-
|Id
|[http://mantis.innovaphone.com/view.php?id=48786 48786]
|}
|}
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: 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 7.00,08-70300
      
      
=== Master PBX to obtain licenses from another Master ===
=== Leaks with DECT signalling using TLS ===


{|
{|
Line 6,529: Line 6,575:
|-
|-
|Id
|Id
|[http://mantis.innovaphone.com/view.php?id=48939 48939]
|[http://mantis.innovaphone.com/view.php?id=48821 48821]
|}
|}
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: 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, tls.h<br/><br/>Risk: Collateral damage with other applications using TLS
      
      
=== PBX: Reference to Config Template lost, when opening User from Registrations page ===
=== Potential trap when reconfiguring Gateway interfaces ===


{|
{|
Line 6,540: Line 6,586:
|-
|-
|Id
|Id
|[http://mantis.innovaphone.com/view.php?id=49090 49090]
|[http://mantis.innovaphone.com/view.php?id=48834 48834]
|}
|}
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: 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
      
      
=== IP-DECT facility entity memory leak ===
=== Gateway: Trap if reconfiguring an analog interface registration with Feature Code support ===


{|
{|
Line 6,551: Line 6,597:
|-
|-
|Id
|Id
|[http://mantis.innovaphone.com/view.php?id=48851 48851]
|[http://mantis.innovaphone.com/view.php?id=48839 48839]
|}
|}
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: 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
      
      
=== Leaks with DECT signalling using TLS ===
=== IP-DECT facility entity memory leak ===


{|
{|
Line 6,562: Line 6,608:
|-
|-
|Id
|Id
|[http://mantis.innovaphone.com/view.php?id=48821 48821]
|[http://mantis.innovaphone.com/view.php?id=48851 48851]
|}
|}
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, tls.h<br/><br/>Risk: Collateral damage with other applications using TLS
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.
      
      
=== IP240-1000 - network connectivity lost  after restart of the physical layer controller because of spurious errors ===
=== Master PBX to obtain licenses from another Master ===


{|
{|
Line 6,573: Line 6,619:
|-
|-
|Id
|Id
|[http://mantis.innovaphone.com/view.php?id=48786 48786]
|[http://mantis.innovaphone.com/view.php?id=48939 48939]
|}
|}
problem: the physical layer controller (PHY) of an IP240-100 is checked for spurious errors any second. If such errors are detected the controller is restarted. After restart data transfer from the phone CPU to the network was blocked. Data reception from network and transfer between LAN and PC port did work.<br/><br/>solution: fix in code<br/> <br/>files: inca_drv.cpp<br/><br/>products: IP 240-1000<br/><br/>risks: None<br/>
problem: There are configurations in which centralized licensing is desired but otherwise independent Master PBXs are needed.<br/><br/>solution: Configuration option added to allow a slave to register at a master to obtain licenses, but act as master in all other respects<br/><br/>files: pbx.cpp, pbx.h, pbx_general.xsl<br/><br/>products: all with PBX<br/><br/>risks: Minimal
''Status:''
checked in to 7.00,08-70300
      
      
=== IP2000/IP6000 must permit more than 8000 users ===
=== IP2000/IP6000 must permit more than 8000 users ===
Line 6,592: Line 6,636:
checked in to 7.00,08-70300
checked in to 7.00,08-70300
      
      
=== VM: Trap, Double-Free after sending Email with Body ===
=== PBX: Reference to Config Template lost, when opening User from Registrations page ===


{|
{|
Line 6,599: Line 6,643:
|-
|-
|Id
|Id
|[http://mantis.innovaphone.com/view.php?id=48498 48498]
|[http://mantis.innovaphone.com/view.php?id=49090 49090]
|}
|}
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: 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
      
      
=== SIP: Media negotiation problem at Alcatel Omni PCX ===
== Bug Fixes ==
 
 
   
= V7 Hotfix14 (10-70300.25) =
Changes included in Version 7 hotfix14
[http://mantis.innovaphone.com/view.php?id=49142 Definition]
 
== New Features ==
 
 
   
=== Need to configure 'Route Root-Node External Calls to' in case of 'License Only' on Slave ===


{|
{|
Line 6,610: Line 6,666:
|-
|-
|Id
|Id
|[http://mantis.innovaphone.com/view.php?id=48339 48339]
|[http://mantis.innovaphone.com/view.php?id=49138 49138]
|}
|}
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: 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
      
      
=== SIP: No switch from local ringback tone to inband ringback tone ===
=== Media Renegotiation from H.323 Slowstart to H.323 EFC failed accross multiple PBXs ===


{|
{|
Line 6,621: Line 6,677:
|-
|-
|Id
|Id
|[http://mantis.innovaphone.com/view.php?id=48427 48427]
|[http://mantis.innovaphone.com/view.php?id=49148 49148]
|}
|}
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: 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
      
      
=== SIP: Problems with DTMF when interworking v5 devices to SIP ===
=== Gateway: CGPN Map at route was executed even if the call using this route failed ===


{|
{|
Line 6,632: Line 6,688:
|-
|-
|Id
|Id
|[http://mantis.innovaphone.com/view.php?id=48440 48440]
|[http://mantis.innovaphone.com/view.php?id=49176 49176]
|}
|}
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: 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
      
      
=== Memory Leak ===
=== H.323: EFC coding wrong ===


{|
{|
Line 6,643: Line 6,699:
|-
|-
|Id
|Id
|[http://mantis.innovaphone.com/view.php?id=48715 48715]
|[http://mantis.innovaphone.com/view.php?id=49199 49199]
|}
|}
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: Coding of EFC was wrong in early versions. This was fixed, but can be configured to the old (wrong) coding with config change H323 /fix 0, with config change H323 /fix 1 the fix can be turned on. Without the /fix option the default should be fixed, was was not.<br/><br/>solution: /fix default set to 1<br/><br/>files: h323sig.cpp<br/><br/>products: all<br/><br/>risks: Compatibility with mixed versions
      
      
== Bug Fixes ==
=== SIP: Not accepting calls from alternative proxy ===
 
 
   
= V7 Hotfix14 (10-70300.25) =
Changes included in Version 7 hotfix14
[http://mantis.innovaphone.com/view.php?id=49142 Definition]
 
== New Features ==
 
 
   
=== fat32 check disc trap ===


{|
{|
Line 6,666: Line 6,710:
|-
|-
|Id
|Id
|[http://mantis.innovaphone.com/view.php?id=50202 50202]
|[http://mantis.innovaphone.com/view.php?id=49281 49281]
|}
|}
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: When being registered at a proxy with 2 ip addresses the gateway does not accept calls from the alternative ip address.<br/><br/>Solution: Accept calls from both ip addresses learned by DNS.<br/><br/>Files: siptrans.cpp<br/><br/>Products affected: SIP devices<br/><br/>Risk: No risk.
      
      
=== Need to configure 'Route Root-Node External Calls to' in case of 'License Only' on Slave ===
=== SIP: 180/Ringing was not re-transmitted ===


{|
{|
Line 6,677: Line 6,721:
|-
|-
|Id
|Id
|[http://mantis.innovaphone.com/view.php?id=49138 49138]
|[http://mantis.innovaphone.com/view.php?id=49413 49413]
|}
|}
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: 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.
      
      
=== Media Renegotiation from H.323 Slowstart to H.323 EFC failed accross multiple PBXs ===
=== PBX: After CFNR from Waiting with end of first announcement no MOH during call proceeding/alerting ===


{|
{|
Line 6,688: Line 6,732:
|-
|-
|Id
|Id
|[http://mantis.innovaphone.com/view.php?id=49148 49148]
|[http://mantis.innovaphone.com/view.php?id=49459 49459]
|}
|}
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: 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
      
      
=== Gateway: CGPN Map at route was executed even if the call using this route failed ===
=== headset mode must be kept when a knocking call is accepted via operator while a disconnected call is pending ===


{|
{|
Line 6,699: Line 6,743:
|-
|-
|Id
|Id
|[http://mantis.innovaphone.com/view.php?id=49176 49176]
|[http://mantis.innovaphone.com/view.php?id=49797 49797]
|}
|}
problem: A CGPN Map at a route was executed even if the call using this route failed. This was confusing if rerouting was configured in case a destination was not available.<br/><br/>solution: CGPN map not executed if call failed, so rerouting could be done with the same CGPN<br/><br/>files: gk.cpp<br/><br/>products: all gateway products<br/><br/>risks: Could be that there are configs depending on old, wrong behaviour
problem: 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 7.00,08-70300 
      
      
=== H.323: EFC coding wrong ===
=== IP800 conference ===


{|
{|
Line 6,710: Line 6,756:
|-
|-
|Id
|Id
|[http://mantis.innovaphone.com/view.php?id=49199 49199]
|[http://mantis.innovaphone.com/view.php?id=49799 49799]
|}
|}
problem: Coding of EFC was wrong in early versions. This was fixed, but can be configured to the old (wrong) coding with config change H323 /fix 0, with config change H323 /fix 1 the fix can be turned on. Without the /fix option the default should be fixed, was was not.<br/><br/>solution: /fix default set to 1<br/><br/>files: h323sig.cpp<br/><br/>products: all<br/><br/>risks: Compatibility with mixed versions
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: After CFNR from Waiting with end of first announcement no MOH during call proceeding/alerting ===
=== IP302/IP305: PCM connected channels disconnect other channels media ===


{|
{|
|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=49459 49459]
|[http://mantis.innovaphone.com/view.php?id=49880 49880]
|}
|}
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: 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  
      
      
=== One-way-voice after unpark/pickup together with SRTP, H323 and Registration with password ===
=== One-way-voice after unpark/pickup together with SRTP, H323 and Registration with password ===
Line 6,758: Line 6,804:
problem: A special fix was done for the problem that a exec needs to see if a call ringing at the secretary, is a call which is actually directed to the exec or if the secretary was called directly. Group Indication for calls diverted by the user sent to the user are sent as if the call was ringing at the user. This causes problems, because the Group Indications do not wor as expected.<br/><br/>solution: Do this fix for exec only. In 8.00 this is fixed in a better way (diverting info added to group indication)<br/><br/>files: pbx_gi.cpp<br/><br/>products: all with PBX<br/><br/>risks: None
problem: A special fix was done for the problem that a exec needs to see if a call ringing at the secretary, is a call which is actually directed to the exec or if the secretary was called directly. Group Indication for calls diverted by the user sent to the user are sent as if the call was ringing at the user. This causes problems, because the Group Indications do not wor as expected.<br/><br/>solution: Do this fix for exec only. In 8.00 this is fixed in a better way (diverting info added to group indication)<br/><br/>files: pbx_gi.cpp<br/><br/>products: all with PBX<br/><br/>risks: None
      
      
=== IP800 conference ===
=== GUI: Registration indicator not aligned ===


{|
{|
Line 6,765: Line 6,811:
|-
|-
|Id
|Id
|[http://mantis.innovaphone.com/view.php?id=49799 49799]
|[http://mantis.innovaphone.com/view.php?id=50074 50074]
|}
|}
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: 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.  
      
      
=== IP-DECT hanging calls ===
=== Gateway sends calls to wrong registered SIP endpoint ===


{|
{|
Line 6,776: Line 6,822:
|-
|-
|Id
|Id
|[http://mantis.innovaphone.com/view.php?id=50387 50387]
|[http://mantis.innovaphone.com/view.php?id=50103 50103]
|}
|}
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: 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.
      
      
=== IP302/IP305: PCM connected channels disconnect other channels media ===
=== AD Replicator, Searches to Global Catalog Server weren't possible ===


{|
{|
|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=49880 49880]
|[http://mantis.innovaphone.com/view.php?id=50130 50130]
|}
|}
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
Description \tproblem: 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
      
      
=== headset mode must be kept when a knocking call is accepted via operator while a disconnected call is pending ===
=== fat32 check disc trap ===


{|
{|
Line 6,798: Line 6,844:
|-
|-
|Id
|Id
|[http://mantis.innovaphone.com/view.php?id=49797 49797]
|[http://mantis.innovaphone.com/view.php?id=50202 50202]
|}
|}
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: 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
''Status:''
checked in to 7.00,08-70300 
      
      
=== Wrong calling party info on CTI initiated calls from a phone to a Trunk Object with 'Set Calling=Diverting No' checked ===
=== SIP: Expires parameter not always decoded from REGISTER response ===


{|
{|
Line 6,811: Line 6,855:
|-
|-
|Id
|Id
|[http://mantis.innovaphone.com/view.php?id=50304 50304]
|[http://mantis.innovaphone.com/view.php?id=50211 50211]
|}
|}
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: If the registrar added a display name to the client's Contact-URI the assigned expires value was not decoded.<br/><br/>Solution: Ignore display name in Contact-URI of REGISTER response.<br/> <br/>Files: sip.cpp<br/><br/>Products affected: All SIP endpoints<br/><br/>Risk: No risk.
''Status:''
Additional Information \tchecked in to 7.00,08-70300
      
      
=== AD Replicator, Searches to Global Catalog Server weren't possible ===
=== Wrong calling party info on CTI initiated calls from a phone to a Trunk Object with 'Set Calling=Diverting No' checked ===


{|
{|
Line 6,824: Line 6,866:
|-
|-
|Id
|Id
|[http://mantis.innovaphone.com/view.php?id=50130 50130]
|[http://mantis.innovaphone.com/view.php?id=50304 50304]
|}
|}
Description \tproblem: 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: 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:''
Additional Information \tchecked in to 7.00,08-70300
      
      
=== GUI: Registration indicator not aligned ===
=== IP-DECT hanging calls ===


{|
{|
Line 6,835: Line 6,879:
|-
|-
|Id
|Id
|[http://mantis.innovaphone.com/view.php?id=50074 50074]
|[http://mantis.innovaphone.com/view.php?id=50387 50387]
|}
|}
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: 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.
   
== Bug Fixes ==
 
 
   
= V7 Hotfix15 =
Changes included in Version 7 hotfix15
[http://mantis.innovaphone.com/view.php?id=50629 Definition]
 
== New Features ==
 
 
      
      
=== SIP: Not accepting calls from alternative proxy ===
=== INCA phones - monitoring a headset conversation via handset (headset-spy) did not work ===


{|
{|
Line 6,846: Line 6,902:
|-
|-
|Id
|Id
|[http://mantis.innovaphone.com/view.php?id=49281 49281]
|[http://mantis.innovaphone.com/view.php?id=50672 50672]
|}
|}
Problem: When being registered at a proxy with 2 ip addresses the gateway does not accept calls from the alternative ip address.<br/><br/>Solution: Accept calls from both ip addresses learned by DNS.<br/><br/>Files: siptrans.cpp<br/><br/>Products affected: SIP devices<br/><br/>Risk: No risk.
problem: the /headset-spy option was skipped because of a bug in the driver option handler<br/> <br/>solution: fix in code<br/> <br/>files: inca_dsp.cpp<br/><br/>products: all phones<br/><br/>risks: None<br/>
''Status:''
checked in to 7.00,08-70300
      
      
=== SIP: 180/Ringing was not re-transmitted ===
=== in  any phone recording mode the recorder gets number and/or h323id of the  currently connected remote party ===


{|
{|
Line 6,857: Line 6,915:
|-
|-
|Id
|Id
|[http://mantis.innovaphone.com/view.php?id=49413 49413]
|[http://mantis.innovaphone.com/view.php?id=50823 50823]
|}
|}
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: 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 7.00, 08-70300
      
      
=== Gateway sends calls to wrong registered SIP endpoint ===
=== Progress Indicator 'Call not end to end ISDN' sent with each H.323 alert ===


{|
{|
Line 6,868: Line 6,928:
|-
|-
|Id
|Id
|[http://mantis.innovaphone.com/view.php?id=50103 50103]
|[http://mantis.innovaphone.com/view.php?id=50944 50944]
|}
|}
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: 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
      
      
=== SIP: Expires parameter not always decoded from REGISTER response ===
=== wrong calculations causing check disc to damage data ===


{|
{|
Line 6,879: Line 6,939:
|-
|-
|Id
|Id
|[http://mantis.innovaphone.com/view.php?id=50211 50211]
|[http://mantis.innovaphone.com/view.php?id=51304 51304]
|}
|}
Problem: If the registrar added a display name to the client's Contact-URI the assigned expires value was not decoded.<br/><br/>Solution: Ignore display name in Contact-URI of REGISTER response.<br/> <br/>Files: sip.cpp<br/><br/>Products affected: All SIP endpoints<br/><br/>Risk: No risk.
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
      
      
== Bug Fixes ==
=== v7:Qsig: leg1Info sent with ALERT msg, instead of in FACILITY msg ===
 
 
   
= V7 Hotfix15 =
Changes included in Version 7 hotfix15
[http://mantis.innovaphone.com/view.php?id=50629 Definition]
 
== New Features ==
 
 
   
=== wrong calculations causing check disc to damage data ===


{|
{|
Line 6,902: Line 6,950:
|-
|-
|Id
|Id
|[http://mantis.innovaphone.com/view.php?id=51304 51304]
|[http://mantis.innovaphone.com/view.php?id=51346 51346]
|}
|}
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: Siemens ACWin got confused after upgrade v6->v7. Qsig mandates to send the leg1Information within a FACILITY message (while H.323 does also allow for an ALERT to carry the leg1). <br/><br/>Solution: Detect and treat this case accordingly within the relay/gateway.<br/><br/>Files: relay.cpp<br/><br/>Risk: none<br/>
      
      
=== Possible trap when removing a cf card without previous unmount ===
=== Phone: Local coder config was not used on outgoing phone calls ===


{|
{|
Line 6,913: Line 6,961:
|-
|-
|Id
|Id
|[http://mantis.innovaphone.com/view.php?id=51704 51704]
|[http://mantis.innovaphone.com/view.php?id=51352 51352]
|}
|}
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: 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-CDR: Local Time wrong (same as UTC) ===
=== PBX-CDR: Local Time wrong (same as UTC) ===
Line 6,928: Line 6,976:
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: 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
      
      
=== no RTP-DTMF after rerouting ===
=== IP-DECT wrong forward of internal information event ===


{|
{|
Line 6,935: Line 6,983:
|-
|-
|Id
|Id
|[http://mantis.innovaphone.com/view.php?id=51432 51432]
|[http://mantis.innovaphone.com/view.php?id=51417 51417]
|}
|}
problem: If rerouting happened from one media endpoint to another, for example if a TONE interface is used for a dialtone after one digit dialed there is a rerouting to another interface, RTP-DTMF does not work.<br/><br/>solution: Media renegotiation fixed for this case<br/><br/>files: ac_dsp.h, ac_dsp2.h, ac_dsp3.h<br/><br/>risks: none
problem: A 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.
      
      
=== Trap if some but not all interfaces of a given type are unlicensed ===
=== no RTP-DTMF after rerouting ===


{|
{|
Line 6,946: Line 6,994:
|-
|-
|Id
|Id
|[http://mantis.innovaphone.com/view.php?id=51772 51772]
|[http://mantis.innovaphone.com/view.php?id=51432 51432]
|}
|}
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 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
      
      
=== PBX: SOAP initiated calls were sent with CT-SETUP ===
=== v7: Trace output added to track down cause of "alloc-size" traps ===


{|
{|
Line 6,957: Line 7,005:
|-
|-
|Id
|Id
|[http://mantis.innovaphone.com/view.php?id=51965 51965]
|[http://mantis.innovaphone.com/view.php?id=51446 51446]
|}
|}
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: Traps happen within the flash directory due to a memory allocation request greater than the maximum grantable size. <br/><br/>Solution: More information is needed. Added error-trace output.<br/><br/>Files: flashdir.cpp<br/><br/>Risk: none
      
      
=== PBX: Successive diversion activate/deactivate and dynamic group status sometimes failed ===
=== IP-DECT trap during call release and information message ===


{|
{|
Line 6,968: Line 7,016:
|-
|-
|Id
|Id
|[http://mantis.innovaphone.com/view.php?id=52038 52038]
|[http://mantis.innovaphone.com/view.php?id=51584 51584]
|}
|}
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: 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.
      
      
=== PBX potential trap in case of collision of disconnect with intrusion and other operations changing media peer ===
=== IP-DECT configuration option 'Redirection with GK ID' ===


{|
{|
Line 6,979: Line 7,027:
|-
|-
|Id
|Id
|[http://mantis.innovaphone.com/view.php?id=52070 52070]
|[http://mantis.innovaphone.com/view.php?id=51619 51619]
|}
|}
problem: If a call is attempted to intrude right when this call is being disconnected at NULL pointer access could happen<br/><br/>solution: Check if call is still active when before execute intrude<br/><br/>files: pbx.cpp<br/><br/>products: all with PBX<br/><br/>risks: none
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.
   
=== Progress Indicator 'Call not end to end ISDN' sent with each H.323 alert ===
 
{|
|Status
|<font><font color="green">Closed</font></font>
|-
|Id
|[http://mantis.innovaphone.com/view.php?id=50944 50944]
|}
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
      
      
=== One way media after SRTP renegotiation on IP6000 ===
=== One way media after SRTP renegotiation on IP6000 ===
Line 7,016: Line 7,053:
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/>
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/>
      
      
=== IP-DECT wrong forward of internal information event ===
=== Possible trap when removing a cf card without previous unmount ===


{|
{|
Line 7,023: Line 7,060:
|-
|-
|Id
|Id
|[http://mantis.innovaphone.com/view.php?id=51417 51417]
|[http://mantis.innovaphone.com/view.php?id=51704 51704]
|}
|}
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: 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  
      
      
=== IP-DECT trap during call release and information message ===
=== Trap if some but not all interfaces of a given type are unlicensed ===


{|
{|
Line 7,034: Line 7,071:
|-
|-
|Id
|Id
|[http://mantis.innovaphone.com/view.php?id=51584 51584]
|[http://mantis.innovaphone.com/view.php?id=51772 51772]
|}
|}
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: 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
      
      
=== IP-DECT configuration option 'Redirection with GK ID' ===
=== PBX: SOAP initiated calls were sent with CT-SETUP ===


{|
{|
Line 7,045: Line 7,082:
|-
|-
|Id
|Id
|[http://mantis.innovaphone.com/view.php?id=51619 51619]
|[http://mantis.innovaphone.com/view.php?id=51965 51965]
|}
|}
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 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
      
      
=== INCA phones - monitoring a headset conversation via handset (headset-spy) did not work ===
=== PBX: Successive diversion activate/deactivate and dynamic group status sometimes failed ===


{|
{|
Line 7,056: Line 7,093:
|-
|-
|Id
|Id
|[http://mantis.innovaphone.com/view.php?id=50672 50672]
|[http://mantis.innovaphone.com/view.php?id=52038 52038]
|}
|}
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 diversion activate/deactivate from an endpoint arrived before the last was written to flashdir, update was performed based on information in dram not information being written into flash<br/><br/>solution: Update information in dram before writing to flashdir<br/><br/>files: pbx.cpp, pbx.h, pbx_api.h, pbx_dtmf.cpp<br/><br/>products: all with PBX<br/><br/>risks: Collateral damage with diversion/dynamic group updates
''Status:''
checked in to 7.00,08-70300
      
      
=== in  any phone recording mode the recorder gets number and/or h323id of the  currently connected remote party ===
=== SIP: Missing dialog-info for calls without or zero-length CGPN ===


{|
{|
Line 7,069: Line 7,104:
|-
|-
|Id
|Id
|[http://mantis.innovaphone.com/view.php?id=50823 50823]
|[http://mantis.innovaphone.com/view.php?id=52060 52060]
|}
|}
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: No dialog-info was sent for calls without or zero-length CGPN.<br/><br/>Solution: Use calling party's name if no CGPN is available.<br/><br/>Files: sip.cpp<br/><br/>Products affected: All PBX's serving SIP phones<br/><br/>Risk: No risk.
''Status:''
checked in to 7.00, 08-70300
      
      
=== v7:Qsig: leg1Info sent with ALERT msg, instead of in FACILITY msg ===
=== PBX potential trap in case of collision of disconnect with intrusion and other operations changing media peer ===


{|
{|
Line 7,082: Line 7,115:
|-
|-
|Id
|Id
|[http://mantis.innovaphone.com/view.php?id=51346 51346]
|[http://mantis.innovaphone.com/view.php?id=52070 52070]
|}
|}
Problem: Siemens ACWin got confused after upgrade v6->v7. Qsig mandates to send the leg1Information within a FACILITY message (while H.323 does also allow for an ALERT to carry the leg1). <br/><br/>Solution: Detect and treat this case accordingly within the relay/gateway.<br/><br/>Files: relay.cpp<br/><br/>Risk: none<br/>
problem: If a call is attempted to intrude right when this call is being disconnected at NULL pointer access could happen<br/><br/>solution: Check if call is still active when before execute intrude<br/><br/>files: pbx.cpp<br/><br/>products: all with PBX<br/><br/>risks: none
   
=== v7: Trace output added to track down cause of "alloc-size" traps ===
 
{|
|Status
|<font><font color="green">Closed</font></font>
|-
|Id
|[http://mantis.innovaphone.com/view.php?id=51446 51446]
|}
Problem: Traps happen within the flash directory due to a memory allocation request greater than the maximum grantable size. <br/><br/>Solution: More information is needed. Added error-trace output.<br/><br/>Files: flashdir.cpp<br/><br/>Risk: none
   
=== Phone: Local coder config was not used on outgoing phone calls ===
 
{|
|Status
|<font><font color="green">Closed</font></font>
|-
|Id
|[http://mantis.innovaphone.com/view.php?id=51352 51352]
|}
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.
   
=== SIP: Missing dialog-info for calls without or zero-length CGPN ===
 
{|
|Status
|<font><font color="green">Closed</font></font>
|-
|Id
|[http://mantis.innovaphone.com/view.php?id=52060 52060]
|}
Problem: No dialog-info was sent for calls without or zero-length CGPN.<br/><br/>Solution: Use calling party's name if no CGPN is available.<br/><br/>Files: sip.cpp<br/><br/>Products affected: All PBX's serving SIP phones<br/><br/>Risk: No risk.
      
      
=== SIP: SRTP key changes right after connect ===
=== SIP: SRTP key changes right after connect ===

Revision as of 09:19, 2 June 2010

This is the Version 7 firmware roadmap.

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


08/45 V7 Release

Appart many small improvements the following key features are added to the products with v7

- Security: TLS, SIPS, SRTP, ...
- Bootcode with full IP/HTTP functionality to better recover from a failed firmware update
Definition

New Features

CDR from PBX

Status Closed
Id 1304

The PBX should generate CDRs for calls (internal/external). The CDRs are sent using the normal mechanisms with the CDR0 and CDR1 interface. A new format for these CDRs is used based on XML. Status: Implemented in the 7.00 software branch.
See http://wiki.innovaphone.com/index.php?title=Reference:Call_Detail_Record_CDR_PBX for description

MultiLevel Admin Access

Status Closed
Id 3624

On a Box Level multiple admin accounts can be configured. These accounts can be either Administrators (as before) or Viewers (view config, no change).

On the PBX configured PBX users can be given Administrator rights:
- PBX Full Admin.
- PBX Admin all-objects (no General/Password/Filter)
- PBX Admin non-critial objects. Only objects without critical flag
- Call-Forward/Groups only

In Addition the admin can be restricted to a Node

SRTP - together with SIP and H.323

Status Closed
Id 4280

works with secure signaling for key exchange

Handling of certificates

Status Closed
Id 14920

ASN.1 definition, etc.
Needed for TLS

802.1x Port Authentication

Status Closed
Id 14926

Research needed how this can work on a phone with a PC connected at the second port Status: EAP-MD5, as tested with Foundry FastIron 4802

Bootcode with Full IP/HTTP functionality

Status Closed
Id 14934

- Bootcode with Decompression/Start of Firmware only
- mini Firmware with IP/HTTP only
- both packed into one image that is called bootcode
- bootboot code enhanced to allow reading firmware from not continous flash segments
- the bootboot code usually starts the normal firmware. If this fails the mini firmware, which is part of the bootcode image is started
- on platforms with HW support for alternate bootcode, the bootboot code is stored twice
- a bootcode update is only possible if the real firmware was booted
- a real firmware update is possible only if the mini firmware inside the bootcode is ok
- Bootcode with Decompression/Start of Firmware ( realbootcode ) is stored exclusiv in the first flash segment and is only updated if changed.

LDAP/HTTP Directory Access from DECT Handset

Status Closed
Id 15436

A pbx object can be configured to gain access to a ldap directory (or to a http server).
There are two different objects, one for quick dial and one for directory search.

* quick dial (mst): the real number of the target can be found by dialing a short number after dialing the quick dial pbx object.

* ldap/http directory: the combination of all letters of the first three digits of the dialed number after the object number represents the ldap/http filter (e.g. dialing 222 can be AAA,AAB,AAC,ABA,ABC...).
The results can be searched through by 1 and * and the current result can be called by #.

If possible, the last dialed number can be redialed.

SIPS (SIP over TCP/TLS)

Status Closed
Id 22336

needed for secure exchange of SRTP keys.
needed for OCS interoperability

PBX Slaves can use licenses from Master (floating license)

Status Closed
Id 26945

Basic+registrations licenses are installed on master only. Slaves use these licenses. Status: implemented in v7.

See
http://wiki.innovaphone.com/index.php?title=Reference:Administration/PBX/General
and
http://wiki.innovaphone.com/index.php?title=Reference:Licenses
for description

innovaphone Messaging

Status Closed
Id 26946

innovaphone V7 Messaging

- based on SIP Messaging RFC 3428 (Session Initiation Protocol (SIP) Extension for Instant Messaging)
- Interoperability with H.323 protocol
- Alerting or inbound-intruding tone upon message receival
- Missed messages counter
- Incoming and outgoing messages displayed in the same list as incoming and outgoing calls (well known R and Redial keys as shortcuts)
- Separate message lists also available
- On busy subscriber, send message shortcut in context menu
- Out of office do-not-disturb mode with out-of-office message being sent to each caller
- special "Messaging Server Interface" mode developed to support Avics messaging syntax (special message content activates Avics mode)

Active Directory Replication

Status Closed
Id 29001

Active Directory Replication

Wiki Documents:
Configuration: http://wiki.innovaphone.com/index.php?title=Reference7:Configure_Active_Directory_Replication

Development: http://wiki.innovaphone.com/index.php?title=Development:Active_Directory_Replication Status: Configuration: http://wiki.innovaphone.com/index.php?title=Reference7:Configure_Active_Directory_Replication

Upload firmware to DRAM

Status Closed
Id 29009

This allows testing of a new firmware without flashing the firmeware. Its faster and it allows easy recovery from a bad firmware with a simple reset

Download firmware and bootcode

Status Closed
Id 29010

This allows to archive a firmware or bootcode version from the device.

Support for Multilocation TAPI in PBX-SOAP-API

Status Closed
Id 31655

- Find other Location URLs
- ...

pbx dtmf feature codes object

Status Closed
Id 31663

A new pbx object with dtmf feature codes:

CFU/CFB/CFNR De-/Activate
Pickup Group/Directed
Park/Unpark
Park To/Unpark from
Call Completion/Cancel CC

Each feature code can be freely configured or disabled.

Other new Features

31624 dde redial for directory search
25470 dde caching of dir_entries for better file driver performance
14918 gd H.235 key exchange for SRTP
19034 gd busy on 1 call is not ideal for operating fixed+wireless phone on one user
21420 gd SOAP API: Send DTMF
18708 gd Feature Code support for CLIR
23985 gd should be possible to turn off DTMF detection
19967 jfr Use MWI to indicate a pending CCNR
23977 mst SNMP Trap for Alarms under Administration/Diagnostics/Alarms
31583 tac Do CPU reservation for SRTP
28981 teh Extend pbx dtmf object about joining group
26931 gd Framework to edit Phone config on PBX
31287 vsi Phone Text Translations for Security Release - Italian
31289 vsi Phone Text Translations for Security Release - Dutch
31577 vsi phone-ui: functaste activate-reg (toggle flag)
14924 cb HTTPS in httpclient
14913 cb Driver for Hardware AES for SRTP
14915 cb IP6000 Driver for Hardware DES
28071 ckl force media-relay
14893 gd SIP fault detection
26988 cb Fax with 14.4
3753 ckl timed disconnect für PPoE
7208 ckl twin calls
11376 ckl help url config: drop down "standard / local / specific"
10821 cmu Signalisierung für Türsprechstellen am a/b Interface abschaltbar machen
8217 gbe Rufannahme per IXI bei Telefon mit Headset ohne Tastendruck am Telefon
14914 msc Software DES
26369 mst vm,xml, <pbx-xfer> required
14917 tac SIP key exchange for SRTP
31252 vsi Phone Text Translations for Security Release
31286 vsi Phone Text Translations for Security Release - Scandic Languages
31288 vsi Phone Text Translations for Security Release - French
9390 cb httpclient NTLM Authentication
14907 gd Router error reporting
14908 gd Router fault state reporting
25592 gd DHCP Server: Client Reconfigure Prozedur
5984 jfr MS-CHAP V2 support in PPP
14899 gd IP-DECT fault state reporting
14900 gd IP-DECT error reporting


Bug Fixes

Other Bug Fixes

34654 mst HTTPS neither works with Webmedia nor WebDAV
27480 vsi IP72: icons in the upper line
30890 vsi Messaging Tests
15101 vsi IP72: battery state
30891 vsi lock (schloss) in phone-ui on SRTP
27219 vsi IP72: bootcode - clear config with a key press combination......
15100 vsi IP72: charger mode
35499 dde dect fty clir next call does not work
29300 jfr HTTP_MAX_REQUEST 8000 aber URI Länge auf 2000 begrenzt, historisch?


V7 Hotfix 1 (08-70300.06)

Changes included in Version 7 Hotfix2 Definition

New Features

IP72: new display driver for LCD NT75451

Status Closed
Id 33028

Problem: newer phones require another lcd driver

Solution: fixed in code

Products affected: IP72

Risk: None

Trap During TLS Connection Termination

Status Closed
Id 35603

Problem: Occasional trap while TLS client connection shuts down.

Solution: Fixing state machine

Products affected: All

Risk: none

CFU to Voicemail/Redial

Status Closed
Id 35634

problem: If you dial a local user and gets his voicemail by CFU, then if you try to redial the number by pressing the redial bottom, the Voicemail name will appear in the display, but it is the correct local number that is dialed.
We are running an IP6000 SR2 Hotfix 9 with Innovaphone voicemail.

solution: send divertingLegInformation1 to caller

products: All PBX products

risk: none

Dect SIP registration to PBX with authentication name

Status Closed
Id 35680

Problem: Authentication name of the Dect user is not used for SIP registration if 'Name for Authentication' option is enabled.

Solution: If authentication name is set for the user, it is used for SIP registration independent of the 'Name for Authentication' option.

Files: dectmaster.cpp.

Products affected: All Dect devices.

Risk: Minimal.

SOAP LocationUrl return value coding

Status Closed
Id 35686

Problem: the PBX returns the url in a <loc> tag while it should be a <return> tag according to the WSDL.

Solutions: fix coding or change wsdl.
Files affected: pbx/xml/pbx_xml.cpp
Risk: near to zero. .Net based SOAP clients do not care anyway, stricter implementations have not worked at all before.

SIP debug output to be removed

Status Closed
Id 35739

Problem: Debug outputs forgotten in SIP stack
Solution: Debug outputs removed
Products affected: All
Risk: None

"Administration/Diagnostics/Events/Save" should be enabled in viewer mode

Status Closed
Id 35742

Problem: The "Administration/Diagnostics/Events/Save" link is disabled in Viewer mode while "Administration/Diagnostics/Config Show" and other links creating textfiles with support info are not.

Solution: enable the "Save" link in xsl file

Products affected: All

Risk: None

Fix for Session-Expires handling

Status Closed
Id 35749

Problem: Some SIP endpoints send reINVITE w/o Session-Expires header
on calls established with session refresh. The SIP stack released the call in this case. This prevented interoperation with such SIP equipment

Solution: Restart the timer with the original expires value.

Products affected: All

Risk: Minimal Status: Fix: Session watchdog timer is restarted with original expires value.

Debugging Info for MAX_BUSY_TICKS improved

Status Closed
Id 35752

Problem: After a trap with MAX_BUSY_TICKS it was not possible to see which event caused the problem

Solution: Debug Information added

Products affected: All

Risk: None, code only executed on a trap

Display Master Id in users list

Status Closed
Id 35753

Problem: Master Id is unknown by the user administrators.

Solution: Display the Master ID in the create/edit users view (Users->Users), because the user administrators must know the Master Id to be able to log in handsets.

Products affected: IP1201, IP4001

Risk: Minimal

Potential Trap if H.323 Signaling entity deleted when calls active

Status Closed
Id 35754

Problem: If a H.323 signaling entity (IP-DECT User, Gateway GW definition, ...) was deleted while a call was active a trap could happen

Solution: Wait with cleanup until all calls are cleared

Products affected: All

Risk: Minimal, very isolated fix

Refresh rate of call list gui pages

Status Closed
Id 35755

Problem: Refresh rate too fast to scroll to the end of the following lists: Master calls, Radio calls and Handover calls.

Solution: Refreshing removed.

Products affected: All Dect devices.

Risk: Minimal.

Short local tone

Status Closed
Id 35757

Problem: A short local tone is generated before the external tone appears.

Solution: Set in-band-flag in Dect Master.

Products affected: IP1201, IP4001.

Risk: Minimal.

Load balancing for trunks

Status Closed
Id 35761

Problem: Location registrations don't use load balancing between trunks.
Problems appear with outgoing calls via trunks without location registrations.

Solution: Load balancing for location registrations added.
Make a location registration before every outgoing call.

Products affected: IP1201, IP4001

Risk: Minimal.

Idle display updates if masters are down

Status Closed
Id 35770

Problem: No idle display update if the connection to masters fails.

Solution: Idle display update added.

Products affected: IP1201, IP4001.

Risk: Minimal.

Forwarded Name Id sometimes corrupted

Status Closed
Id 35775

Problem: Sometimes to Name Id, which is forwarded (e.g. Name Id forwarded on DECT Master to Radio, or Name Id forwarded in PBX) strange characters are added. strcopy was used instead of memcpy. Name still transmitted on H.450 null-terminated for compatibility

Solution: Use correct method for copy. Don't add null-character in H.450.

Products affected: All products with IP-DECT or PBX

Risk: Minimal, very isolated fix

IP22 running out of sync

Status Closed
Id 35791

Problem: IP22 initial value for internal PLL set wrong.

Solution: Initial value must be set correctly.

Products affected: ip22

Risk: Minimal, very small change

switching between primary and secondary DNS on request timeout fails sometimes in NAT

Status Closed
Id 35805

Problem: NATted DNS requests waiting for response are kept in a list which is checked in regular intervals for timed out requests. Each timed out request is removed from list and the dns_primary flag is toggled. Thus for an even number of timed out requests the dns_primary flag keeps it's original value.

Solution: toggle the dns_primary flag only once

Products affected: All

Risk: Minimal

Memory leak in Dect

Status Closed
Id 35819

Problem: Memory leak in Dect.

Solution: Call clean up function.

Products affected: IP1200.

Risk: Minimal.

Undeleted calls from anonymous handsets.

Status Closed
Id 35820

Problem: Calls from anonymous handsets aren't deleted. Channel information is also not deleted.

Solution: Deleting corrected.

Products affected: All Dect devices.

Risk: Minimal.

Undeleted call facility object

Status Closed
Id 35821

Problem: Call facility object isn't deleted if user is unregistered to PBX.

Solution: Deleting corrected.

Products affected: All Dect devices.

Risk: Minimal.

fix for ringback after taking incoming call completion response/ renaming call completion to call completion busy

Status Closed
Id 35829

problem: If a user dials the call completion feature code, gets the call completion response call and answers it, so that the other side is ringing, no ringback tone was heard.
Additionally, as call completion no response is currently not possible, I would rename call completion to call completion busy.

fix: api_remote_hold on connector after SIG_ALERT

products affected: all pbx devices

risk: minimal

IP-DECT Sporadic Hanging Radio Calls

Status Closed
Id 35830

Problem: It could happen under special call clearing timing conditions that Radio calls remained in the User interface. The affected endpoints could still be called.

Solution: Improve call clearing to avoid this.

Products affected: All IP-DECT products

Risk: Minimal, very isolated fix.

No Media doing call from IP-DECT to slowstart destination which answers with CONN and Suppl. Services are enabled

Status Closed
Id 35835

Problem: Media negotiation result was not forwarded to the radio if CONN was first response to the call.

Solution: Forward media negotiation result

Products affected: All IP-DECT

Risk: None

provide OEM specific DHCP Vendor Class Identifier

Status Closed
Id 35838

Problem: in OEM specific network enviromments it may be necessary to use an OEM specific 'Vendor Class Identifier' in DHCP discover/offer messages.

Solution: 'product_info::vendor_class_identifier' defines the OEM spceific value, kernel::vendor_class_identifier() provides it.

Products affected: All

Risk: Minimal

Unusual memory leaks after closed calls

Status Closed
Id 35839

Problem: Unusual memory leaks after closed calls.

Solution: Call clean-up function for unused events.

Products affected: All devices.

Risk: Minimal.

join/leave pbx dtmf feature should show all dynamic groups, independent of their current state

Status Closed
Id 35846

problem: currently, a user, who dials the join code, just gets his groups with dynamic out state. If he has no such group, his call will be rejected.
This might let the user think, that the dtmf object is buggy.

fix: just show all dynamic in/out groups for leave/join. If a user joins a group, where he is already in, nothing will happen and the user gets his \taffirmation tone.

products affected: all pbx devices

risk: minimal

New cause code mapping specification

Status Closed
Id 35858

Problem: New cause code mapping specification.

Solution: Cause code mapping changed.

Products affected: IP1201, IP4001.

Risk: Minimal.

SIP specific call transfer handling as required by SIP provider ShoreTel

Status Closed
Id 35872

Problem: Currently the call initiating the transfer is released as soon as the replacement call enters alerting state and also in case of an early release of the replacement call.
In SIP (RFC-3515) the initiating call must not be released before the replacement call enters connected state. In case of an early release of the replacement call (transfer rejected) the initiating call must not be released but a transfer failure has to be reported.

Solution: SIP/H323 specific transfer handling in phonesig.cpp

Products affected: All INCA phones and IP72

Risk: Medium, needs to be retested with all SIP providers

RTP jitterbuffer did not work well for RTP out of sequence

Status Closed
Id 35880

Problem: Too many packets were dropped when many RTP packets where received out of sequence. In realy life this happens rarely, but it is done with OCS certification tests.

Solution: Jitter buffer fixed, to handle this better.

Products affected: All phones, all IP-DECT, IP800, IP6000

Files: medialib.h, media.cpp

Risk: Moderate. Quite a big change, but still isolated.

Prevent random INCA leak reports in test

Status Closed
Id 35882

Problem: Tests fail randomly because of a leak reported for the var LAN/LINK created by the inca MAC driver and polled in phone idle state any second

Solution: use vars notify mechanism instead of polling

Products affected: All INCA phones, IP72

Risk: None

Logging of calls in PBX cannot be turned off

Status Closed
Id 35913

problem: Call logging in PBX is always on. This can be a privacy problem.

solution: Call logging configurable

products: All products with PBX

files: pbx.cpp/h log.xsl

risk: Minmal. Call logging is now off by default, this could be a compatibility issue.

H.323 non-efc: User RoundTripDelayRequest as keep-alive

Status Closed
Id 35916

problem: For interoperability with some OEM equipment it is required to do the RoundTripDelayRequest keepalive

solution: Implement periodic RoundTripDelayRequest messages

files: h323ch.cpp/h

products: all

risks: Minimal (could be that there is H.323 equipment, which does not understand RoundTripDelayRequest, but very unlikely)

missing details in event log "no route to destination"

Status Closed
Id 35917

Problem: cause "unknown" is reported if a packet is directed to a specific interface but cannot be sent because the destination address requires a gateway and there is no gateway configured for this interface.

Solution: fix code

Products affected: All

Risk: None

Wrong display information on phone, if a call is forwarded to Waiting

Status Closed
Id 35925

problem: If a object is called which has a CFU set to a waiting queue, no information is sent back to the caller that a call-forward has happened, but a name-id from the waiting queue is sent. So the phone associates this name-id with the number dialed.

solution: Send diverting leg1 info in this case

files: pbx_wait.cpp

products: All products with PBX

risks: minimal. Isolated to forwarded calls to waiting.

croatian translation corrections

Status Closed
Id 35935


Problem: parts of croatian translation needed corrections

Solution: corrected

Products affected: All phones

Risk: None

Sending NOTIFY(sipfrag) with error code reflecting error on transfer call

Status Closed
Id 35938

problem: failed transfer call was not correctly indicated on original call

solution: sending of NOTIFY(sipfrag) with error code

products: All products

files: sip.cpp

risk: minmal

Trap if no PBX line in OEM specific state

Status Closed
Id 35942

Problem: Trap if no PBX line in OEM specific state.

Solution: PBX line check added.

Files: dectmaster.cpp

Products affected: IP1201, IP4001.

Risk: Minimal.

IP72: default backlight off

Status Closed
Id 35948


Problem: with factory defaults, backlight level set to 0 (disabled)

Solution: fixed code to activate backlight (level 9)

Products affected: IP72

Risk: None

IP72: fix default contrast settings for phones with hw-id F2

Status Closed
Id 35950

Problem: with factory defaults, LCD contrast may not be satisfying

Solution: added contrast adjust on phone ui (phone-settings menu)

Products affected: IP72

Risk: None

Waiting-Queue: No Disconnect-Tone to Caller if external Transfer Call failed

Status Closed
Id 35957

problem: failed external transfer call did not caused a disconnect tone to be played to the calling party

solution: do not kill the webmedia channel when the external transfer call is started

products: All PBX products

files: pbx_wait.cpp

risk: minmal

Phone Registration 1 SIP Interop Tweaks - checkmarks cannot be cleared

Status Closed
Id 35958

Problem: The checkmarks under "Configuration/Registration 1/Registration/SIP Interop Tweaks" can be set but not cleared via WEB interface.

Solution: fix evaluation of boolean options

Files: phonesig.cpp

Products affected: all INCA phones, IP72

Risk: None

Need to Support STATUS_INQ/STATUS procedure in H.323 for OEM

Status Closed
Id 36022

problem: For an OEM product we need the H.323 STATUS_INQ/STATUS procedure to supervice the link state

solution: STATUS_INQ/STATUS in H.323 stack implemented

files: signal.cpp, signal.h, h323sig.cpp, h323sig.h, h323_tbl.tbl

products: all

risk: Moderate, functionality only used in OEM product. Should not have any influence if not used

Need to set H.323 terminal_type for OEM

Status Closed
Id 36032

problem: For interop reasons the terminal-type must be set to 50 even for a VOIP_GW type interface

solution: terminal_type configurable

files: voip.h, h323sig.cpp, h323sig.h

products: all

risks: Minimal. Functionality not used in innovaphone products

Hold state indication not cleared on a call transfer requested via direct signalling

Status Closed
Id 36041

Problem: the call on which the transfer is requested is set on hold by remote party before. the hold state was not cleared after release of this call.

Solution: clear hold state when the replacement call is set up.

Products affected: All INCA phones and IP72

Files: phonesig.cpp, phonesig.h, forms_phone_impl.cpp (test support)

Risk: Low, direct signalling not used in innovaphone environment Status: Test with GnuGk provided by TAC in phone/transfer OK

Pickup from executive not possible, if the call was transfered to executive

Status Closed
Id 36061

problem: A secretary receives a call for the executive, initiates a consulation call to the executive and hangs up. In this situation the secretary cannot pickup the call from the executive again.

solution: Handle a transfer to the executive

files: pbx_exec.cpp, pbx_exec.h

products: all with PBX

risks: Minimal, very isolated fix

Make H.245 keepalive with RoundTripDelay messages configurable

Status Closed
Id 36067

problem: RoundTripDelay messages cause additional load, so it should be done only if required for interop reasons

solution: Make it configurable in the stack, so it can be turned on for OEMs

files: voip.h, h323.h, h323sig.cpp, h323ch.cpp

products: all

risks: None, in fact it reduces the risk of the change to put in the RoundTripDelay messages

Firmware stall with MAX_BUSY_TICKS and Watchdog

Status Closed
Id 36099

problem: Firmware produces unpredictable stalls which results from a permanent occuring interrupt from the si3241 chip. This interrupt is accidently enabled but never occured in the past.

solution: disable this interrupt

files: si3241.cpp

products: ip28

risks: minimal, very isolated fix

H.323 reuse TCP did not work for call-independetnt messages

Status Closed
Id 36102

problem: The reuse TCP option is required for OEM trunk interfaces not only for calls but also for call-independent messages. A new TCP socket was opened in this case for each message, which was never closed.

solution: Use existing TCP socket for these messages

files: h323sig.cpp

products: all

risks: Minimal, code only executed if reuse_tcp set, which happens only for special OEM cases

OEM specific trunk busy handling

Status Closed
Id 36103

Problem: New OEM specific trunk busy handling.

Solution: Handling changed.

Files: dectmaster.cpp, dectdisplay_if.h, dectdisplay.h (oem)

Products affected: IP1201, IP4001.

Risk: Minimal.

OEM specific pre-dial support

Status Closed
Id 36105

Problem: New OEM specific pre-dial support.

Solution: Pre-dial support for OEM added.

Files: dectmaster.cpp

Products affected: IP1201, IP4001.

Risk: Minimal.

OEM specific location handling during handover

Status Closed
Id 36107

Problem: New OEM specific location handling during handover.

Solution: OEM specific location handling changed.

Files: dectmaster.cpp, dectradio.h, dectradio.cpp.

Products affected: IP1201, IP4001.

Risk: Minimal.

OEM specific trunk redundancy feature

Status Closed
Id 36111

Problem: OEM specific trunk redundancy feature.

Solution: Feature implemented.

Files: dectmaster.h, dectmaster.cpp, dectmaster.xsl (oem).

Products affected: IP1201, IP4001.

Risk: Minimal.

OEM specific change of PBX registration configuration for coder selection

Status Closed
Id 36115

Problem: Coder is rejected (OEM specific).

Solution: Registration configuration changed.

Files: dectmaster.cpp.

Products affected: IP1201, IP4001.

Risk: Minimal.

Changed keep alive configuration for oem interoperability

Status Closed
Id 36118

Problem: Keep alive is required for OEM.

Solution: Keep alive is enabled for OEM.

Files: dectmaster.cpp.

Products affected: IP1201, IP4001.

Risk: Minimal. OEM specific.

OEM specific call status support

Status Closed
Id 36120

Problem: OEM specific call status support required.

Solution: Call status support implemented. OEM specific enabled.

Files: dectmaster.h, dectmaster.cpp.

Products affected: IP1201, IP4001.

Risk: Minimal. OEM specific.

Prevent high Dect-Master CPU load

Status Closed
Id 36121

Problem: CPU load in Dect Master device too high.

Solution: Reuse of radio-master TCP connection.

Files: dectmaster.cpp, dectradio.cpp.

Products affected: IP1200.

Risk: Minimal. Tested in previous version.

DSP channel of transfer initiating call lost when call is released by the party requesting the transfer

Status Closed
Id 36122

Problem: If the call on which the transfer is requested is released by the remote party before the replacement call reaches alerting/connected state the DSP channel assigned to the initiating call is not freed and lost until reboot. first seen in direct signalling tests but may happen with gk-routed signalling too.

Solution: free DSP channel.

Products affected: All INCA phones and IP72

Files: phonesig.cpp, phonesig.h

Risk: Low, very unlikely to happen in innovaphone environment

OEM specific unused feature codes

Status Closed
Id 36123

Problem: Unused feature codes.

Solution: Unused feature codes disabled.

Files: dectfty.xsl (oem), config.h (oem).

Products affected: IP1201, IP4001.

Risk: Minimal.

automagic URL filename expansion in update 'bmc' command wrong

Status Closed
Id 36124

Problem: the file name appended to the '/' terminated URL od a 'bmc' command is "ccfp1200" but not "ccfp1200.bin" as documented in wiki and used for the delivered file.

Solution: fix name in update.cpp, add note to wiki

Products affected: IP1200

Files: update.cpp

Risk: Low, most probably most customers did not use this feature

Dect MWI message center number configurable to user number

Status Closed
Id 36161

Problem: No possibility to configure a message center number with user number.

Solution: Implementation of this new feature: if MWI is enabled and no fix message number is configured the user's number is called as message center number.

Files: dectfty.h, dectfty.cpp, dectfty.xsl (oem), dtmffty.h, dtmffty.cpp.

Products affected: All Dect devices.

Risk: Minimal.

MWI not updated at PP power up

Status Closed
Id 36162

Problem: MWI not updated at PP power up.

Solution: Sending mwi state after receiving power up event.

Files: dect.h, dect.cpp (oem).

Products affected: IP1200.

Risk: Minimal.

OEM specific Dect ras connection up event

Status Closed
Id 36163

Problem: OEM specific Dect ras connection up event specification changed.

Solution: Ras connection up event handling changed.

Files: dectradio.h, dectradio.cpp.

Products affected: IP1201, IP4001.

Risk: Minimal.

OEM specific location state for disconnected radio connections

Status Closed
Id 36164

Problem: OEM specific location state for disconnected radio connections is not changed.

Solution: Implementation of location state handling changed.

Files: dectmaster.h, dectmaster.cpp.

Products affected: IP1201, IP4001.

Risk: Minimal.

OEM specific trunk configuration option

Status Closed
Id 36165

Problem: OEM specific trunk configuration option is not needed.

Solution: Option removed.

Files: dectmaster.h, dectmaster.cpp, dectmaster.xsl (oem).

Products affected: IP1201, IP4001.

Risk: Minimal.

Not possible to disable option "Allow DTMF through RTP"

Status Closed
Id 36196

Problem: Not possible to disable option "Allow DTMF through RTP".

Solution: Fixed.

Files: dectmaster.cpp, dectmaster.xsl (oem).

Products affected: IP1200.

Risk: Minimal.

IP800: Lost trace after trap to minifirmware and load to DRAM

Status Closed
Id 36197

Problem: Stack was initialized

Solution: Stack init removed

Files: ip800.cpp

Products affected: IP800

Message Waiting Indications from a PBX Message Waiting Object are not visible in a special workíng environment

Status Closed
Id 36201

Problem: To receive Message Waiting Indications for a certain number on from a PBX Message Waiting Object on multiple phones each phone uses a separate registration to this Object. A MWI received on a registration triggers only a MWI-key defined for this registration. Because the registration to the Message Waiting Object is not the active registration neither the global led nor the key led (if any) is triggered.

Solution: a 'global' flag is added to the MWI-key. If the flag is set a MWI matching this key is broadcasted to all registrations at the same PBX. Two MWI-keys need to be defined: one with the 'global' flag for the registration to the Message Waiting Object and one for the user registration.

Products affected: All INCA phones and IP72

Risk: Low, only applied if 'global' flag is set

An incoming transfer on a call which was initiator of a rejected transfer before did not work (direct signalling)

Status Closed
Id 36210

Problem: the call on which a transfer is requested is not restored to the correct signalling state after the transfer has been rejected. The new incoming transfer request is accepted but fails after setup of replacement call because of the wrong signalling state.

Solution: save signalling state before setup of replacement call and restore when replacement call fails.

Products affected: All INCA phones and IP72

Files: phonesig.cpp, phonesig.h

Risk: Minimal, direct signalling not used in innovaphone environment

Frequency band support for Brazil (Subset of South America)

Status Closed
Id 36216

Problem: Frequency band support for Brazil (Subset of South America).

Solution: New Dect Radio BMC firmware.

Files: New BMC firmware version PCS 05Ae, dect.h (oem), dect.cpp (oem), dect.xsl (oem).

Products affected: IP1200.

Risk: Normal.

Unclosed announcement calls in conference

Status Closed
Id 36219

Problem: Unclosed announcement calls in conference.

Solution: Fixed.

Files: pbx_bc_conf.cpp.

Products affected: All devices with PBX.

Risk: Minimal, only Broadcast Conference PBX Object.

XPARENT coder in selection list, but cannot be selected

Status Closed
Id 36230

problem: The XPARENT coder is used automatically and is not configurable, but is still shown in the list

solution: Remove XPARENT from list

files: channel.h

products: all

risk: none

Restart because of Trap in PBX together with transfer/pickup/call-intrusion and Waiting, Voicemail, MWI

Status Closed
Id 36235

problem: Under spedial rare conditions a restart could happen on transfer/pickup/call-intrusion together with calls to pseudo objects like Waiting, Voicemail or MWI, because of an invalid cast.

solution: Invalid cast fixed

files: pbx.cpp

products: All products with PBX

risks: Minimal

mapping of "600 Busy Everywhere" to cause #17 (User Busy)

Status Closed
Id 36238

Problem: "600 Busy Everywhere" is mapped to cause #21 (Call rejected)

Solution: Map to cause #17 (User Busy)

Files: sip.cpp

Products affected: All devices

Risk: No risk

Factory reset with V7 bootcode clears linear firmware

Status Closed
Id 36251

Problem: factory reset didnt check for linear firmware

Solution: check added

Files: flash_firmware.c

Products affected: ipxxx with V7 bootcode ( all except IP3000 and IP72 )

Risk: general bootcode update risk

Support for IP111

Status Closed
Id 36255

problem: lcd/forms support for upcoming phone model IP111

solution: changed code

files: lcd_ip111.cpp

products: all phone-inca phones

risks: none

No DISC signaling with INFO(application/qsig) if not supported by remote side

Status Closed
Id 36259

Problem: INFO(application/qsig) might not be supported; don't try if not supported

Solution: detection of 415/488 reject for INFO(application/qsig)

Files: sip.cpp

Products affected: All devices

Risk: Missing inband info, since call is released if disc cannot be signaled

URI parameter "epid" in AOR

Status Closed
Id 36260

Problem: Microsoft OCS rejects registration if no "epid" parameter is present

Solution: Adding "epid" parameter to AOR in From header in REGSTER,INVITE,SUBSCRIBE

Files: sip.cpp, sip.h

Products affected: All devices

Risk: Minimal, since unknown parameters are to be ignored (handled transparently) by specification

Avoid endless authentication re-trying

Status Closed
Id 36261

Problem: Endless authentication re-trying if the auth request does not contain a nonce (e.g. NTLM auth)

Solution: Don't take 'no nonce' as 'changed nonce'

Files: sip.cpp

Products affected: All devices

Risk: No risk

V7 Bootcode shows always 999 after firmware downgrade to V6

Status Closed
Id 36264

Problem: Bootcode version was defined in each startup file. That version number identifies only to the primary boot for V6 firmware.With V7 the bootcode version is part of the minifirmware.

Solution: global define for bootcode version number to 1000 added. Bootcode numbering from the build system would cause bootcode update more frequently than needed.

Files: boot.h startup_*.S

Products affected: ipxxx with V7 bootcode ( all except IP3000 and IP72 )

Risk: low

Memory leak when executing call-completion on IP-DECT

Status Closed
Id 36265

problem: When executing call-completion packets containing faststart elements are not deleted

solution: Free the packets

files: dtmffty.cpp

products: All IP-DECT

risks: Almost no risk

OEM specific disabling of the feature to change admin login

Status Closed
Id 36274

problem: For an OEM the feature to be able to change login caused undesirable behaviour with IE

solution: Disable the change login feature for OEM

files: command.cpp command.h

products: all, but change should change behaviour only for OEM products

risk: Only for OEM products

Fix for internal test module for Dect

Status Closed
Id 36283

Problem: Memory leak and trap in dummysig module.

Solution: Fixed.

Files: dummysig.h, dummysig.cpp.

Products affected: All Dect devices in test mode.

Risk: No risk; module only used for internal tests.

OEM specific GUI view

Status Closed
Id 36285

Problem: New OEM specific GUI.

Solution: Files changed.

Files: dect_edit_user.xsl (oem), dect_edit_users_right.xsl (oem).

Products affected: IP1201, IP4001.

Risk: No risk; oem specific, only GUI.

IP150 - Right hand part of OEM specific WEB interface is not displayed

Status Closed
Id 36312

Problem: An IP150 with OEM id 9 (FHF) does not display the right hand part WEB interface

Solution: add login-menu template to fxf.xsl (OEM replacement for inno.xsl)

Products affected: IP150

Files: fxf.xsl

Risk: None

Trap because of buffer overrun when logging a login reject

Status Closed
Id 36323

problem: If a login reject was logged, depending of the length of the user name a stack buffer was overrun, which could cause a trap

solution: fix buffer size

files: command.cpp

products: all

risks: none

SIPS missing in phone UI in protocol list

Status Closed
Id 36346

problem: SIPS missing in phone UI in protocol list

solution: fixed in code

files:

products: phone_inca, ip72

risks: none

Trap if too many licenses installed and slave obtains license from master

Status Closed
Id 36347

problem: If many licenses are installed on a master (e.g. all test licenses), the master traps as soon as a slave tries to read the licenses, because of buffer overrun.

solution: Increase buffer size, better check for buffer overrun.

files: inno_lic.cpp

products: All products with PBX

risks: No risk

Fix for trap in HTTP client

Status Closed
Id 36357

problem: trap in HTTP client (deleted packet to user)

solution: fixed in code

files: httpclient_i.cpp

products: all products

risks: no risk

mwi function key configuration in the phone-ui was not complete

Status Closed
Id 36360

problem: mwi function key configuration in the phone-ui was not complete

solution: fixed in code, added "global" and "append own number" flags

files:

products: phone_inca, ip72

risks: none

Clear all sockets if registration changes

Status Closed
Id 36361

problem: In case of the reuse_tcp option, old socket where used even if registration changed. Fallback from IP-DECT Standby to Master did not work because of that.

solution: cleanup all sockets if registration changes

files: h323.h h323sig.cpp

products: IP1200

risks: limited to IP1200

OEM specific registration handling if a trunk goes down

Status Closed
Id 36385

Problem: Reregistration is missed if a trunk goes down.

Solution: Reregistration of users registered to this trunk before added.

Files: dectmaster.h, dectmaster.cpp.

Products affected: IP4001, IP1201.

Risk: Minimal.

IP72: use production settings variable to det default contrast

Status Closed
Id 36386

problem: IP72: use production settings variable (if available) to det default contrast

solution: read vars1, set accordingly

files: lcd_ip22x.cpp

products: IP72

risks: none

PBX routing fails, because access to deleted buffer

Status Closed
Id 36429

problem: When doing call routing in the PBX in a very short interval the called party number is read from a already deleted buffer. If the buffer is recycled during this period the routing fails.

solution: Delete buffer after call routing

files: pbx.cpp

products: All with PBX

risks: Small risk of collateral damage doing call routing in PBX

Bug Fixes

V7 Hotfix 2 (09-70300.08)

Changes included in Version 7 Hotfix2 Definition

New Features

OEM specific registration handling if a trunk goes up

Status Closed
Id 36435

Problem: Reregistration of all users is missed if a trunk goes up.

Solution: Reregistration of users added.

Files: dectmaster.cpp.

Products affected: IP4001, IP1201.

Risk: Minimal.

R-key usage after handover in alerting state

Status Closed
Id 36465

Problem: R-key usage is not possible if handover was made during alerting state.

Solution: Radio call state set command added.

Files: dectradio.cpp.

Products affected: All dect devices.

Risk: Minimal.

OEM specific infinite loop because of invalid pointer

Status Closed
Id 36467

Problem: Infinite loop because of invalid pointer in endpoint location object.

Solution: Pointer update during endpoint update added.

Files: dectmaster.cpp.

Products affected: IP4001, IP1201.

Risk: Minimal.

SIP allocation limit is too low at 500kB

Status Closed
Id 36490

Problem: SIP allocation limit is too low at 500kB and should be platform dependend higher

Solution: Use the platform dependend limit

Files: sip.h, sip.cpp, siptrans.cpp

Products affected: All devices

Risk: Out of memory traps due to badly chosen platform dependend limit

PBX: Call Completion sometimes indicated call-back possible, even if called user still busy

Status Closed
Id 36587

problem: A call back possible was indicated if a connected call was cleared on the monitored user, even if this call was a call without media for supplementary services.

solution: For call completion check if disconnected call was with media

files: pbx.cpp

products: All products with PBX

risks: No known risks

SOAP/TAPI did not show connected for monitored operator of Waiting Queue

Status Closed
Id 36588

problem: If a user received a call as operator of a waiting queue, this call was indicated in SOAP/TAPI as alerting even if the user accepted the call.

solution: Fixed bug which prevented forwarding of SIG_CONN to SOAP under some special conditions

files: pbx.cpp

products: All products with PBX

risks: Since the change is at a quite central place, there could be a change in behaviour in other places as well.

SIP:TRANSIT calls are terminated if unknown coder has been negotiated

Status Closed
Id 36606

problem: SIP:TRANSIT calls are terminated if unknown coder has been negotiated

solution: Do not terminate these calls

files: sip.cpp

products: All products with PBX or GATEWAY

risks: Problems with re-negotiation later on

IP header of IGMP reports contains invalid Option field

Status Closed
Id 36607

Problem: The IP header option field of IGMP reports was badly initialized and did not contain the router alert option. routers or switches may ignore the reports because of the missing option. network maintenance tools may report an error for the wrong option field.

Solution: place router alert in ip_data[0-3], not behind it :-(

Products affected: all products

Files: ipproc.cpp

Risk: None

Trap when changing H.323 tracing while H.323 calls are up

Status Closed
Id 36610

problem: When the tracing of the H.323 was changed while a call was up, a restart happened the next time a message was received for this call.

solution: Bug fixed, which caused writing into the wrong object

files: h323sig.cpp

products: all

risks: None

Bad URI parameter "epid=(NULL)" in INVITE

Status Closed
Id 36611

problem: Bad URI parameter "epid=(NULL)" in INVITE

solution: no epid parameter when interface is not registered

files: sip.cpp

products: All products with PBX or GATEWAY

risks: no risk

Obtain license from master did not work on standby PBX

Status Closed
Id 36624

problem: If a PBX7#0 license was used on a standby to obtain licenses from master, the standby crashed

solution: Bug fixed to avoid crash

files: pbx.cpp, inno_lic.cpp, inno_lic.h

products: All with PBX (except a minimal change in inno_lic, which affects all products with licenses

risks: No real risk

ISDN: Use REL for call rejection instead of DISC as an interop option

Status Closed
Id 36629

problem: Some ISDN public switches seem to have a problem with calls rejected using a DISC message.

solution: Interop option added to use REL instead

files: q931.cpp, q931.h, te_tbl.tbl, isdn_interop.xsl

products: All with ISDN interfaces

risk: No real risk, since behaviour is changed only if option checked

SIP/TCP Response not always been sent through connection of incoming request

Status Closed
Id 36631

problem: If a remote SIP/TCP device uses an inbound TCP connection on its side to send a request, the innovaphone opened a new outbound connection for the response.

solution: Keep connection in context of server transaction in order to send the response on the same connection no matter if inbound or outbound

files: siptrans.cpp, siptrans.h

products: All products

risks: other transport problems with SIP/TCP and SIP/TLS

PBX Routing to a object without Node/PBX not possible from Slave to Master

Status Closed
Id 36648

problem: If a PBX object without Node and PBX is configured, it should be possible to call this object on a given PBX by dialing the Node Prefix of this PBX and the Number of the object. This was not possible from a slave to a master.

solution: Routing fixed

files: pbx.cpp

products: all with PBX

risks: Possible collateral damage should be limited to objects without node/pbx

Wrong or duplicate MWI interrogation

Status Closed
Id 36652

Problem: MWI interrogation is not enabled, but interrogation is sent, or MWI interrogation is enabled and interrogation is sent duplicate.

Solution: Implementation fixed.

Files: dtmffty.cpp.

Products affected: All dect devices.

Risk: Minimal.

Media negotiation problem at OCS

Status Closed
Id 36654

problem: Mediation server rejects our reINVITE with 491

solution: Avoid sending reINVITE when Media-Relay and Exclusive-Coder is configured

files: sip.cpp

products: All gateway products

risks: causing other media negotiation problems

IP4001 minifirmware sometimes doesnt start

Status Closed
Id 36658

problem: unused IRQ are not disabled

solution: disable unused IRQs

files: ip4001.cpp

products: ip4001

risks: none

PBX-SOAP UserRedirect call routing did not work for Users not in root-node together with escapes

Status Closed
Id 36661

problem: If a call was transfered by SOAP/TAPI to a destination containing escape prefixes, the escape was not removed as it should

solution: Routing fixed

files: pbx.cpp

products: All products with PBX

risks: Collateral damage in the context of PBX call routing

Soft conversion via 'drive/CX0' also started after read-operation

Status Closed
Id 36688

problem: Soft conversion via 'drive/CX0' also started after read-operation. Ought to start only after write-operation.

solution: Fix to be offered with v7 hf2.

files: fp_xcode.cpp

products: All products with CF card

risks: none

syslog not available in viewer mode

Status Closed
Id 36691

problem: syslog not available in viewer mode (while trace is available)

solution: give access to syslog in viewer mode

files: log.xsl

products: All products

risks: no risk

alerting calls cannot be picked from trunk object when a connected call is parked at the trunk user

Status Closed
Id 36694

Problem: a phone was configured with 2 park keys addressing different park positions at the same object. if an alerting call was picked up by pressing the corresponding key and parked back by pressing this key again an alerting call indicated at the other key could not picked up thereafter.

Products affected: PBX

Files: pbx.cpp

Risk: seems to be low but needs test Status: Hallo Guntram,
in pbx::pick_req() wird der pseudo user ignoriert wenn pbx_user::parked nicht leer ist. Ich hab in V8 mal eingebaut daß pbx_user::pseudo->pickup() aufgerufen wird wenn in pbx_user::parked nichts gefunden wurde. Das scheint zu helfen. Kannst Du mal schauen ob das OK ist?
:-) joachim

no ringing voltage

Status Closed
Id 36700

problem: After few days uptime ringing may fail until box will be reset.

solution: change some initial register values

files: si3241.cpp, si3241.h

products: ip28

risks: none

clip retry

Status Closed
Id 36702

problem: clip reception not assured

solution: sent more than once

files: ab_sig.cpp si3241.cpp

products: ip28

risks: very low

sprintf from standard library pulled by ip6000 ethernet lib

Status Closed
Id 36707

Problem: the file IxEthDBUtil.c uses sprintf instead of _sprintf and thus pulls sprintf and a bulk of needless code from libc (syscall stubs, malloc, floating point functions ..., more than 20 kB).

Solution: use _sprintf

Products affected: IP6000/IP2000

Files: IxEthDBUtil.c

Risk: None

after bootcode update and softreset the box enters TFTP mode

Status Closed
Id 36708

problem: old tftp entry in DRAM is used

solution: adjust tftp entry, call cache_init

files: startup_ac460.s cache_ac460.s boot.h

products: ip800 ip1200 ip1201

risks: none

park function key extensions to provide line key functionality

Status Closed
Id 36771

Problem: the park function key does provide the line key functionality as expected/preferred by some customers mainly in italy, france and the states

Solution: add two flags the the park function key
1) Park Active Call before Unpark - when a call is unparked with such a key and the currently active call was unparked before with another park-key the active call is parked back to it's previous position.
2) Automatic Connect after Unpark - when a call is unparked with such a key the call is automatically connected to the requesting phone. when parking a call with such a key the call is immediately removed from phone, no busy tone is played.

Products affected: all phones

Files: phone_user_ui.cpp, phone_config.h, fkey_edit_park.xsl, app_reg.cpp, phone_config.cpp, app_fkey.cpp, app_call.cpp, app_ctl.h

Risk: Low, behaviour changed only if explicitely configured

Trap on special call disconnect collisions for ISDN-ISDN calls

Status Closed
Id 36772

problem: A trap could happen if the incoming call was disconnected before the outgoing channel was initialized

solution: Check for this situation implemented

files: media.cpp medialib.h

products: all

risks: low risk of collateral damage in the area of channel connect/disconnect

UART modem IRQ not serviced

Status Closed
Id 36805

problem: modem IRQ may cause continous interrupts

solution: read MSR register

files: uart_drv.cpp

products: all products with uart_drv (3000,4001,phone_inca,1200)

risks: none

UART not part of IP4001 project

Status Closed
Id 36806

problem: used in the ascom ip4001 build

solution: add uart to ip4001 project, change uart to support 32bit uart access and the fifo mode used in ip4001

files: ip4001.vcproj uart_drv.cpp

products: ip4001 ip3000 ip1200 ip1201

risks: low

IP4001 production test interface start procedure is unreliable

Status Closed
Id 36807

problem: start procedure assumes that a global variable is persistent over reset

solution: use config flags mechanism instead

files: ip4001.cpp, prodtestif_init.cpp

products: ip4001

risks: none

forward calling name identification on waiting queue during DTMF dialing

Status Closed
Id 36811

problem: calling party's name identification was not forwarded by waiting queue after DTMF dialing

solution: forward received calling party's name identification

files: pbx_wait.cpp

products: All PBX waiting queues

risks: low risk

PBX error log for external call transfer attempt, which is not allowed

Status Closed
Id 36818

problem: If external transfer is not allowed but user still try, the admin must be made aware, to either enable the external call transfer or to educate the users.

solution: Error log implemented

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

products: All with PBX

risks: very small risk of collateral damage

H.323 compatibility issue with h245-after-conn

Status Closed
Id 36821

problem: Some H.323 implementations require tunneled H.245 messages to be sent in Facility messages only, not in other signaling messages like Connect

solution: The h245-after-connect option together with H.245 tunneling enforces this behaviour now

files: h323sig.cpp

products: all

risks: very low risk of collateral damage. New code executed only if h245-after-connect option selected

TLS client authentication for interoperability with OCS

Status Closed
Id 36823

problem: OCS uses TLS with mutual authentication. The current implementation does not fully support this.

solution: TLS client authentication implemented.

files: tls.cpp, tls.h, rsa.cpp

products: All

risks: very small risk of damage to the TLS state machine

Authentication name for SIP registration in DECT devices

Status Closed
Id 36836

Problem: Wrong copied user authentication name string for SIP registration.

Solution: Fixed.

Files: dectusers.cpp.

Products affected: All DECT devices.

Risk: Minimal.

pbx dtmf object can cause traps with disabled feature codes

Status Closed
Id 36844

Problem: if feature codes are disabled and enabled feature codes are called, a check for the disabled feature codes wasn't done, so a null pointer was given.

Solution: check for disabled feature codes

Files: pbx_dtmf.cpp

Products affected: all pbx devices

Risk: none

Userpart of SIP-URIs not unescaped when parameter "user=phone" present

Status Closed
Id 36847

Problem: Userpart of SIP-URIs not unescaped when parameter "user=phone" present. May keep SIP telephones from using the "DTMF Features" object.
E.g INVITE sip:%2367%23@innovaphone.de;user=phone SIP/2.0

Solution: Unescape userpart of SIP-URIs even when parameter "user=phone" is present.

Files: sipmsg.cpp

Products affected: all devices

Risk: none

Password complexity

Status Closed
Id 36853

Problem: Password complexity function doesn't recognize special characters.

Solution: Fixed.

Files: password.cpp, latin1.h.

Products affected: All devices.

Risk: Minimal.

Dect frequency and other bases GUI page

Status Closed
Id 36858

Problem: Dect frequency and other bases GUI page is not shown if Dect is disabled or is not configured.

Solution: Fixed.

Files: dect.cpp, dect.xsl.

Products affected: IP1200.

Risk: Minimal.

OEM specific dynamic ras connections

Status Closed
Id 36956

Problem: Wrong usage counter of ras connection causes a trap.

Solution: Test flag for usage counter added.

Files: dectusers_if.h, dectlocalusers.h, dectlocalusers.cpp, dectradio.h, dectradio.cpp.

Products affected: IP4001, IP1201.

Risk: Minimal.

OEM specific ethernet connection failure handling improved

Status Closed
Id 36957

Problem: Handset doesn't recognize permanent connection failure.

Solution: Inform Dect system about permanent connection failure.

Files: signal.h, signal.cpp, dectradio.h, dectradio.cpp.

Products affected: IP4001, IP1201.

Risk: Minimal.

Dect GUI user list

Status Closed
Id 36962

Problem: Sort order of user list handling changes to ascending.

Solution: Sort order handling changed.

Files: dect_users_right.xsl, dect_users_left.xsl, dect_edit_user.xsl.

Products affected: IP1200.

Risk: Minimal.

DSP code update for IP6000/IP800 and related

Status Closed
Id 36976

problem: sometimes DSP fifo write fails after fax transmission

solution: use DSP code 560.10 with improved fax and voice packetizer 2.8, add debugcode to show events to the DSP, channelcontrolmode changed to packet mode ( as in V6 )

files: ac_dsp2.cpp ac_dsp2.h ac_dsp2.h ac48xcfg.h ac48xdef.h ac48xhi.c ac48xhi.h ac48xlo.c ac48xlo.h ac48xopt.h userdef.h dl48624_custom.c dl48624.c

products: ip800 ip1200 ip1201 ip4001 ip6000

risks: low

IP6000 UI: PRI interface T1 options not hidden in E1 mode

Status Closed
Id 36977

problem: interface T1 options not hidden in E1 mode

solution: update xsl file

files: falc56_drv.xsl
products: ip6000

risks: low

fix for ALARM flooding in SIP

Status Closed
Id 36983

problem: systems ALARM log was flooded by alarm "NAT discovery failed" (0x00070001)

solution: send this ALARM only once

files: sip.cpp siptrans.cpp siputil.h

products: All devices using SIP with STUN server

risks: low risk

OEM specific trunk location registration

Status Closed
Id 36990

Problem: No location registration should be sent during call or handover.

Solution: Implementation changed.

Files: dectmaster.cpp.

Products affected: IP4001, IP1201.

Risk: Minimal.

hanging calls when SOAP call transfer fails when using SIP operator phone

Status Closed
Id 37001

problem: When SIP phone is used as operator phone and a transfer initiated by operator software (SOAP) fails, a call leg is not terminated by PBX

solution: release call leg on receipt of CT_INITIATE_RESULT

files: pbx_xml.cpp

products: All PBX devices

risks: low risk

Dect GUI error message because of duplicate long name

Status Closed
Id 37016

Problem: If a Dect user is edited and the new duplicate long name is entered, a wrong error message is displayed in the GUI.

Solution: An additional check for this case is added.

Files: dectusers.cpp.

Products affected: All devices.

Risk: Minimal.

OEM specific cause code mapping

Status Closed
Id 37051

Problem: OEM specific cause code mapping specification has been changed.

Solution: Mapping changed.

Files: dectmaster.cpp.

Products affected: IP4001, IP1201.

Risk: Minimal.

PSTN->Quickdial-Object->PSTN Calls May Fail

Status Closed
Id 37106

Problem: Calls from the PSTN via a PBX Quickdial object into the PSTN may fail with cause="Error Recovery On Timer Expiry".

Solution: Quickdial object must proceed the incoming call.

files: pbx_qdial.cpp

products: All PBX devices

risks: none

On GW interfaces w/o registration the config options "Domain" and "Proxy" did not work properly

Status Closed
Id 37112

Problem: On GW interfaces w/o registration the config options "Domain" and "Proxy" did not work properly

Solution: Using "Domain" to build SIP-URIs. Use (optional) "Proxy" to send SIP requests to.

Files: sip.cpp.

Products affected: All Gateway devices with No-Reg-SIP-IFs

Risk: Unexpected problems with no-reg or enum interfaces

Trap because of NULL pointer access sometimes if outgoing call via Trunk Object fails

Status Closed
Id 37121

problem: If an outgoing call via a trunk object fails due to no channels available or another cause which would result in a retry on another interface, with DISC message (no REL which is normal), sometimes a trap can happen because of a NULL pointer access.

solution: Check for this condition added

files: pbx.cpp

products: all with PBX

risks: No risk, new code is executed only if we had a trap without the change

Potential trap on outbound ENUM SIP calls

Status Closed
Id 37130

Problem: On ENUM/SIP interfaces a trap may occur if DNS resolving runs into timeout.

Solution: Check signaling state before handling media-info and faciliies.

Files: sip.cpp

Products affected: All Gateway devices with ENUM-SIP-IFs

Risk: Minimal.

PBX: Routing to objects which conflict with escapes did not work anymore (did work in v6)

Status Closed
Id 37134

problem: For a call which is routed back to the calling node, because the destination is not found, it should be checked if there is an object with the same number as an escape first, before sending the call to the node-extern. This was already implemented in v6 and removed by accident.

solution: Implementation from v6 put back

files: pbx.cpp

products: All products with PBX

risks: Code possibly not removed by accident but for some reason

hide option in v7 hides more than in v6, user and phone settings as well

Status Closed
Id 37140

problem: hide option in v7 hides more than in v6, user and phone settings as well. so user configuration is not reachable any more. now there is a difference between user and admin config hiding. one can either hide only the admin submenu (as in v6 - protect the phone from being misconfigured by the user and loose registration or IP settings) or hide all configuration menus (as in v7 - for a public phone e.g., allowing only basic functionality with noting to configure)

solution: hide now interpreted as "hide complete", added another hide option which only "hides administration"

files: app/app_gui.cpp phone/admin/phone_admin_ui.* phone/user/phone_protect.xsl phone/user/phone_user_config.cpp phone/app/app_gui.cpp

products: all phones

risks:nome

evaluation of #b<num> in the url parameter of "mod cmd UP0 scfg" overrides the character following <num>

Status Closed
Id 37162

Problem: file-#b5.txt is evaluated for example to file-0txt (dot missing)

Solution: fix it

Products affected: all

Files: update.cpp

Risk: none

PBX: CFNR on 'Gateway' Objects executed if remote party did not answer

Status Closed
Id 37169

problem: A CFNR configured on a Gateway type object (Gateway, Trunk, ...) was executed if remote party did not answer. There is no real application for such a behaviour

solution: Execute CFNR only if there is a local problem (e.g. local ISDN interface does not respond)

files: pbx.cpp

products: all products with PBX

risks: Could be there is an applikation for the old behaviour we did not think of

H.450 returnError for callTransferInitiate not implemented

Status Closed
Id 37178

Problem: H.450 returnError for callTransferInitiate not implemented

Solution: implemented

Files: h450.cpp

Products affected: All devices

Risk: Minimal

OEM specific radio unregistration handling

Status Closed
Id 37220

Problem: Infinite loop during OEM specific radio unregistration handling.

Solution: Implementation changed.

Files: dectmaster.cpp.

Products affected: IP4001, IP1201.

Risk: Minimal.

Standby master reports missed radios delayed

Status Closed
Id 37279

Problem: Standby master immediately reports all radios as missing when going to active mode.

Solution: Standby master checks missed radios delayed.

Files: dectmaster.cpp.

Products affected: All Dect devices.

Risk: Minimal.

Calls from registered devices were rejected

Status Closed
Id 37326

problem: Calls from registered devices were rejected if the Contact-URI did not match the Contact-URI of the REGISTER

solution: Use 407 to get authorization header and do registration lookup by authorization name

files: siptrans.cpp

products: All PBX and Gateways using SIP

risks: low: sending SIP messages to wrong remote address/port

SIP calls were rejected with 403 in case the Request-URI did not match the registered Contact-URI

Status Closed
Id 37327

problem: SIP calls were rejected with 403 in case the Request-URI did not match the registered Contact-URI (interop with Nortel CS1000 SIP GW)

solution: no check of Request-URI against registered Contact-URI on SIPx interfaces

files: siptrans.cpp

products: All gateway devices using SIPx to register remotely

risks: low risk

Added SIP interop tweak "Enforce Sending Complete"

Status Closed
Id 37334

problem: in some gateway installations a "484 Address Incomplete" response is expected to cause release of incoming call instead of waiting for more dialing digits to come

solution: option "Enforce Sending Complete" to disable overlap dialing

files: sip.cpp relay_edit_voip.xsl relay_edit_sip.xsl

products: All gateway devices using SIP

risks: no risk

OEM specific: sending signaling info messages not until gk connect message

Status Closed
Id 37365

Problem: Info messages should only be sent of connect message from PBX is received.

Solution: Implemented for OEM.

Files: dectmaster.h, dectmaster.cpp.

Products affected: IP4001, IP1201.

Risk: Minimal.

Problems registering at some SIP servers with parameter "user=phone" in Contact-URI in REGISTER request

Status Closed
Id 37523

problem: Problems registering at some SIP servers with parameter "user=phone" in Contact-URI in REGISTER request

solution: no parameter "user=phone" in Contact-URI in REGISTER request

files: sip.cpp

products: All devices

risks: risk

OEM specific endpoint deleting

Status Closed
Id 37526

Problem: Subscription in handset is deleted if PP is deleted in conflict situation. OEM specific.

Solution: Endpoint location cancel event is added before deleting the endpoint.

Files: dectmaster.h, dectmaster.cpp.

Products affected: IP4001, IP1201.

Risk: Minimal.

Unintended monitoring of calling party when automatic dialling is used

Status Closed
Id 37586

Problem: when an automatically dialled call is connected the micro is enabled on. if the calling party does not notice the short beep indicating the connection the called party may unintentionally monitor the calling party.

Solution: 1) PHONE_LOCK_AUTODIAL bit in fine grained function locking to disable the the autodial function and 2) "Administration/Phone/Preferences/Connect Autodial Call Mute" to disable the micro when the connection is established, the micro can be enabled via micro key then.

Products affected: all phones

Files: ?

Risk: none Status: checked in to 7.00, 08-70300, 8.00

new: #37586: Unintended monitoring of calling party when an automatically redialled call is connected can be prevented now by either disabling automatic redial (fine grained function locking) or by the checkmark "Administration/Phone/Preferences/Connect Automatically Redialled Call with Microphone Switched Off" (equivalent to "config add PHONE APP /redial-mute")

Hidden config option /remote-domain-in-from

Status Closed
Id 37594

problem: some SIP proxys expect their domain name in From-URI (unregistered interfaces only)

solution: config option to use remote instead of local domain

files: sip.cpp

products: All gateway devices

risks: no risk

Switching back from MOH did not work sometimes

Status Closed
Id 37596

problem: No media after switching back from MOH

solution: fix media negotiation

files: sip.cpp

products: All devices using SIP

risks: unexpected problems with media negotiation

Standby Mobility Master client registration status wrong

Status Closed
Id 37597

Problem: Standby Mobility Master client registration status is not updated if primary returns and registration is closed.

Solution: Fixed.

Files: dectmobmaster.cpp.

Products affected: IP4001, IP1201.

Risk: Minimal.

Workaround for OEM H.323 bug (OLC before MSD)

Status Closed
Id 37640

problem: An OEM equipment sends OLC before the Master Slave Determination is complete

solution: Handle OLC even if Master Slave Determination is not complete

files: h323ch.cpp

products: all

risks: Minimal, unlikely that other equipment is sending OLC before MSD an expect it is ignored

Name Identification in Diverting Info

Status Closed
Id 37643

problem: Diverting party's name identification not available.

solution: Provide diverting party's name identification in FTY_DIVERTING_LEG2.

files: fty.* sip.* sipfty.cpp h450.cpp pbx.cpp

products: All devices

risks: low risk

H.323: Duplicate TerminalCapabilitySetAck message sent sometimes

Status Closed
Id 37658

problem: In some states 2 TerminalCapabilitySetAck messages were sent in response to a single TerminalCapabilitySet message. This can create problems with some third party equipment

solution: Only send a single TerminalCapabilitySet message

files: h323ch.cpp

products: all

risks: Minimal

Diverting Info not forwarded by Gateway

Status Closed
Id 37671

problem: Gateway did not pass through diverting info (DIVERTING_LEG2) (worked only in case interworking was enabled)

solution: Forward diverting info even if interworking is not enabled

files: relay.cpp

products: All gateway devices

risks: no risk

PBX: CFNR at user should have precedence over "No Answer" Destination at Trunk

Status Closed
Id 37677

problem: It is confusing that a CFNR set at a user is not executed because of a No Answer destination configured at the trunk object.

solution: The CFNR now has precedence over No Answer at Trunk

files: pbx.cpp

products: all with PBX

risks: It could be that some customers expect explicitly the old behaviour, but this is unlikely

One way media when doing multiple transfer together with Media-Relay

Status Closed
Id 37680

problem: When a call which was transfered to another PBX with Media-Relay on both PBXs and then another Transfer was done on the remote PBX, there was one-way media. This was due to a H.323 media negotiation bug which could result in one/no-way media with many scenarions as long as Media-Relay is involved

solution: Media Negotiation bug fixed

files: h323ch.cpp, h323ch.h, h323sig.cpp

products: all

risks: There is a small risk of collateral damage

OEM specific available coders

Status Closed
Id 37685

Problem: Coder G726-32 is not supported by OEM PBX and should not be shown.

Solution: Coder G726-32 is not shown.

Files: dectusers_if.h, dectusers.h, dectmaster.cpp.

Products affected: IP4001, IP1201.

Risk: Minimal.

OEM specific call release

Status Closed
Id 37687

Problem: Call is not disconnected in OEM specific case.

Solution: Release event handling fixed.

Files: dtmffty.cpp.

Products affected: IP4001, IP1201.

Risk: Minimal.

OEM specific Suppl. Service MWI

Status Closed
Id 37688

Problem: OEM specific Suppl. Service MWI doesn't work and default configuration is wrong.

Solution: Implementation and configuration fixed.

Files: dectfty.xsl (oem), dtmffty.cpp.

Products affected: IP4001, IP1201.

Risk: Minimal.

OEM specific sig media info messages filter

Status Closed
Id 37689

Problem: OEM specific PBX doesn't support sig media info messages which should be filtered.

Solution: Sig media info messages are filtered.

Files: dectmaster.cpp.

Products affected: IP4001, IP1201.

Risk: Minimal.

Int/Ext added to CF Filter config to allow config of call-forward for internal/external calls only

Status Closed
Id 37706

problem: Call Forward for Internal/External calls only was hard to configured (esspecially automatically with TAPI), because unclear which Trunk prefixes to be used for filter

solution: Filter option added to check for Internal/External calls expicility. The private numbering plan is used to determine if a call is Internal

files: pbx_admin.cpp, pbx_edit_cfs.xsl, pbx.cpp, pbx.h, ep_lib.cpp

products: all with PBX

risks: Small risk of collateral damage

Media Negotiation Problem on SIP-H.323 calls with hold/retrieve

Status Closed
Id 37726

problem: On a SIP-H323 call, multiple hold/retrieve cycles could result in no media.

solution: Media Neg. fixed

files: h323ch.cpp

products: all

risks: Small risk of collateral damage

Some OEM equipment only accepts one tunneled H.245 message per H.225 frame

Status Closed
Id 37744

problem: An OEM equipment creates strange problems with multiple tunneled H.245 messages within a single H.225 PDU, and only Facility PDUs are allowed for tunneled H.245

solution: The option h245-after-conn results now in single H.245 sent in Facility PDUs

files: h323sig.cpp, h323sig.h

products: all

risks: very small risk of collateral damge. h245-after-conn is rarely needed and using seperate Facility for each H.245 should not create problems

Problems using SIP for box internal signaling

Status Closed
Id 37760

problem: Internal SIP call (e.g. from PBX to Gateway) was rejected

solution: more sophisticated remote address verification

files: siptrans.cpp

products: All Gateway devices

risks: no risk

Missing name identification on waiting queue during DTMF dialing

Status Closed
Id 37762

problem: name id of calling party not forwarded during DTMF dialing on waiting queue

solution: forward name identification

files: pbxwait.cpp

products: All PBX devices

risks: no risk

OEM specific MSD handling when doing media renegotiation

Status Closed
Id 37790

problem: OEM H.323 implementation gets confused when receiving a MasterSlaveDetermination message during slowstart media renegotiation

solution: Option to not send MSD in this case

files: signal.h, h323.h, h323sig.cpp, h323ch.cpp, h323ch.h, dectmaster.cpp

products: all

risks: Small risk of collateral damge. This special behaviour is truned on only for the OEM

OEM H.323 requirement to send saved INFO after receiving CONN

Status Closed
Id 37793

problem: OEM equipment answers call with CONN right away and expects dialing info as keypad after CONN. Dialing info maybe get lost.

solution: Send saved dialing info after CONN

files: h323sig.cpp, h323_tbl.tbl

products: all

risks: Minimal risk of collateral damage

keep original call when replacement calls fails (unsuccessful blind transfer)

Status Closed
Id 37796

problem: When blind transfer failed the original call was terminated.

solution: Keep original call

files: phonesig.cpp

products: All phone devices

risks: no

PBX Dtmf object: no de/activation of cfnr feature possible

Status Closed
Id 37798

problem: un-/checking the cfnr feature code checkbox has no effect

solution: change false attribute name in xsl file, was a false paste

files: pbx_edit_dtmf-ctrl.xsl

products: all pbx products

risks: no

Bug Fixes

V7 Hotfix 3 (09-70300.11)

Changes included in Version 7 Hotfix3 Definition

New Features

A PBX Standby Slave using master licenses should use licenses obtained from PBX it is backing up

Status Closed
Id 37810

problem: A standby slave obtained licenses from the master it connected to when the PBX it was backing up failed, instead of using the saved licenses from the PBX it was backing up. In a setup with all PBXs obtaining licenses from the Master this did not make a difference, there was only a problem if the PBX which was backed up used local license

solution: Use saved licenses on the standby-slave if the PBX which is backed up is not available anymore

files: pbx.cpp

products: all with PBX

risks: Minimal risk of collateral damage

License types with exactly 32 characters, created strange characters on PBX Info page

Status Closed
Id 37813

problem: A license with a length of exactly 32 characters resulted in random characters added on the PBX Info page. This could happen if a OEM licenses was installed on a IP6000. On some browsers the PBX Info page could not displayed because of that

solution: Make sure the string is 0 terminated

files: inno_lic.cpp

products: all

risks: No risk

Exclusive Coder G729A should also match for incoming coder G729

Status Closed
Id 37816

problem: A coder g729 received on SIP, did not match to exclusiv coder G729A if call was forwarded on H.323, even though these coders are compatible

solution: H.323 fixed to match G729 to G729A exclusive coder config

files: channel.cpp

products: all

risks: Minimal risk of collateral damage

Some PBX User attribts could not be modified with SOAP Admin function

Status Closed
Id 37819

problem: The PBX user attribs 'url', 'rej-ext', 'no-disc' and 'config' could not be modified with SOAP Admin call with <modify>.

solution: These attribs added to the list of changeable attribs

files: pbx.cpp

products: all with PBX

risks: Minimal risk of collateral damage

OEM expects response to H.323 MSD even after MSD procedure is complete

Status Closed
Id 37836

problem: OEM equipment sends MSD message even though MSD procedure is already complete. This message is ignored because it is unexpected. OEM equipment waits for MSD-ACK

solution: Send MSD-ACK in this case

files: h323ch.cpp

products: all

risks: Minimal risk of collateral damage

CCNR/CCBS callback indication gets lost when requesting phone is busy

Status Closed
Id 37840

Description:
'A' has a CCNR/CCBS request to user B pending while speaking to 'C'.
'B' goes off-onhook/onhook, 'A' gets a 'callback-possible' indication and "1 Call pending, name-B...number-B" is displayed on display of 'A'
'A' goes onhook but the callback is not performed

Solution: perform the callback when the phone is going idle

Products affected: all phones

Files: phonesig.cpp

Risk: none Status: checked in to 7.00, 08-70300, 8.00

OEM specific PBX options

Status Closed
Id 37848

Problem: Changed specifications for OEM PBX (reuse TCP, round trip delay).

Solution: Options changed.

Files: dectmaster.cpp.

Products affected: IP4001, IP1201.

Risk: Minimal.

Changing PBX/General options can remove automatically generated licenses

Status Closed
Id 37855

problem: With PBX OEM licenses another license is generated automatically, which allows registrations for redundancy purposes. This license is removed by accident when changing PBX/General options

solution: Do no remove this license anymore

files: pbx.cpp

products: all with PBX

risks: Minimal risk of collateral damage

Configured SIP proxy in GK-IF overview not visible

Status Closed
Id 37863

problem: Configured SIP proxy in GK-IF overview not visible on interface without registration

solution: show SIP proxy

files: gk.h gk.cpp relay_ifs.xsl

products: All Gateway devices

risks: no risk

Fix: TLS socket shutdown flow with Internet Explorer

Status Closed
Id 37874

problem: In some cases IE closes TLS connections in a way that caused syslog to hang up. Therefore syslog could only be called a single time per session using HTTPS and IE.

solution: Add a special shutdown flow for IE in the TLS state machine.

files: tls.cpp, tls.h

products: all

risks: Minimal risk of collateral damage

OEM specific alarm report for Standby Master registrations

Status Closed
Id 37878

Problem: The Standby Master registration is not deleted in the Mobility Master if the Primary Master recovers and a needless alarm message is created.

Solution: The Primary Master sends also a command to the Mobility Master to delete the Standby Master registration info if the Standby is connected.

Files: dectmaster.h, dectmaster.cpp, dectmobmaster.h, dectmobmaster.cpp.

Products affected: IP4001, IP1201.

Risk: Minimal.

OEM specific GUI for Standby Master

Status Closed
Id 37881

Problem: The Standby Master Mobility Master registration status is not correctly shown if the Standby Master is not active.

Solution: Fixed in OEM specific GUI file.

Files: dectmaster.xsl(oem).

Products affected: IP4001, IP1201.

Risk: Minimal.

Wait for ACK before starting next re-negotiation

Status Closed
Id 37882

problem: In some cases a re-INVITE with new SDP offer was send before previous INVITE transaction was completed (right after 200/OK was send, before ACK was received).

solution: Postpone new re-INVITE until ACK was received.

files: sip.cpp

products: All devices

risks: collateral damage on media negotiation process

Multilevel Slaves did not work

Status Closed
Id 37897

problem: In a configuration with Slave PBXs registered to another Slave PBXs (not the Master) routing of calls with unknown destinations to the next higher PBX (within the registration hierachy), did only work for one level.

solution: Routing fixed, so that these calls are routed up to the master.

files: pbx.cpp, pbx.h

products: all with PBX

risks: risk of collateral damage in the area of call routing within the PBX

DSP trap fixed for IP6000/IP800 and related

Status Closed
Id 37898

problem: sometimes DSP fifo write fails after fax transmission

solution: channelcontrolmode changed to packet mode ( as in V6 )

files: ac48xdef.h ac48xlo.c userdef.h

products: ip800 ip1200 ip1201 ip4001 ip6000

risks: low

IP1200 Trap with MWI event (MSF)

Status Closed
Id 37899

Problem: IP1200 reboots because of invalid pointer in saved MWI event in DECT part. This could also occur during an idle display update.

Solution: Event handling fixed.

Files: dect.cpp.

Products affected: IP1200.

Risk: Normal.

DECT PBX messaging

Status Closed
Id 37904

Problem: Unable to enable Dect messaging to/from PBX.

Solution: Fixed.

Files: dectmaster_if.h.

Products affected: IP1200.

Risk: Low.

CallIdentifier missing in some H.323 Facility messages

Status Closed
Id 37922

problem: In some H.323 facility messages, which carried tunneled H.245 PDUs or EFC elements the CallIdentifier was missing. Apart from that it violates the standard the only known problem with this is, that these messages are not displayed in a wireshark call graph

solution: CallIdentifier added

files: h323sig.cpp

products: all

risk: Minimal risk of collateral damage

Interop tweak for MS Exchange server: "no-diverting-name"

Status Closed
Id 37925

problem: Call diversion to MS Exchange does not work since display name of diverting party is provided. MS Exchange fails to parse diversion header.

solution: New config option "no-diverting-name"

files: sip.cpp sip.h

products: All gateway devices

risks: no risk

Local Coder selection does not work after media re-negotiation

Status Closed
Id 37940

problem: When media re-negotiation happens (hold/retrieve/transfer/...) sometimes the selection of the local coder does not happen even if the remote media address is a local address.

solution: Check for local address fixed

files: h323ch.cpp

products: all

risks: Minimal risk of collateral damage

Multiple media descriptions were send in SDP answer in some rare cases

Status Closed
Id 37948

problem: Multiple media descriptions (m-lines) for same media type were send in SDP answer in some rare cases

solution: Put all in one media description

files: sip.cpp

products: All Gateway and PBX devices

risks: no risk

Wrong local ip addres in SDP offer in re-INVITE

Status Closed
Id 37956

problem: Boxes with multiple local ip addresses may use wrong local ip addres in SDP offer in re-INVITE

solution: Validate local ip address before sending re-INVITE

files: sip.cpp

products: All Gateway and PBX devices

risks: no risk

DECT Master Trap during MWI update for logged-out handsets

Status Closed
Id 37964

Problem: IP1200 DECT Master reboots because of invalid pointer in anonymous handsets if Radios send an MWI ack message after handset is logged out from user with pending MWI and is switched on again.

Solution: Fixed.

Files: dectusers.cpp.

Products affected: IP1200.

Risk: Low.

Bug Fixes

V7 hotfix 4 (09-70300.13)

Changes included in Version 7 hotfix4 Definition

New Features

IP72: WLAN page breaks after hitting the OK button below

Status Closed
Id 37143

problem: IP72: WLAN web-page breaks after hitting the OK button below. the error message is displayed (page not found). after pressing the reload button, the page becomes readable again.

solution: fix in code

files: box/wlan_mgr.cpp box/wlan_mgr.h

products: IP72

risks: none


Indeterminate pickup behaviour when multiple registrations receive group indications for the same call

Status Closed
Id 37969

Description:
A phone holds multiple registrations to the same gatekeeper. All registrations (users) are members in one group and have group indications enabled for this group. The active registration has a pickup key. If there is an alerting call to some other phone in the group all registrations receive a group indication for the alerting call. If the pickup key is pressed the pickup list shows an entry for each registration. Independent of the list entry selected the call was always picked via the registration with the lowest ordinal.

Solution: fix selection mechanism, let pickup list start with the entry of active registration.

Products affected: all phones

Files: app_ctl.h, app_fkey.cpp, app_gui.cpp, app_gui.h, app_reg.cpp

Risk: none Status: checked in to 7.00, 8.00

Do not send RSeq in provosional response, if 100rel not supported by remote side

Status Closed
Id 37978

Problem: RSeq was sent event if 100rel not supported by remote side.

Solution: Do not send RSeq in provosional response, if 100rel not supported by remote side. Add "Require: 100rel" when sending RSeq.

Files: sip.cpp siptrans.cpp

Products affected: All

Risk: No risk

Send 180/Ringing with Alert-Info instead of 182/Queued on Call-Waiting condition

Status Closed
Id 37980

Problem: Some SIP devices don't start local ringback tone on reception of 182/Queued.

Solution: Do not send 182/Queued. Send 180/Ringing with "Alert-Info: <urn:alert:service:call-waiting>" instead.

Files: sip.cpp siptrans.cpp

Products affected: All

Risk: SIP endpoints which processed 182/Queued correctly my not recognize Alert-Info, but at least they will ring (without call waiting indication)

Call waiting indication from dect handset not transmitted to SIP PBX

Status Closed
Id 37985

Problem: Call waiting indication (in ALERT) was not interworked to SIP

Solution: Interwork all FTY element in SIG_ALERT in Dectmaster

Files: dectmaster.cpp

Products affected: Dect devices

Risk: No risk

Memory leak if multiple registrations of MOH device to PBX

Status Closed
Id 37993

problem: Only one Registration of a MOH device is accepted by the PBX. For each additional registration attempt which is rejected some memory is lost.

solution: Free all memory in this case

files: pbx.cpp

products: all with PBX

risks: Minimal risk of collateral damage

No-Way speech if call-transfer done by H.323 slowstart endpoint on a call routed thru multiple PBXs

Status Closed
Id 37997

problem: If a slowstart H.323 endpoint (e.g. XCAPI) initiates a call transfer which was routed to this endpoint from another PBX, the is no speech connection after the transfer.

solution: Media negotiation fixed for this case

files: h323ch.cpp, h323ch.h, h323sig.cpp, pbx.cpp

products: all

risks: Minimal risk of collateral damage

Trap while processing SUBSCRIBE(reg)

Status Closed
Id 37998

Problem: Trap while processing SUBSCRIBE(reg).

Solution: Fixed

Files: sip.cpp

Products affected: All PBX devices

Risk: No risk

no ringing voltage after few days uptime

Status Closed
Id 37999

problem: ringing voltage is not beeing generated after few day uptime.

solution: In case of a RING_FAIL interrupt signaling perform an automatic 'ireset' command to the gateway.

files: si3241_drv.cpp si3241_drv.h

products: ip28

risks: minimal, this automatic has already been proven in earlier firmware verions.

DTMF during Early Media (after "183 Session Progress")

Status Closed
Id 38021

Problem: Key events after reception of "183 Session Progress" were handled as overlap dialing acc. RFC-3578, not as DTMF

Solution: Take 183 response without "P-Sig-Options: Overlap-Dialing" as Address Complete Message

Files: sip.cpp sip.h siptrans.cpp siptrans.h sipstate.cpp

Products affected: All devices

Risk: No risk

coding of H.323 EFC wrong

Status Closed
Id 38038

problem: In all firmware versions before 8.00 the coding of the H.323 EFC elements does not conform to the standard. It cannot simply be changed, because then compatibility to innovaphone equipment with version 6.00 and 7.00 (earlier versions had no EFC) is lost.

solution: With 'config change H323 /fix 1' the default coding of the EFC elements is changed to be standard. A PBX/Gatekeeper uses innovaphone parameters to transmit this information to any registered clients. Clients adapt the coding according to the information received at registration. If the PBX/Gatekeeper is non-innovaphone the standard coding is used.

files: h323sig.cpp, h323ras.cpp

products: all

risks: Minimal risk of collateral damage

PBX: Minimum of No Answer Timeout reduced from 4s to 2s

Status Closed
Id 38040

problem: For some special applications a CFNR timeout of 4s is too long.

solution: Limit reduced to 2s

files: pbx.cpp

products: all with PBX

risks: No risk

H.323 RAS Registration failover to another address which changes local address sometimes fails

Status Closed
Id 38043

problem: A failover to another address may change the local address, because to the new address another local network interface may be used. An example for this is a failover from an address on the local ethernet to the loopback address. For the packets sent to the new interface, still the old source address was used.

solution: Initialize local address in this case.

files: h323sig.cpp

products: all

risks: Small risk of collateral damage

mod cmd UP0 scfg ... /force <hours> does not work

Status Closed
Id 38044

Description:
"/force <hours>" shall force excution of the 'scfg' script commmand any <hours>. <hours> were evaluated correctly but the execution was not triggered.

Solution: set the execution trigger.

Products affected: all

Files: update.cpp

Risk: none Status: checked in to 7.00, 8.00

MOH with random=true did not work on local resources

Status Closed
Id 38066

Problem: Local MOH-URL with "random=true" always started at beginning of file.

Solution: Honor "random=true" when using FILE_IO to access MOH file.

Files: httpclient_i.cpp httpclient_i.h

Products affected: All PBX devices

Risk: MOH and any other kind of announcement will not work (worst case)

IP240: directory search for a name starting with a special character other than 1st special character impossible

Status Closed
Id 38074

problem: IP240: directory search for a name starting with a special character other than 1st special character impossible. E.g. a name starting with å cannot be entered so easily, because pressing alt+a gives an ä, and changes to phone-directory search mode as expected, but does not allow further toggling to å.

solution: fixed in firmware.

files: phone/forms.h phone/forms/forms_keyboard.cpp phone/dir/phone_dir_ui.cpp

products: IP240, IP210

risks: unknown

Trap when disconnecting while blind transfer pending

Status Closed
Id 38100

Problem: Trap after onhook at dect handset while blind transfer is ongoing (ringing replacement call)

Solution: Fix handling of onhook at dect handset

Files: dectradio.cpp

Products affected: All Dect devices

Risk: Low

IP150 Manufacturing: Allow to set default language

Status Closed
Id 38104

problem: default language needs the same interface as oem-code

solution: add function to commandprocessor, flashman and cpu

files: command.cpp flashman.cpp cpu.cpp flash.h cpu.h

products: all

risks: low

OEM specific event handling for info messages

Status Closed
Id 38138

Problem: Signaling info messages are forwarded in Master without keypad info in a OEM specific case.

Solution: Implementation fixed.

Files: dectmaster.cpp.

Products affected: IP4001, IP1201.

Risk: Minimal. Only OEM specific.

Lost 200/OK for REGISTER caused switch-over to secondary/backup SIP proxy

Status Closed
Id 38151

Problem: Missing 200/OK for REGISTER caused switch-over to secondary/backup SIP proxy. Even if 100/Trying was received.

Solution: Do not switch over to secondary SIP proxy if provosional response (100 Trying) has been received. Re-try REGISTER immediately.

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

Products affected: All devices using SIP

Risk: Low

Inbound calls on ENUM/SIP interfaces were rejected

Status Closed
Id 38154

Problem: Inbound calls on ENUM/SIP interfaces were rejected with 407 due to filter configuration (remote ip address). Filte cannot be configured for ENUM/SIP interfaces.

Solution: Use fix mask 0.0.0.0 to accept inbound calls.

Files: sip.cpp

Products affected: All gateway devices

Risk: No risk

out of memory trap when firmware upload fails (for example because of a flash problem)

Status Closed
Id 38180

Description: the data to write is kept in a packet which is only freed when an upload is started. After a succcessful upload the packet is empty but in case of a premature abort the packet may hold a large amount of data

Solution: delete data at time of error, not only before next upload

Products affected: all

Files: flash_firmware.cpp

Risk: none Status: fixed in 8.00, 7.00

IP-DECT or anlog interfaces with DTMF feature codes enabled cannot handle call-completion MWIs

Status Closed
Id 38190

problem: There is no good way how on IP-DECT or analog interfaces with DTMF feature codes enabled, MWIs because of call-completion can be handled.

solution: Ignore these MWI messges

files: dtmffty.cpp

products: all

risks: no risk

Logging of Administration did show passwords

Status Closed
Id 38194

problem: If Administration logging was activated, any password changes were logged. This is considered a security problem.

solution: Passwords replaced by '****'

files: command.cpp

products: all

risks: Minimal risk of collateral damage

IP24, IP302, ... trap if diverted call to analog interface is received

Status Closed
Id 38198

problem: If a diverted call, which is a call containing a leg2 facility, to an analog interface is received. The box restarts because of a NULL pointer access

solution: Fix the handling of the fact, that the analog signaling does not know leg2 facilities

files: relay.cpp

products: all with analog interfaces

risks: None

call-forward was executed on pickup calls

Status Closed
Id 38214

problem: If pickup was initiated with a function key and there was a CFU set for this user, then the CFU was executed for the resulting pickup call, so the call was not indicated on the phone where the f-key was pressed, but on the cfu destination. This was very confusing for users.

solution: Do not execute cfu in this case

files: pbx.cpp

products: all with pbx

risks: Small risk of collateral damage in the area of call routing on pbx

Gateway: ',' not possible in registration name

Status Closed
Id 38216

problem: A ',' in registration name cause the string behind the ',' being interpreted as registration number

solution: First seperate name/number, then do urldecode

files: gk.cpp

products: all with Gateway

risks: None

PBX Waiting: DTMF destination using '.' to match any digit combined with destination name did not work

Status Closed
Id 38217

problem: A destination name configured in a Waiting queue for received DTMF with '.' used in the to be mached DTMF digits did not work. The name was not dialed, but only the entered digits

solution: Dial name in this situation

files: pbx_wait.cpp

products: all with PBX

risks: None

H.323 discovery or registration with password does not work thru ETH1 on the PBX

Status Closed
Id 38219

problem: If a GatekeeperRequest message is received on ETH1, the response is sent out using the IP address of ETH0, so the client receives a wrong IP address. The GatekeeperRequest message is used for registration with password and for Gatekeeper Discovery.

solution: Send out the IP address whiches matches to the address of the client

files: h323ras.cpp, h323.h

products: all

risk: Minimal risk of collateral damage

Loosing registration when SIP server changes its ip address

Status Closed
Id 38228

Problem: Some SIP server may change its IP address. No DNS is done to get the new IP address.

Solution: Query DNS for new Ip address of SIP server.

Files: sip.cpp sip.h

Products affected: All devices using SIP

Risk: Low

Web GUI shall use a relative reference ("//...") instead of an absolute URI ("http://...) for a link to an extenal box

Status Closed
Id 38252

Description: If a box is accessed via https an access to another box via the GUI should also use https.

Solution: use releative references, i.e. leave off the scheme

Products affected: all

Files: alarm_log.xsl fault_details.xsl fault_log.xsl dhcp_leases.xsl

Risk: none
Status: checked in to 8.00, 7.00

EDSS1 divertingLegInformation2 not decoded

Status Closed
Id 38267

Description: Interworking for EDSS1 divertingLegInformation2

Solution: decode supplementary service facility divertingLegInformation2

Products affected: all gateways

Files: g950.cpp

Risk: none Status: v8,v7,v6

OEM specific trunk down handling

Status Closed
Id 38284

Problem: Call is not rejected if trunk is down.

Solution: Implementation fixed.

Files: dectmaster.cpp.

Products affected: IP4001, IP1201.

Risk: Low. Only OEM specific.

OEM specific GUI trunk state

Status Closed
Id 38285

Problem: Trunk state in Standby Master mode is wrong.

Solution: Implementation fixed.

Files: dectmaster.h.

Products affected: IP4001, IP1201.

Risk: Minimal. Only OEM specific.

PPP config shall exclude PRI interfaces without HDLC capability

Status Closed
Id 38306

Description: Currently all PRI ports can be configured for PPP connections. This is confusing on an IP2000 (no HDLC support at all) or an IP3000 without HDLC chip.

Solution: check HDLC/CHANNELS >= 1

Products affected: all

Files: ip_config.cpp

Risk: none Status: checked in to 8.00, 7.00

Calling party's number/name ignored when processing MESSAGE request

Status Closed
Id 38359

Problem: Calling party's number/name ignored when processing MESSAGE request.

Solution: Get calling party number/name from received MESSAGE request.

Files: sip.cpp

Products affected: All gateway devices

Risk: No risk

MESSAGE request rejected with 403 if registration lookup fails without trying 407

Status Closed
Id 38429

Description: If registration look-up fails for MESSAGE request, 403 is send without trying 407 first.

Solution: Send 407 in order to get the username for registration look-up.

Products affected: PBX devices

Files: sip.cpp

Risk: none

OEM specific Dect endpoint idle display

Status Closed
Id 38478

Problem: Idle display is not correct if no redundant trunk is configured and all primary trunks are down.

Solution: Implementation fixed.

Files: dectmaster.h, dectmaster.cpp.

Products affected: IP4001, IP1201.

Risk: Low. Only OEM specific.

Dect GUI user list search

Status Closed
Id 38498

Problem: It is not possible to search for user names containing spaces in Dect user list.

Solution: URL decoding added.

Files: dectusers.cpp.

Products affected: IP4001, IP1201, IP1200.

Risk: Low.

src/dst port are put into src/dst ip address of tcp/udp packets coming from 127.x.x.x for wireshark pcap packets

Status Closed
Id 38623

Problem: Wireshark can't differ different calls with local addresses.

Solution: local ip address bytes 2 and 3 used for port

Files: debug.cpp, debug.h, udp.cpp, tcp.cpp, tls.cpp

Products affected: all

Risk: Low.

Upload GUI css oem change

Status Closed
Id 38634

Problem: Upload Firmware/Bootcode progress percent is not independent for oem products.

Solution: HTML changed.

Files: up_boot_v7.htm, up_prot_v7.htm, *.css (OEM).

Products affected: All products.

Risk: Low.

Media re-negotiation with media-relay exclusive coder interface did not work

Status Closed
Id 38635

problem: Media-relay-exclusive-coder interfaces are used as connection to carriers which do not support media renegotiation. Any tranfer or other operation which results in media re-negotiation on a PBX behind such an interface should result in local media re-neg. only. This did not work for some special scenarios

fix: Handle the special scenarios

files: h323ch.cpp

products: all

Empty facility messages sent to non-innovaphone equipment

Status Closed
Id 38636

problem: Innovaphone facilities are not sent to non-innovaphone equipment, but this filter caused empty facility messages to be sent instead of omitting these messages completely. This can confuse other equipment

solution: Don't send these messages

files: h323sig.cpp

products: all

risk: Very small risk of collateral damage

Fax/Modem relay with G711u does not work

Status Closed
Id 38717

problem: Fax/Modem relay with G711u does not work

solution: Fix modem bypass payloadtype

files: ac_dsp3.cpp

products: ip22 ip24 ip28 ip302 ip305

risk: Very small risk of collateral damage

PBX Twin Phone feature did not work together with group indications

Status Closed
Id 38758

problem: On a PBX user with group indications incoming calls were not only sent to the busy phone (in case there was a busy phone), but to the other phones as well.

solution: Do not handle calls to the phone used to send group indications as normal calls

files: pbx.cpp

products: all with PBX

risks: Minimal risk of collateral damage

Trap in SIP message construction

Status Closed
Id 38771

problem: Trap when SIP message with Content-Type header is constructed

solution: Initialize unused members to zero

files: sipmsg.cpp

products: all SIP

PBX SOAP SendMessage: Not possible to send messages to users at other PBXs

Status Closed
Id 38774

problem: When trying to send messages with SOAP/UserMessage to destinations at other PBXs, the call used to transmit this message was sent without destination address to the other PBX and could not be terminated there.

solution: Use right destination address

files: pbx_xml.cpp

products: all with PBX

risks: Minimal risk of collateral damage

Media re-negotiation after transfer fails on SIP trunk and results in no-audio

Status Closed
Id 38781

problem: Bad SDP offer is sent out to SIP provider during re-negotiation after internal transfer

solution: Fix handling of postponed app channels (in case of request-of-offer)

files: sip.cpp sip.h

products: all with SIP

risks:

H.450 call-completion request coding failed if destination number empty

Status Closed
Id 38796

problem: A H.450 CC request was coded wrong in case the destination number was empty. This can happen in some QSIG interworking scenarios

solution: Coding fixed

files: h450.cpp

products: all

risks: None

PBX: Restart when trying to add a node object without name

Status Closed
Id 38805

problem: If a Node object is added without name a restart happens.

solution: Display error if no name is configured for node

files: pbx_admin.cpp

products: all with PBX

risks: None

OEM specific location response message

Status Closed
Id 38821

Problem: Delete command is sent to radios if an endpoint in location restore command is unknown by master. A location cancel command should be sent instead.

Solution: Implementation fixed.

Files: dectmaster.cpp, dectradio.cpp.

Products affected: IP4001, IP1201.

Risk: Low. Only OEM specific.

new phone mode "Use Phone Handset like a Headset, Ingnore Hookswitch Signals"

Status Closed
Id 38824

Description:
some switchboard operators are used to work with the handset in a headset like manner. they never place the handset on hook and expect to receive inbound calls via handset instead via speakerphone.

Solution:
checkmark "Administration/Phone/Preferences/Use Phone Handset like a Headset, Ingnore Hookswitch Signals". If checked the handset will be operated like a headset, the headset port is disabled. inbound calls are accepted on the handset with the respective 'headset'-key (space (IP200a/IP240), Ok (IP230)). this key can also be used to drop the current call or to start a new call when the phone is idle. The speaker key works as usual.
This mode is not supported for the IP110, IP111 and IP150.

Products affected: all phones

Files: phone_pref.xsl app_call.cpp app_cfg.cpp app_cfg.h app_ctl.cpp app_disp.cpp app_form.cpp

Risk: minimal risk of collateral damage

DECT Standby-Master only starts if LDAP is synchronized

Status Closed
Id 38828

Problem: DECT Standby-Master only starts if LDAP is up and synchronized once.

Solution: Condition removed.

Files: dectmaster.cpp.

Products affected: All DECT devices.

Risk: Low.

DECT MSF login

Status Closed
Id 38831

Problem: It is not possible to login to DECT MSF module with telnet.

Solution: Function signature changed.

Files: dectmsf.h, dectmsf.cpp.

Products affected: IP1200.

Risk: Low.

port init confuses

Status Closed
Id 38833

Problem: Port initialization confuses depending on startup delay between the driver entities.

Solution: Solve this dependency

Files: si3241_drv.cpp

Products affected: ip28 only

Risk: low

Interop problem with SoundPoint IP 501

Status Closed
Id 38835

problem: If IP501 is held and MOH is about to be played to IP501, we send reINVITE with "sendonly" to IP501. IP501 answers with 'inactive' which caused the remote party to be put on hold also.

solution: Ignore 'inactive' in SDP answer when we sent 'sendonly' in SDP offer.

files: sip.cpp

products: All with SIP

risks: No risk.

IP110: cannot reach sent message screen

Status Closed
Id 38836

problem: on IP110 send message, go to main menu - messages - sent - list, try entering the message with arrow right, it is being dialed instead of showing message details

solution: fix in code

files: phone/list/phone_list_ui.cpp

products: IP110

risks: none



T38 capability indication at call setup (Interop Cirpack)

Status Closed
Id 38837

problem: Initial SDP offer lists audio AND t38. Both with media port. Cirpack does not switch over to t38 with reINVITE. Which is required by innovaphone.

solution: List t38 in initial offer with port=0. Means t38 is a supported capability.

files: sdpmsg.cpp

products: All with SIP

risks: May trouble other equipment Status: checked in to 8.00, 7.00, 08-70300

Conference Interface duplicate release

Status Closed
Id 38840

Problem: Conference Interface sends duplicate release messages and it results in a trap. It occurs if conference is disconnected from MOH.

Solution: Implementation fixed.

Files: conference_sig.h conference_sig.cpp.

Products affected: All devices with Conference Interface.

Risk: Small risk of collateral damage. Only if conference is used.

VM trace messages without trace flag set

Status Closed
Id 38857

problem: Voicemail trace messages not suppressable

solution: suppress trace outputs

files: pbx_vm.cpp, vm_script_if.cpp

products: All PBX products

risks: No risk

Mask for remote ip address filter not configurable for SIP interfaces

Status Closed
Id 38865

problem: Mask for remote ip address filter not configurable for SIP interfaces. (Default was 255.255.255.255)

solution: Make remote mask configurable for SIP interfaces.

files: sip.cpp

products: All with SIP

risks: No risk

Bug on call handling on SIP/ISDN calls

Status Closed
Id 38889

problem: If the incoming SIP call was terminated before connect, a new SIP call was initiated in reverse direction.

solution: Cleanup postponed events on call release.

files: sip.cpp

products: All with SIP

risks: No risk

Improve pseudo random number quality on IP6000 and IP4001

Status Closed
Id 38891

problem: The pseudo random numbers created by the kernel are highly correlated and predictable, under some circumstances.

solution: Implement the same algorithm as on the MIPS platform to get much better numbers.

files: ip6000.cpp, ip4001.cpp

products: IP6000, IP4001

risks: No risk

IP230: deactivated backlight level not being restored after reset

Status Closed
Id 38901

problem: on IP230 go to phonesettings->set lcd_backlight to off and save changes by pressing the menu key. after reset, lcd-backlight is on although the phonesettings menu entry still off.

solution: the lcd-backlight level hasn't been set upon reboot. fixed in code.

files: phone/user/phone_user.cpp

products: IP230, IP240

risks: none


possible null pointer access in pbx_dtmf/dirsearch with btree::get_count

Status Closed
Id 38941

Description: pbx traps with parallel directory search calls, if one of those calls currently has no search_results and a null pointer is accessed.

Solution: check for null pointer

Products affected: all pbx devices

Files: pbx_dirsearch.cpp, pbx_dtmf.cpp

Risk: none

Trap, Voicemail <pbx-im> causes trap

Status Closed
Id 39002

problem: Voicemail <pbx-im> causes trap

solution: set fty_event_innovaphone_message.next to '0'

files: pbx_vm.cpp

products: All PBX products

risks: No risk

no CLIP on internal calls with T-COM Concept P412

Status Closed
Id 39010

Description: T-COM Concept P412 does not present CLIP information on internal calls. This phone requires CLIP information only after the first ring pause. Internal calls normally start with two short rings with a pause that is too short for sending CLIP. In this case CLIP is sent after the second ring pulse which is not accepted by this phone.

Solution: add new feature 'first ring followed by CLIP' which starts ringing with a sort of preamble that consists of 100ms ring pulse and 1second pause carrying CLIP information. Afterwars normal ringing is continued.

Products affected: all analoue gateways except ip21

Risk: none Status: fixed in V7-hotfix4, 7.00, 8.00

T38 NAT Problem

Status Closed
Id 39074

problem: NAT connection is not established if ip24 bedind the NAT doesnt start sending data.

solution: Send No-Signal indications every second if no fax signal is present.

files: ac_dsp3.cpp

products: ip22 ip24 ip28 ip302 ip305
risks: low

OEM specific GUI redundant trunk state

Status Closed
Id 39081

Problem: Redundant trunk state in Standby Master mode is wrong.

Solution: Implementation fixed.

Files: dectmaster.cpp.

Products affected: IP4001, IP1201.

Risk: Minimal. Only OEM specific.

OEM specific DECT connection messages

Status Closed
Id 39092

Problem: No OEM specific messages are sent to DECT if connection changes from Master to Standby-Master and vice versa.

Solution: Implementation fixed.

Files: dectradio.h, dectradio.cpp.

Products affected: IP4001, IP1201.

Risk: Low. Only OEM specific.

OEM specific Dect duplicate endpoint message option

Status Closed
Id 39096

Problem: Location cancel command is sent to radios if a conflict is recognized. Dect message option is missed.

Solution: Message option added.

Files: dectmaster.h, dectmaster.cpp.

Products affected: IP4001, IP1201.

Risk: Low. Only OEM specific.

Strange characters in device name if too many öäü... are used

Status Closed
Id 39109

problem: A buffer definition has not taken into account, that a non-ascii7 character takes 6 bytes if stored url-encoded utf8

solution: Buffer size adjusted

files: command.cpp, command.h

products: all

risks: none

missing ring voltage after few days uptime

Status Closed
Id 39110

Description: si3241 chip refuses switching of the ring voltage to the analogue port. Instead a RING_FAIL_IA interrupt is thrown.

Solution: Apply a complete re-initialisation of the specific port when RING_FAIL_IA is thrown.

Products affected: ip28 only

Risk: low

T38 NAT Problem

Status Closed
Id 39111

problem: NAT connection is not established if ip800/6000 behind the NAT doesnt start sending data.

solution: Send No-Signal indications every second if no fax signal is present.

files: ac_fax2.cpp ac_fax2.h

products: ip800 ip6000
risks: low

Call Forward to trunk does not work if can-redirect is set, but redirection not possible

Status Closed
Id 39124

problem: To do redirection the destination number has to be adjusted (trunk prefix removed). This is done even if redirection is not possible. A redirection cannot be done if the call destination is a broadcast group and one member has a forward configured.

solution: Adjust number only if redirection is actually performed

files: pbx.cpp

products: all with PBX

risks: None

new H.323 signaling option to transmit H.245 tunneled messages in Facility only

Status Closed
Id 39125

problem: Some poor H.323 implementations require H.245 tunneled messages to be transmitted in H.225 Facility only. In the past this was combined with the h245-after-connect option (another fix for poor implementations).

solution: New option for H.245 tunneling in facility only

files: signal.h, h323.h, h323sig.cpp, dectmaster.h, dectmaster.cpp

products: all

risks: None

OEM specific broadcast message behavior

Status Closed
Id 39130

Problem: Broadcast messages should not be sent to radios which connection type is not static.

Solution: Condition for sending broadcast messages added.

Files: dectmaster.cpp.

Products affected: IP4001, IP1201.

Risk: Low. Only OEM specific.

no media when retrieving a call put on hold because of a MCast Announce call

Status Closed
Id 39140

Description:
When a busy phone receives a MCast Announce call the currently active call is put on hold, the announce call is connected and becomes the active call. When the announce call is released from remote a busy tone is played until the user presses the disconnect key. Then the previously active call is retrieved and made the active call again.
The DSP/H323 channel binding was not released when holding the call and thus assigning another DSP channel on retrieve failed.

Solution: send CHANNEL_PAUSE to DSP-channel to release the channel DSP/H323 binding

Products affected: all phones

Files: phone_dir_ui.cpp

Risk: low Status: checked in to 8.00, 7.00, 08-70300

too many 'No Media Data Received' events

Status Closed
Id 39143

problem: In special traffic cases or if a call was up very short it is normal that no media data is received during the call, still a 'No Media Data Received' event was generated

solution: Generate 'No Media Data received' event if for more then 4s no data is received on an connected call

files: medialib.h, media.cpp

products: all

risks: None

sporadic assert in http.cpp

Status Closed
Id 39152

problem: sporadic assert in http.cpp

solution: add debug to http.cpp to find out the details

files: http.cpp
products: all

risks: low

sporadic fifo problem on ac_dsp3

Status Closed
Id 39153

Description: Sometimes the dsp fifo comes out of sync.

Solution: debugs added, assert added to find out more details. Update to DSP code 560.14 may help according to audiocodes

Products affected: ip22 ip24 ip28 ip302 ip305

Files: ac_dsp3.cpp

Risk: low

PBX: External calls not released automatically anymore

Status Closed
Id 39161

problem: In v6 phones released a call which was connected after a 2s timeout after receiving disconnect. This way a busy tone was played for 2s only. In v7 we had to change this, because we needed better control from the TAPI over the phone.

solution: Automatic disconnect now implemented in the Trunk object

files: pbx_trunk.cpp, pbx_trunk.h

products: all with PBX

risks: Very low risk of collateral damage

PBX: Reject External call rejects calls diverted with CFNR as well

Status Closed
Id 39165

problem: If the Reject External Calls flag is set at a user, calls which are diverted to this user with CFNR are rejected as well.

solution: Fix code so that checking of internal number works

files: pbx.cpp

products: all with PBX

risks: None

Phone shall not play a local busy tone after another inband tone has been played already

Status Closed
Id 39185

problem: V7 phones do not automatically release a call which was connected after a 2s timeout after receiving disconnect. The PBX releases the call after 2 seconds now. As a side effect after 2 seconds busy tone from remote the local busy tone was played for two more seconds.

solution: Do not play a local busy tone if a disconnect was received before the release.

files: app_call.cpp

products: all phones

risks: Very low risk of collateral damage Status: checked in to 8.00, 7.00, 08-70300

DECT Standby-Master Trap

Status Closed
Id 39190

Problem: DECT Standby-Master could trap if it is not completely configured and the Master reboots.

Solution: Fixed.

Files: dectmaster.cpp.

Products affected: All DECT devices.

Risk: Very low risk of collateral damage.

Bug Fixes

V7 hotfix 5 (08-70300.14)

Changes included in Version 7 hotfix5 Definition

New Features

Missing attribute "entity" in dialog information XML

Status Closed
Id 39229

problem: Mandatory attribute "entity" to dialog information XML (RFC-4235) was missing.

solution: Add mandatory attribute "entity" to dialog information XML.

files: sip_dialog_info.cpp

products: All PBX with SIP

risks: None

Paramter "rport" in Via header in 200/OK for REGISTER causes trouble

Status Closed
Id 39276

Problem: Paramter "rport" in Via header in 200/OK for REGISTER makes the SIP interface re-calculate its Contact-URI. If "rport" comes without "received" parameter, the SIP interface will use 0.0.0.0 as local address in all Contact-URIs.

Solution: Check for "received" parameter.

Files: sip.cpp

Products affected: All SIP devices

Risk: No risk.

Windows Mobile 6.1 SIP Client cannot cancel a call

Status Closed
Id 39335

Problem: Windows Mobile 6.1 SIP Client cannot cancel a pending INVITE transaction if no 100/Trying was sent before 180/Ringing. Even if 180/Ringing was sent in time (200ms).

Solution: Always send 100/Trying immediately when user agent "RTC/1.5" is calling.

Files: sip.cpp

Products affected: All SIP devices

Risk: No risk

Avoid re-negotiation on incoming call leg after connect on secondary registration

Status Closed
Id 39339

Problem: On a call to a multi-registered user the caller gets the SDP of the primary reg in 200/OK. If call was answered on a secondary reg, a re-negotiation follows the 200/OK.

Solution: Postpone initial 200/OK until SDP channels from secondary registration available.

Files: sip.cpp

Products affected: PBX

Risk: Collateral damage on media negotiation

Incoming re-INVITE for a no-longer-existing call was handled like INVITE

Status Closed
Id 39372

Problem: Incoming re-INVITE for a no-longer-existing call was handled like INVITE. A new call was (re-)created.

Solution: Reject re-INVITE with "481 Call Leg/Transaction Does Not Exist".

Files: siptrans.cpp sip.cpp

Products affected: All SIP devices

Risk: No risk.

deprecated default ToS Value 0x10 for RTP even after factory reset

Status Closed
Id 39373

problem: even after factory reset a TOS value 0x10 remains configured because it's defined in the builtin config file of the firmware.

solution: in all config.h files remove "/priority-tos 0x10" from the "start ip IP0 ..." command.

files: config.h

products: all

risks: None Status: checked in to 8.00, 7.00

Enbloc dialing fix for DECT

Status Closed
Id 39425

Problem: Enbloc dialing does not work if first digit(s) match suppl. service.

Solution: Condition added how to send the digits in the sig event info message to the next module if no suppl. service matches.

Files: dtmffty.cpp.

Products affected: All products.

Risk: Minimal risk of collateral damage.

Damaged authorization header in ACK

Status Closed
Id 39428

Problem: Authorization header in ACK is be damaged in case a PRACK caused digest re-calculation.

Solution: Keep authorization header from INVITE for ACK, even if PRACK needs digest re-calculation.

Files: siptrans.cpp sip.cpp

Products affected: All SIP devices

Risk: Authorization problems

H.323 NAT did not forward RAS.NonStandardMessage and failed to decode EFC

Status Closed
Id 39438

Problem: H.323 NAT did not forward RAS.NonStandardMessage and failed to decode well formed EFC.

Solution: Forward RAS.NonStandardMessage and decode well formed EFC elements.

Files: nat_h323.cpp

Products affected: All routing devices doing H.323 NAT

Risk: Non-standard EFC is not forwarded anymore (from older innovaphone software)

RTP not turned off with H.323 channel pause on IP-DECT

Status Closed
Id 39449

problem: A H.323 channel pause received by an IP-DECT system, did not turn off the RTP media. If a PBX used this for Hold signaling it could disturb the media receiving on the endpoint initiating the hold.

solution: Turn off RTP when receiving pause

files: h323ch.cpp

products: all

risks: Low risk of collateral damage

No Early-Media if doing rerouting from physical (ISDN) interface to physical interface in non-EFC cases

Status Closed
Id 39470

problem: If an incoming non-efc call routed to an ISDN interface and then has to be re-routed to another ISDN interface (down, busy, ...), there is no early-media.

solution: Fix H.323 media negotiation to support early-media in this case

files: h323ch.cpp

products: all

risks: Small risk of collateral damage

DECT null pointer trap

Status Closed
Id 39472

Problem: Null pointer trap in radio call object.

Solution: Null pointer check added.

Files: dectradio.cpp.

Products affected: All DECT devices.

Risk: Minimal risk of collateral damage.

PBX User Interface: Only 8 filters are supported for CF, but more could be entered

Status Closed
Id 39476

problem: On PBX Edit CF User interface more then 8 filters could be entered, even if only 8 aree supported

solution: User interface fixed to allow 8 only

files: pbx_edit_cfs.xsl

products: all with PBX

risks: None

OEM specific sending of non-call facilities should disconnect TCP

Status Closed
Id 39478

problem: After sending of OEM specific non-call facility the TCP connection was not cleared

solution: clear TCP connection, use SIG_REL to indicate TCP cleared

files: h323_tbl.tbl, h323sig.cpp, h323sig.h

products: all

risk: Minimal, not used except for OEM

Wrong branch parameter in Via header on ACK for 2xx response

Status Closed
Id 39536

Problem: According to RFC-3261, the branch value in an ACK for a 2xx response must be different from the value in the INVITE.

Solution: Calculate new branch value for ACK after 2xx response.

Files: siptrans.cpp

Products affected: All SIP devices

Risk: No risk.

German/Swedish (åäöü) characters in HTTP Client

Status Closed
Id 39540

Problem:German/Swedish (åäöü) characters in HTTP Client cannot be configured

Solution: convert http form data from UTF8 to ISO-Latin1

Files: httpclient_config.cpp

Products affected: All

Risk: Low

Trap in httpclient during file io access if no CF card is present

Status Closed
Id 39541

Problem: Traps e.g. during music on hold

Solution: remove file_get instance after application confirms the close.

Files: httpclient_i.cpp

Products affected: All

Risk: Low

phones get confused within their 'missed calls list'

Status Closed
Id 39543

Description: phones with internal 'missed calls list' obviously get confused when the gateway sends CLIP multiple times. Sometimes calls are counted multiple times.

Solution: Do not send CLIP multiple times.

Products affected: ip28 only

Risk: low Status: also relevant for V6hotfix14

Diagnostics/TEL5-TEL8 missing, Diagnostics/TEL1-TEL4 trace flags without function

Status Closed
Id 39545

Description: GUI Diagnostics/TEL5-TEL8 missing, Diagnostics/TEL1-TEL4 trace flags without function.

Solution: Correct, add missing entries

Products affected: ip28

Risk: none Status: also relevant for V6hotfix14

Better Diagnostics for Free Error restarts

Status Closed
Id 39556

problem: The cause for a restart because of free error was very hard to find.

solution: Trace last free

files: os.cpp

products: all

risks: None

BYE was not sent when DNS resolving failed

Status Closed
Id 39561

Problem: BYE must be sent to the Contact address of the received final INVITE response. The the domain name of the Contact-URI cannot be resolved, the BYE was not sent at all.

Solution: Send BYE to address/port where the original INVITE was sent to.

Files: sip.cpp

Products affected: All SIP devices

Risk: No risk.

Trap if diverted call (with diverting leg2 info) received on ISDN with EDSS1

Status Closed
Id 39573

problem: If a call is received on an ISDN interface with EDSS1 protocol which contains a diverting leg2 info facility (the call was diverted), a traps happens because of duplicate free of memory. Collateral Damage of http://wiki.innovaphone.com/index.php?title=Support:DVL-Hotfixes#EDSS1_divertingLegInformation2_not_decoded

solution: dupilcate free of memory removed

files: q950.cpp

products: all with ISDN interfaces

risks: None

GN9120 DECT/DHSG Headset - No Media when a waiting call is accepted after the active call has been released by remote party

Status Closed
Id 39583

problem: Two seconds after the active call has been released by the remote party the phone rings to indicate the waiting call. When the active call was connected to the headset one or more RING commands are sent to the headset. When the call is accepted at the phone or the headset a TALK command is sent to the headset but the media strem between headset and phone is not (re)established. This happens only with the GN9120, not with the GN9350.

solution: send an IDLE command before RING.

files: keys_gen.cpp

products: all Phones with an active GN9120

risks: None, the additional command is sent only in this special situation Status: checked in to 8.00, 7.00, 08-70300, 08-60900

Bug Fixes

V7 hotfix 6 (09-70300.16)

Changes included in Version 7 hotfix6 Definition

New Features

no ringing voltage after few days uptime

Status Closed
Id 36445

Description: gateway in 'alerting' condition but no ringing voltage. After power-cycle or softreset this situation is cleared.

Solution: Chipset reset in case of RING_FAIL_IA signaling from Slic Chip as soon as all other ports gone on-hook.

Products affected: ip28

Risk: mid, does not occur in normal cases. Occurence yet not clear. Status: also relevant for v6hotfix, V7, V8

IP-DECT: Allow overlap numbers

Status Closed
Id 39386

Problem: Some (non-innovaphone) PBX support overlap numbers (e.g. 40 and 400). The IP-DECT did not support this.

Solution: Allow overlap numbers.

Files: dectusers.cpp.

Products: All IP-DECT devices.

Risks: Low risk of collateral damage.

The message indicating an active Automatic Redial disappears after first redial attempt

Status Closed
Id 39645

problem: When Automatic Redial is activated the text "Redial" is displayed in the message line. This text disappears after the first redial attempt and thus the user may easy forget to stop it when leaving it's place. Further each redial attempt is listed under "Active Recalls" and thus it's not clear what should be be cancelled.

solution: fix in code

files: app_cc.cpp app_ctl.cpp app_ctl.h app_disp.cpp forms.h forms_gen.cpp forms_ip72.cpp phone_list.cpp

products: all phones

risks: None Status: checked in to 8.00,7.00,08-70300

PBX SOAP: Compatibility to Version 6 broken with UserInfo "num"

Status Closed
Id 39667

problem: In Version 6 a info "num" was available containing the full number including node prefixes for a user. In Version 7 this information was provided differently, but old applications need the Version 6 info.

solution: Provide the old info if old WSDL is used

files: pbx_xml.cpp

products: all with PBX

risks: Small risk of collateral damage

Trap when the http connection timeout is reached immediately after the connection is dropped from remote

Status Closed
Id 39686

problem: When a http socket connection was dropped from remote and and the disconnect timer fired before the http_request object was destructed a shutdown was sent to the already closed socket.

solution: fix in code

files: http.cpp

products: all

risks: None Status: checked in to 8.00, 7.00, 08-70300

PBX CF Loop was detected with CFB, which was not even executed

Status Closed
Id 39764

problem: If a CFU was set to an endpoint which had an CFB back to this endpoint, this was treated like an CFU loop, which resulted in the call being rejected with user busy

solution: Loop detection fixed

files: pbx.cpp

products: all with pbx

risks: Small risk of collateral damage

IP-DECT master crash if config update and anonymous endpoints

Status Closed
Id 39765

problem: A crash because of NULL pointer access could happen if a config update was done while anonymous endpoints exist

solution: Code fixed

files: dectusers.cpp

products: all ip-dect

risks: Severe risk of collateral damage

sporadic HTTP_REQUEST Assertion

Status Closed
Id 39783

problem: HTTP_REQUEST Assertion: no servlet occurs if lots of logging is done to a box

solution: delete servlet after last send to avoid race condition with next http request
files: http.cpp

products: all

risks: Low risk of collateral damage Status: checked in to 8.00, 7.00, 08-70300

OEM specific 'scfg' command output

Status Closed
Id 39835

problem: the OEM provides an own module to save and restore config in a special format. the 'scfg' command output shall be in same format.

solution: if the OEM module is present 'scfg' replaces the default command sequence by a single command to the OEM module.

files: update.cpp

products: all

risks: None Status: checked in to 8.00, 7.00, 08-70300

config option to force display of alerting calls both on partner key and on pickup key

Status Closed
Id 39861

problem: alerting calls are not displayed on a pickup key if a partner/park key associated to a display line is defined for the alerting party. some customers want such calls to be displayed as well on partner/park key as on pickup key.

solution: implement option "config add PHONE APP /pick-partner"

files: app_cfg.cpp app_cfg.h app_disp.cpp

products: all phones

risks: None Status: checked in to 8.00,7.00,08-70300

ICMP Address mask requests shall be ignored

Status Closed
Id 39878

problem: ICMP Address mask requests as defined in RFC 950 are not really used by current devices and need not to be responded. Some security check programs complain if responses are sent on such requests.

solution: ignore ICMP Address mask requests

files: ipproc.cpp

products: all

risks: None
Status: checked in to 8.00, 7.00, 08-70300

Dial funktion key shall provide a pause character for DTMF tone timing

Status Closed
Id 39932

problem: The "Send in Active Call" checkmark of a dial function key permits to send DTMF digits in an already established call. The time between two digits is fixed to 200 milliseconds which is too fast for some applications.

solution: a comma (',') inserted between the digits represents a delay of 300 milliseconds. "1,2" means that '2' is sent 500 milliseconds after '1', "1,,,2" delays '2' for 1100 milliseconds.

files: phonesig.cpp

products: all phones

risks: None Status: checked in to 8.00,7.00,08-70300

Wrong "direction" attribute in dialog-info (group indications)

Status Closed
Id 39983

problem: Attribute "direction" has always value "initiator". Even if inbound calls are reported. In result call-pickup did not work.

solution: Fix the "direction" attribute.

files: sip.cpp/h sip_dialog_info.cpp/h

products: all PBX devices using SIP

risks: None

G711u exclusive doesn't work with dtmf featurecodes/directory search/icp pbx objects

Status Closed
Id 39986

problem: if user has G711u exclusive, the above pbx objects won't work as there is no G711u MOH.

solution: instead of MOH, a dialing tone is used now. After receiving first digit, tone is stopped.

files: pbx_dirsearch.cpp/h, pbx_dtmf.cpp/h, pbx_icp.cpp/h

products: all PBX devices

risks: minor

icp traps with after dialed digits

Status Closed
Id 40006

problem: if user does not dial the whole number at once but digit by digit, the box traps.

solution: changed digit handling

files: pbx_icp.cpp/h

products: all PBX devices

risks: none

Memory Leak when sending non-call facilities with OEM specific H.323 version

Status Closed
Id 40108

problem: A call object was not deleted when sending non-call facilities, in case of "reuse-tcp"

solution: Handle this case to delete the call object

files: h323sig.h, h323_tbl.tbl

products: all

risks: None

IP-DECT: Delete buttons for anonymous subscriptions in GUI

Status Closed
Id 40112

Problem: Delete buttons disappear from all anonymous subscriptions in GUI when pressing delete on one subscription.

Solution: Fixed.

Files: dectunknown.xsl.

Products affected: All DECT devices.

Risk: Minimal risk of collateral damage.

IP-DECT OEM specific idle display

Status Closed
Id 40115

Problem: Handset idle display does not work correctly in OEM version after handset restart.

Solution: Fixed.

Files: dectmaster.cpp.

Products affected: All DECT devices.

Risk: No risk of collateral damage, OEM only.

IP-DECT GUI radio list sorting by Id

Status Closed
Id 40117

Problem: Radio list can't be sorted by radio id.

Solution: Feature added.

Files: dectmaster_radios.xsl (OEM).

Products affected: All DECT devices.

Risk: Minimal risk of collateral damage.

PBX replication timeouts too short

Status Closed
Id 40124

problem: There are timeouts to slow down adding or removing the rep attribute to user objects to reduce replication traffic. These timeouts have been set to very short values for testing and forgotten

solution: Increase timeouts to normal values

files: pbx.h

products: all with PBX

risks: None

IP-DECT GUI user list sorting

Status Closed
Id 40133

Problem: User list can't be sorted by Rights, Display, IPEI or Registration.

Solution: Feature added.

Files: dectusers.cpp, dect_users_right.xsl (OEM).

Products affected: All DECT devices.

Risk: Minimal risk of collateral damage.

PBX CDR should not be generated for call independent signaling calls

Status Closed
Id 40135

problem: CDR records were generated for control calls (like group indications)

solution: Generate CDR for calls with media only

files: pbx.cpp

products: All with PBX

risks: None

IP-DECT &amp; SIP: Distinctive Ringing support for several OEM PBX

Status Closed
Id 40145

Problem: Different Alert-Info headers from several OEM PBX are not recognized by SIP and passed through to the DECT system.

Solution: Decode Alert-Info header and pass through call-type information.

Files: sip.cpp dectmaster.cpp

Products affected: All DECT devices.

Risk: Minimal risk of collateral damage.

Re-transmission of INVITE after CANCEL has been send

Status Closed
Id 40151

Problem: If 407 for INVITE arrives after CANCEL has been sent, the INVITE was re-transmitted with autorization header.

Solution: Ignore 407 response after CANCEL has been sent.

Files: sip.cpp

Products affected: All SIP devices

Risk: No risk.

LDAP, ASN.1-Encoding failed for objects with ~100 attributes

Status Closed
Id 40171

Problem: Node objects with approx. 100 rep-attributes weren't replicatable.

Solution: Fix Asn.1 encoding

Files: ldapsrv.cpp, ldapdir.cpp

Products affected: All PBX products

Risk: none

PBX: Callforward from waiting to waiting with CFNR at the end of announcement did not work sometimes

Status Closed
Id 40195

problem: For calls received from a Trunk object the call forward with CFNR from one Waiting to another caused the call being disconnected after 2s. This was collateral damage of fix #39161.

solution: Bug fixed

files: pbx_trunk.cpp

products: all with PBX

risks: Small risk of collateral damage

IP-DECT Master handover canceled statistic

Status Closed
Id 40201

Problem: Dect Master handover canceled statistic is not correct.

Solution: Fixed.

Files: dectmaster.cpp

Products affected: All DECT devices.

Risk: Minimal risk of collateral damage.

IP-DECT monitor interface for OEM modules

Status Closed
Id 40202

Problem: The IP address of the Standby Master is needed in OEM modules.

Solution: New argument was added in monitor function interface and monitor function calls were updated.

Files: dectmaster_if.h, dectmaster.h, dectmaster.cpp.

Products affected: All DECT devices.

Risk: Minimal risk of collateral damage.

RTP timestamp jumps during hold/retrieve/transfer

Status Closed
Id 40213

Problem: RTP timestamp jumps during hold/retrieve/transfer. On media-relay scenarios this may confuse the remote side and result into one-way-audio.

Solution: Keep RTP timestamp progressively on media-relay scenarios.

Files: medialib.h media.cpp media_fwd.h/cpp

Products affected: All gateway devices

Risk: No risk.

Trap in SIP stack on incoming calls

Status Closed
Id 40247

Problem: Trap in SIP stack on incoming calls.

Solution: Fix.

Files: siptrans.h

Products affected: All SIP devices

Risk: No risk.

Problem when CFNR should result in same phone ringing again together with busy on 1 call

Status Closed
Id 40268

problem: If a user had set busy on 1 call a call forward which should have resulted in ringing the same phone again (e.g. to a broadcast group including this user) the phone stopped ringing

solution: Counting of active calls fixed

files: pbx.cpp

products: all with PBX

risk: Small risk of collateral damage

IP-DECT Null pointer trap

Status Closed
Id 40271

Problem: Null pointer trap in dectradio.

Solution: Null pointer check added.

Files: dectradio.cpp.

Products affected: All DECT devices.

Risk: Minimal risk of collateral damage.

No authorization was done on de-regstration on SIP client interfaces

Status Closed
Id 40275

Problem: If a SIP endpoint de-registers before shutdown a 401 was not handled.

Solution: Keep REGISTER client transaction in order to handle 401 response.

Files: sip.cpp/h

Products: All SIP devices

Risk: Collateral damage on handling of REGISTER responses.

Dialing from unknown reg for deployment did not work with CFU set at target user

Status Closed
Id 40278

problem: A CFU was executed even if the user was dialed from an unknown registration. This prohibited that the unknown registration was assigned to this user.

solution: Do not execute CFU for calls from unknown registrations

files: pbx.cpp

products: all with PBX

risks: None

transparent recording of external calls must be perfomed for inbound and outbound calls

Status Closed
Id 40308

problem: with "Configuration/Registration n/Recording/Mode" = 'transparent' and "Configuration/Registration n/Recording/External Calls Only" = 'checked' only inbound external calls were recorded. if an outbound call is an external call is indicated in the numbering plan of the 'connected number' and this info was not passed to phoneapp.

solution: update numbering plan of remote party with the 'connected number' info, check for external call at connect time

files: phonesig.cpp, app_call.cpp

products: all phones

risks: None Status: checked in to 8.00,7.00,08-70300

H.323 slowstart media renegotiation fails if initaited before the previous neg. completes in remote media case

Status Closed
Id 40314

problem: In case of remote media (e.g. the IP-DECT master is doing this) media-reneg. fails if previous media neg. was not completed. Results in IP-DECT no media calls for special supplementary services on some third party PBXs

solution: Fix media neg.

files: h323ch.cpp

products: all

risks: None

TLS socket did not send up remaining data after TCP connection shutdown

Status Closed
Id 40482

Problem: In some cases the TLS socket did not send all remaining data up after the remote endpoint closed the TCP connection. This happened if the HTTP-Client got TLS fragments bigger than 2000 byes followed directly by a FIN.

Solution: Delay socket shutdown with the HTTP client until all data has been delivered.

Files: tls.cpp

Products affected: All devices

Risk: Small risk of damage with other TLS applications

SOAP monitored call to busy on ... busy endpoint was terminated with rel_com instead of disc

Status Closed
Id 40490

problem: A call to a busy on ... calls busy endpoint was disconnected with RELEASE-COMPLETE even if monitored by SOAP. This results in SOAP (TAPI) not being able to disconnect the call to turn off the busy signal

solution: Use DISC to clear such a call

files: pbx.cpp

products: all with PBX

risk: None

No media if Transfer done by SIP endpoint from H.323 to H.323 endpoint if SIP ep has done Hold/Retrieve

Status Closed
Id 40600

problem: Call from H.323 ep to SIP, SIP does HOLD/RETRIEVE and the transfer to another H.323 ep -> No media

solution: Fix media negotiation

files: h323ch.cpp

products: all

risks: small risk of collateral damage

TLS could trap when sending big packets

Status Closed
Id 40609

Problem: There was a bug in the packet re-fragmentation in the TLS layer that could lead to a trap when sending big packets.

Solution: Fix fragmentation mechanism

Files: tls.cpp

Products affected: All devices

Risk: No risk.

DTMF detection did not work randomly

Status Closed
Id 40666

problem: A config parameter for the DSP channel was uninitialized, which caused DTMF detection not work randomly

solution: Initialize all parameters

files: ac_dsp2.cpp

products: IP6000, IP800

risks: none

Echo canceling sometimes not active on IP72

Status Closed
Id 40677

problem: Echo canceling not active on IP72 is callmanage is used

solution: Prevent too frequent initialisations of the echocanceller
files: omap_codec.cpp

products: ip220,ip72

risks: Low risk of collateral damage

Out-Of-Memory trap during voice message recording

Status Closed
Id 40729

Problem: VM script tries to record a voice message into a non-existing directory. File writing fails but writing is re-tried endlessly. May result into out-of-memory trap.

Solution: Stop recording on error and do not try again.

Files: webmedia.cpp, pbx_vm.cpp, vm_script_if.cpp

Products affected: All PBX with VM object

Risk: No risk.

assert with simultaneous write and read access to a cf file

Status Closed
Id 40759

problem: if one process writes a file and another process reads this file and the current filesize is a multiple of the cluster size and the next cluster has been alread allocated by the first writing process, the reading process might send a cf_read_event with 0, which causes a trap

solution: check for 0 in cf_read_event and handle this like eof

files: fat32.cpp

products: all devices with cf card

risks: minor, as this constelation is extremly rare

Out of Memory trap when box is flooded with malformed/bad checksum packets

Status Closed
Id 40767

problem: when a box is flooded with malformed/bad checksum packets and the packets arrive faster than the resulting log events can be processed by the logging module, the box may run out of memory.

solution: ipproc.cpp gathers errors for one second, in case of more than 50 errors per second errors are dropped. gathered errors are passed to fault_handler.cpp any second. To prevent overuse of vars when saving errors saving is delayed for one second. only the last 50 errors arriving in this second are saved then.

files: ipproc.cpp, ipproc.h, fault_handler.cpp, fault_handler.h

products: all

risks: Minimal.
Status: checked in to 8.00, 7.00, 08-70300

IP-DECT Null pointer trap in Master (OEM)

Status Closed
Id 40779

Problem: Null pointer trap in dectmaster with immediately send enbloc setup in OEM case.

Solution: Null pointer check added.

Files: dectmaster.cpp.

Products affected: All DECT devices.

Risk: Minimal risk of collateral damage.

IP-DECT OEM module debug output trap

Status Closed
Id 40790

Problem: Trap during debug output in OEM module with many users.

Solution: Function changed.

Files: dectmobmaster.cpp.

Products affected: All OEM DECT devices.

Risk: No risk of collateral damage.

After power up alt-gk was used instead of primary with IP-DECT

Status Closed
Id 40845

problem: After power up the dectmaster registered the endpoints to the alternate not primary gk as expected. Usually this does not cause a problem, because it should switch over to the primary if the alternate does not respond. But there is a delay.

solution: Fix initialization

files: h323sig.cpp

products: all

risks: None

IP-DECT OEM module Mobmaster Master/Standby-Master login

Status Closed
Id 40943

Problem: Users are missed if Master and Standby-Master are connected at the same time.

Solution: Function fixed.

Files: dectmobmaster.h, dectmobmaster.cpp.

Products affected: All OEM DECT devices.

Risk: Minimal risk of collateral damage.

IP-DECT Null pointer trap in Master with anonymous handsets

Status Closed
Id 40947

Problem: Null pointer trap in dectusers with anonymous handsets.

Solution: Null pointer check added.

Files: dectusers.cpp.

Products affected: All DECT devices.

Risk: Minimal risk of collateral damage.

Duplicate execution of interface maps in case of setup without digits

Status Closed
Id 40982

problem: Interface maps are executed with the setup arriving AND with the first digit received. If a CDPN map is configured without digit to match, this could result in the same prefix being added twice

solution: Adjust output of the map on second execution by the output generated with the first execution

files: relay.cpp

products: all gateway products

risk: Small risk of collateral damage

Changing LDAP server login credentials must force clients to re-login

Status Closed
Id 41024

Problem: LDAP server credential administration did not affect existing server connections.

Solution: Apply credentials to existing server connections. Tear down connections, if required.

Files: ldap/*

Products affected: All PBX, Dect Products

Risk: No risk.

LDAP server user account GUI doesn't accept 5 entries

Status Closed
Id 41025

Problem: LDAP Server administration malfunctioned when entering more than three accounts.

Solution: An internal buffer's dimension was too small, causing neglection of input. The buffer size was increased.

Files: ldap/*

Products affected: All PBX, Dect Products

Risk: No risk.

IP-DECT OEM trunk status inquiry

Status Closed
Id 41026

Problem: Status inquiry is lost if a released call is used.

Solution: Function fixed.

Files: dectmaster.cpp.

Products affected: All OEM DECT devices.

Risk: Minimal risk of collateral damage.

Forward last diverting information (not the first)

Status Closed
Id 41036

Problem: If a several diverting information elements arrive with a call at the gateway, only the first was mapped and forwarded.

Solution: Map and forward last diverting information.

Files: relay.cpp

Products: All Gateway devices

Risk:

IP-DECT OEM remove endpoint data command for debugging

Status Closed
Id 41062

Problem: New command to remove endpoint data for debugging is needed.

Solution: Command added, obsolete command removed.

Files: dectradio.h, dectradio.cpp, dectlocalusers.cpp.

Products affected: All OEM DECT devices.

Risk: No risk of collateral damage.

LDAP-Expert-View with unknown Login

Status Closed
Id 41065

Problem: Editing under LDAP/Expert by an IE ended in a login loop.

Solution: switch to mod_cmd_login.xml

Files: ldap/flashdirui*.xsl

Products affected: All PBX, Dect Products

Risk: No risk.

always display full number/name of 1st calling party on pickup key if requested via configuration

Status Closed
Id 41068

problem: specially when "Administration/Phone/Preferences/Display Name on Pickup/Partner Key" is checked the calling party number may often be truncated or left off if too much space is needed to display the called parties.

solution: the new checkmark "Administration/Phone/Preferences/Keep Calling Party Info on Pickup Key" forces truncation of called party info instead of the calling party.

files: app_disp.cpp, app_cfg.cpp, app_cfg.h, phone_pref.xsl

products: all phones

risks: None
Status: checked in to 8.00,7.00,08-70300

DGPN Mapping Produced Nonsense Numbers

Status Closed
Id 41102

Problem: DGPN mapping produced nonsense numbers

Solution: Apply DGPN mapping only, if map is really suitable

Files: gk.cpp

Products affected: All Gateway products

Risk: No risk.

IP-DECT OEM trunk state after config change

Status Closed
Id 41125

Problem: The initial trunk state is not correct after configuration change without reboot. Unnecessary location registration messages are sent.

Solution: Initial trunk state fixed.

Files: dectmaster.h, dectmaster.cpp.

Products affected: All OEM DECT devices.

Risk: Minimal risk of collateral damage. OEM firmware only.

immediate diversion activation after receiving icp activation code

Status Closed
Id 41144

problem: incoming icp activate only activates diversion if server acknowledges connection

solution: already activate diversion after receiving activation call

files: pbx_icp.cpp

products: all devices with pbx

risks: no

Misrouting of GRE packets

Status Closed
Id 41214

Problem: NAT of GRE session may fail due wrong socket selection for incoming GRE packet.

Solution: Check local address of socket object.

Files: ipproc.cpp

Products: All NAT devices

Risk: No risk.

re-INVITE(sendrecv) was answered with 200/OK(inactive) if the initial INVITE was "inactive"

Status Closed
Id 41226

Problem: re-INVITE(sendrecv) was answered with 200/OK(inactive) if the initial INVITE was "inactive".

Solution: Honor media mode change.

Files: sip.cpp

Products: All SIP devices

Risk: No risk.

Potential Trap in RTP if error logging happens during call clearing

Status Closed
Id 41287

problem: If an RTP error log is generated when the RTP entity is already closing a NULL pointer access trap can happen

solution: Check for RTP closing before creating the event

files: media.cpp

products: all

risks: None

PROGRESS with in-band-info not sent on ISDN

Status Closed
Id 41288

problem: A PROGRESS message with in-band-info was suppressed even in case no progress indicator was sent before (in SETUP-ACK, CALL-PROC). This caused in-band tones not be available in such situation

solution: Better check when to suppress PROGRESS

files: q931.cpp, q931.h

products: All with ISDN interfaces

risk: Some risk of collateral damage

IP-DECT OEM module Mobmaster missing endpoints

Status Closed
Id 41333

Problem: Endpoints are missed if at least two Mobmaster are used.

Solution: Clean cache function fixed.

Files: dectmobmaster.cpp.

Products affected: All OEM DECT devices.

Risk: Minimal risk of collateral damage. Only for OEM products.

IP-DECT OEM data calls unavailable

Status Closed
Id 41334

Problem: OEM data calls are unavailable if no trunk is alive, but it should be independent.

Solution: Call accept condition changed.

Files: dectmaster.cpp.

Products affected: All OEM DECT devices.

Risk: Minimal risk of collateral damage. Only for OEM products.

src-url not transmitted accross PBXs

Status Closed
Id 41344

problem: The URL Parameter configured at a user is sent with calls of this user. It is put into CDRs by the gateway and can be used for billing purposes. If the call was received from another PBX, the src-url was not forwarded.

solution: Forward src-url

files: pbx.cpp

products: All with PBX

risks: None

configurable TCP send/recv window size to prevent running out memory with a big number of parallel http sessions

Status Closed
Id 41346

problem: boxes with limited DRAM like ip302/ip305 may run out of memory when processing a big number of parallel http put requests directed to CF card. This may happen for example when a scfg command is performed by a lot of update clients at the same time. Because of the low CF card speed most sessions cannot access the card for a while and will buffer a full window.
A window size lower than 65535 (the current default) did not work stable with the apache http server, thus the default cannot be changed.

solution: for custumers using a small box as update server for a big number of clients but do not access another http server the window can be configured.
config add IP0 /tcp-bs-small <window-size>
defines the window size for normal (non-NAT) sockets,
config add IP0 /tcp-bs-large <window-size>
defines the window size for NAT sockets.
The limits for both values are (2 * 1024) <= <window_size> <= (128 * 1024), the default for both values is 65535 as before.

files: tcp.cpp tcp.h ipproc.cpp ipproc.h ip_config.cpp ip_config.h

products: all

risks: None (as long as the default is not changed, depending on http server otherwise). Status: checked in to 8.00,7.00,08-70300

Wrong redirecting number on retry of recall

Status Closed
Id 41357

problem: A recall after a failed transfer should show the transfer destination as redirecting number. If the recall failed because of the transferor was busy again, this was not the case with the retry of the recall.

solution: Send correct redirecting number

files: pbx.cpp pbx.h

products: All with PBX

risks: Small risk of collateral damage

Bad Noise Level in RTP Comfort Noise Packets

Status Closed
Id 41388

Problem: CN packets contained "0" as noise level, but the noise level is expressed in -dBov which means maximum noise.

Solution: Change noise level value into "127".

Files: media.cpp

Products: PBX voice mail

Risk: No risk. Status: PBX voice mail sends CN packets during message recording.

PBX: CDR missing some importent Information if call is forwarded by Waiting

Status Closed
Id 41432

problem: The PBX CDRs did not show the destination to which calls are forwarded by Waiting with DTMF dialing

solution: Add more information to CDR

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

products: All with PBX

risks: Minimal

Trap in SIP stack due to misalignment of data struct

Status Closed
Id 41483

Problem: Trap in SIP stack due to misalignment of data struct.

Solution: Fixed alignment.

Files: siptrans.cpp

Products: All SIP devices

Risk: No risk.

Use To header for routing of incoming MESSAGE requests

Status Closed
Id 41485

Problem: MESSAGE routing through Gateway did not work properly.

Solution: Use To header for routing of incoming MESSAGE requests.

Files: sip.cpp

Products: PBXs and Gateways

Risk: No risk.

VM. Escaping missing for directory names and CGPNs encoded in file names

Status Closed
Id 41642

problem:
-Voicebox directories for usernames containing '/','*' weren't processable.
-Filenames emerging during <pbx-record> and carrying a CGPN (separated by a hyphen'-') that contains '*','#' weren't processable.

solution:
-Internally add more escaping for user directories.
-Internally apply escaping for the CGPN name part when processing <pbx-record>
-Internally apply unescaping for the CGPN name part when processing <store-split>

files: vm_script_if.cpp

products: All with PBX

risks: All private scripts with a '/' in the "root"-attribute of one of the "<store-..>"-elements must be adapted a'la:
modify
<store-del root="one/two/" name="test.txt"/>
into
<store-del root="" name="one/two/test.txt"/>

Portuguese translation not complete

Status Closed
Id 41660

problem: portugeuese translation not complete

solution: fixed phonetext

files: phone/txt/phonetxt.base phone/txt/phonetxt.cpp

products: phones

risks: none


Number/Name update during call did not work

Status Closed
Id 41733

Problem: Number/Name update during call did not work, since check for extension "from-change" did not work if multiple Supported headers were present.

Solution: Fix parsing of multiple Supported headers.

Files: sipmsg.h

Products: All SIP devices

Risk: No risk.

add 'rebootn' and 'irebootn' command to make bootcode activation in update process unique in all versions

Status Closed
Id 41739

problem: the only method for bootcode activation working for all devices and bootcode versions is the 'reboot' command (as far as it is supported by the running firmware). For straightforward update scripting the commands 'rebootn' and 'irebootn' are required.

solution: add the commands

files: command.cpp

products: all

risks: None
Status: checked in to 8.00,7.00,08-60900,08-70300

new 'name' metacharcter string #n in URL parameters in update commands

Status Closed
Id 41741

problem: files created for example via "mod cmd UP0 scfg <url> ..." may be identified by hardware number ('#h'), mac address (#m) or ip-address (#i) provided in <url>. sometimes these informations are not remembered when needed. The new '#n' metacharcter string is replaced by <device-name>.
<device-name> is the name configured under "Configuration/General/Admin/Device Name" with space, control and punctuation characters except '-' replaced by '_'.
If there is no name configured #n is replaced by "noname".
Because <device-name> is not necessarily unique it should only be used in combination with one of the unique identifiers #h, #m or #i.

solution: expand #n

files: update.cpp

products: all

risks: None
Status: checked in to 8.00,7.00,08-70300

Trap when using SIP/TLS through NAT

Status Closed
Id 41810

Problem: Trap when using SIP/TLS through NAT.

Solution: Do not call send_nat_keepalive() in case of connection oriented transport.

Files: sip.cpp

Products: All SIP devices

Risk: No risk.

sectored firmware upload fails when the first firmware chunk sent to flashmanager is shorter 1000 byte

Status Closed
Id 41836

problem: at the beginning of an upload the flasmanager gathers the firmware chunks until at least 1000 byte are available. Then the header is checked and if valid write_firmware() is called to write the packet to flash. A 'start' flag indicates if it is the first call and thus flash segments have to be reserved. This flag is copied from the current chunk(event) but is TRUE in the first event only.

solution: remember start condition separately and clear after first call to write_firmware()

files: flashman.cpp, flashman.h

products: all

risks: None Status: checked in to 8.00,7.00,08-70300

PBX: Trap when changing filters with 'next'

Status Closed
Id 41875

problem: When chaining filters with 'next' a trap could happen when these filters were changed

solution: Fix merged from v8

files: pbx.cpp

products: All with PBX

risks: Minimal, fix very well tested in v8 already

IP-DECT debug output

Status Closed
Id 41881

Problem: Option number is missed in debug output.

Solution: Option added.

Files: dectlocalusers.cpp.

Products affected: All OEM DECT devices.

Risk: No risk of collateral damage.

httpclient does not flag EOF in last nonempty data packet when reading a file from local CF card

Status Closed
Id 41885

problem: When reading a file from a WEB server the httpclient::recv_data() callback indicates the last packet of data by setting packet::code = 1. When reading a file from local CF card packet::code of the last packet is zero as for all other packets. some clients (for example the update process) fail if this (historical) EOF convention is not kept.

solution: fix in code

files: httpclient_i.cpp

products: all

risks: None
Status: checked in to 8.00,7.00,08-70300

New interoperability option "/take-sendonly-as-inactive"

Status Closed
Id 41886

Problem: Some SIP phones send SDP offer with "sendonly" and expecting the PBX to play MOH to the remote party. They actually don't want to send no RTP itself although explicitely indicated. MOH is only started by the PBX in case of "inactive".

Solution: New interoperability option "/take-sendonly-as-inactive". With this option set, "sendonly" is handled as "REMOTE-HOLD". Without, it is handled as "HOLD-NOTIFIC".

Files: sip.h/cpp

Products: All SIP devices

Risk: No risk.

AD Replication Configuration: Enable checkmark not always reflectig persistent config

Status Closed
Id 41921

Problem: The enable checkmark was cleared volatile when an error condition was detected within the replication configuration. The admin couldn't see that it was still enabled in the persistent config.

Solution: Auto-Stopping now acts on an own volatile flag instead of on enable flag.

Files: ldap*

Products: PBX, DECT Products

Risk: No risk.

Config Template Objects not replicated to slave PBXs

Status Closed
Id 41925

problem: The node/loc attributes of a Config object were set to 'root' which prohibited replication to slaves with a PBX filter.

solution: Don't set node/loc attributes

files: pbx_edit_config.xsl

products: All with PBX

risks: Could be that setting loc/node to root was good for something

Partner key without pickup functionality

Status Closed
Id 41937

problem: sometimes it is desirable to have a key to watch the status of a partner and to dial this partner but withour pickup functionality

solution: new partner key flag "Do not pick up an alerting Call"

files: phone_config.cpp, phone_config.h, phone_edit.cpp, app_fkey.cpp, fkey_edit_partner.xsl

products: all phones

risks: None Status: checked in to 8.00,7.00,08-70300

IP-DECT Delay on incoming call as a configurable parameter

Status Closed
Id 42013

Problem: Delay on incoming call as a configurable parameter is missed.

Solution: Option added.

Files: dectmaster.h, dectmaster.cpp, dectmaster.xsl.

Products affected: All OEM DECT devices.

Risk: Minimal risk of collateral damage.

IP-DECT trunk down events

Status Closed
Id 42051

Problem: Diagnose events are missed if trunks are down.

Solution: Diagnose events added.

Files: dectmaster.cpp.

Products affected: All OEM DECT devices.

Risk: No risk of collateral damage.

IP-DECT delayed user location registrations for trunks

Status Closed
Id 42053

Problem: There must be some delay in sending user location registrations to trunks to prevent CPU overload.

Solution: Function changed.

Files: dectmaster.h, dectmaster.cpp.

Products affected: All OEM DECT devices.

Risk: Minimal risk of collateral damage. OEM device only.

Bug Fixes

V7 Hotfix 7 (09-70300.17)

Changes included in Version 7 hotfix6 Definition

New Features

when transparent recording for external calls was configured, internal calls to voice mail were recorded too

Status Closed
Id 42180

problem: the type of an outbound call is not known at the phone until the call is connected. usually the connect message from the PBX provides this info in the numbering plan of the connected party number. in calls to the voice mail connected party number is not provided and this was misinterpreted as external call.

solution: assume internal call if connected party number is not provided

files: phonesig.cpp

products: all phones

risks: None
Status: checked in to 8.00,7.00,08-70300

v7hf7: Voicemail fails to prompt stored messages

Status Closed
Id 42216

problem: Applies to v7hf6. With the innovaphone voice mail, previously stored messages can´t be listened to any more. Also, the recording based on voice mail does not work any more.

solution: Exclude '/' character from name conversion

files: vm_script_if.cpp

products: All with PBX

risks:

checkmark "Phone/Preferences/Keep Calling Party Info on Pickup Key" cannot be cleared

Status Closed
Id 42257

problem: the checkmark could be set but not cleared.

solution: fix in code

files: phone_pref.xsl

products: all phones

risks: None Status: checked in to 8.00,7.00,08-70300

Bug Fixes

V7 Hotfix 8 (09-70300.19)

Changes included in Version 7 hotfix8 Definition

New Features

PBX-SOAP: Number update missing for overlap dialing

Status Closed
Id 42116

problem: On overlap dialing no update was sent to the monitoring application but only later with e.g. Alert. This way the application could not get the original dialed number if a call-forwarding was executed

solution: Send update with each dialed digit (as it was in v6)

files: pbx.cpp

products: all with PBX

risks: None

Suppress Name/Number update after transfer for endpoints calling with CLIR

Status Closed
Id 42117

problem: On PBX internal calls with CLIR, the number was presented to the remote party after a call transfer

solution: Suppress ct_complete for CLIR numbers

files: pbx.cpp, pbx.h

products: All with PBX

risks: Small risk of collateral damage

PBX: Direct call from secretary to exec on slave did not work if call routed thru master

Status Closed
Id 42142

problem: On a exec configured on a slave PBX a call from a scretary to the exec could be routed thru the master. This could happen for example if the physical location of the secretary was in fact somewhere else. In this case the call from secretary to master was not allowed.

solution: Check to determin if call is in fact from the secretary fixed

files: pbx_exec.cpp

products: All with PBX

risks: Almost none

Problems with Number display in PBX config with escapes

Status Closed
Id 42189

problem: If escapes are configured numbers displayed for the picking up endpoint, the diverted-to endpoint (leg1) and for a number configured with "Send Number" contained escapes, which were not correct

solution: Handle escapes better

files: pbx.cpp

products: All with PBX

risks: Some risk that other numbers are not displayed correctly

PBX: External calls to users with 'Reject external Calls' should be rejeceted with 'Unassigned Number'

Status Closed
Id 42195

problem: External calls to PBX objects with 'Reject external calls' were rejected with cause 'Call Rejected' which reveals that the number exists, which may be more then wanted. On the other hand with 'Unassigned Number', the invalid number destination can be used in the trunk object.

solution: Use 'Unassigned Number'

files: pbx.cpp

products: All with PBX

risks: Could be that somebody needs 'Call Rejected' for some reason

v7hf7: ringing frequency 50Hz instead of 25Hz

Status Closed
Id 42273

problem: All analogue gateways unse 50Hz AC fpr ringing signaling. 50Hz is common with conservative FXS designs using relays and AC derived from mains. Nevertheless the correct frequency is 25Hz.

solution: switch over to 25Hz ringing

files: si3210_drv.cpp, si3241_drv.cpp

products: ip22, ip24, ip25, ip302, ip28

risk:

IP-DECT OEM trap with locations reference

Status Closed
Id 42280

Problem: Trap with usage of OEM locations.

Solution: Function changed.

Files: dectmaster_if.h, dectusers.cpp.

Products affected: All OEM DECT devices.

Risk: No risk of collateral damage. OEM devices only.

Take 200 response w/o Contact header for REGISTER as reject

Status Closed
Id 42414

problem: Some SIP server reject a failed authorization with "200 Auth Failed" w/o Contact header. This was interpreted as successful registration.

solution: Take it as 'rejected'.

files: sip.cpp

products: All with SIP

risks: No risk.

Group Indications should show changed remote number

Status Closed
Id 42420

problem: New Feature needed: Partner key should not only show the connected number but should also update this number if remote number changes, because of transfer.

solution: Group Indications for the update sent

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

products: all with PBX

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

IP72: alarms originating from IP72 carry wrong &amp; uninitialized netbios address IP72-00-00-00

Status Closed
Id 42483

problem: alarms originating from IP72 carry wrong & uninitialized netbios address IP72-00-00-00

solution: fixed module start order (init_parameters before mac used)

files: config/platform.h

products: IP72

risks: none


In the Terminal Capability Set coder g711A shall preceede g711u

Status Closed
Id 42503

problem: If a device providing only g711A and g711u (in that sequence) in its TCS connects to our devices the negotiated coder may be either A-law or u-law. In Europe A-law always should be the preferred coder

solution: reorder the coder tables returned by DSP drivers on a get_caps() request.

files: ac_dsp.cpp, ac_dsp2.cpp, ac_dsp3.cpp, omap_dsp.cpp, inca_dsp.cpp

products: all

risks: Minimal
Status: checked in to 8.00,7.00,08-70300

Pending Recalls are included only in combined call list but not in inbound call list

Status Closed
Id 42571

problem: the source of pending recalls indicated on the idle screen could not be determined by simply pressing the R-key and checking the inbound call list.

solution: fix the list item selection mask in R-key handler and call lists menu

files: app_ctl.cpp, phone_list_ui.cpp

products: all phones

risks: None
Status: checked in to 8.00,7.00, 08-70300

Pickup key disappears when a "Short Name (H323ID)" longer than a display line should be displayed

Status Closed
Id 42597

problem: if "Administration/Phone/Preferences/Display Name on Pickup/Partner Key" is checked, the configured "Short Name (H323ID)" is displayed instead of the Number. a name longer than than a display line was truncated to 0 and thus the key label was not displayed.

solution: truncate names to size of display line.

files: app_disp.cpp

products: all phones

risks: None
Status: checked in to 8.00,7.00,08-70300

IP-DECT New Radio BMC firmware version PCS05Ag

Status Closed
Id 42626

Problem: Newer Radio BMC firmware.

Solution: BMC firmware update.

Files: fp_1g8_ip_1200.bin.

Products affected: All OEM DECT devices.

Risk: Third party firmware.

reverse name resolution via external LDAP server fails if the number attribute list is terminated by a comma

Status Closed
Id 42640

problem: if "Configuration/Registration x/Directories/External LDAP Server/Number Attributes" is configured for example as "telephoneNumber:T,mobile:C,", the trailing comma results in a search pattern whithout an attribute name (=0049...) which confuses the server.

solution: fix in code

files: phone_dir.cpp

products: all phones

risks: None
checked in to 8.00,7.00,08-70300 Status: checked in to 8.00,7.00,08-70300

memory leak after flash upload of invalid firmware files

Status Closed
Id 42669

problem: flash upload of a firmware file < 1000 byte or a larger file with an invalid header left back the complete file in memory.

solution: fix in code

files: flashman.cpp

products: all

risks: Small risc of collateral damage Status: checked in to 8.00,7.00,08-70300

IP-DECT display update after fast blind call transfer

Status Closed
Id 42672

Problem: Handset display is not updated after blind call transfer in early call state.

Solution: Event handling for early call state added.

Files: dectfty.h, dectfty.cpp, dectmaster.cpp.

Products affected: All DECT devices.

Risk: Low risk of collateral damage.

Firmware upload fails in ip1201 and ip4001 if a second brower instance gets the info screen.

Status Closed
Id 42684

Problem: Flash access conflict, Firmware upload fails in ip1201 and ip4001 if a second brower instance reads the production_data (e.g. from the info screen).

Solution: use a copy of the production_data

Files: box.cpp.

Products affected: ip4001 ip1201.

Risk: Low risk of collateral damage.

SOAP UserInfo: User was sometimes displayed as busy, even if free (Collateral damage from #40268)

Status Closed
Id 42789

problem: SOAP Applications (e.g. innovaphone switchboard) displayed users as busy even after all calls cleared

solution: Send missing status update again

files: pbx.cpp

products: all with PBX

risks: Very low risk of collateral damage

H.323 media reneg. from SRTP-EFC to non-EFC does not work

Status Closed
Id 42856

problem: An EFC-SRTP endpoint calls an object with two registrations, first another SRTP-EFC endpoint and second a non-EFC endpoint. With the first endpoint SRTP is negotiated during alert. When the second endpoint answers the call non-SRTP is negotiated, but the calling endpoint still sends SRTP -> no media

solution: Turn off SRTP if renegotiation to non-SRTP happens

files: h323ch.cpp

products: all

risks: None

SIP: From tag changes when re-trying REGISTER with authorization

Status Closed
Id 42876

problem: Authorization did not work on "sipXecs/4.0.0 sipXecs/registry (Linux)".

solution: Reuse From tag when resending REGISTER with authorization.

files: sip.cpp/h

products: All with SIP

risks: No risk.

Redirection from alternate PBX (standby) should not be used to determine physical location

Status Closed
Id 42916

problem: If primary PBX is not available and Registration is redirected from alternate, this should not be used as physical location

solution: Do not use alternate reditrection as physical location

files: h323sig.cpp

products: All

risks: Low risk of collateral damage

IP-DECT OEM trunk facility messages

Status Closed
Id 42931

Problem: Different TCP sessions are needed for different OEM message types.

Solution: Additional trunk signaling object added. Function calls changed.

Files: dtmffty.h, dtmffty.cpp, dectmaster_if.h, dectmaster.h, dectmaster.cpp, dectfty.h, dectfty,cpp.

Products affected: All OEM DECT devices.

Risk: Minimal risk of collateral damage. OEM devices only.

Failed t38 negotiation in SIP

Status Closed
Id 43056

problem: Inbound SIP call. Switch-over to t38 from internal to external. After 200/OK with t38 answer from external, the call was terminated with Reason code 88 "Incompatible destination".

solution: Fix handling of CHANNEL_INIT.

files: sip.cpp

products: All with SIP

risks: Damage of other scenarios of media negotiation.

PBX obtaining licenses from master, wrong counting

Status Closed
Id 43093

problem: If a PBX object was changed, which was used by a slave which obtained licenses from the master, the usage of this slave was added again to the total usage

solution: Do correct cleanup when changing the configuration of a PBX object

files: pbx.cpp, inno_lic.cpp

products: all with PBX

risks: very low risk of collateral damage

PBX use cause "outgoing calls barred" for calls rejected because of a filter

Status Closed
Id 43095

problem: The cause "no route to destination" was used for calls rejected because of filters. This did not express very well what was going on.

solution: Use "outgoing calls barred" instead

files: pbx.cpp

products: all with pbx

risks: None

Incoming INVITE is rejected with "603 Decline"

Status Closed
Id 43121

problem: SIP stack rejects incoming INVITE with "603 Decline" without telling Gateway application (no LOGs).

solution: On interface selection ignore interfaces not listening.

files: siptrans.cpp

products: All with SIP interfaces without registration

risks: No risk.

Toggling between active and held call with the R-R (or R-2) key sequence does not work sometimes

Status Closed
Id 43124

problem: if a phone receives message waiting indications for call completion requests pending for this phone and a call completion is cancelled, the phone thereafter may misinterpret the role of active and held call and thus for example the R-R key sequence toggling between those calls is ignored.

solution: fix in code

files: app_reg.cpp, app_call.cpp

products: all phones

risks: None Status: checked in to 8.00,7.00,08-70300

Problem configuring public compact flash access

Status Closed
Id 43274

problem: Lots of entries or long paths are truncated.

solution: More buffer space.

files: http.cpp

products: All devices with CF card.

risks: No risk.

IP3000 Wizard removes /nt config for PRI2

Status Closed
Id 43292

problem: On the IP3000 PRI2 interface is preconfigured for NT. By excuting the wizard this configuration is lost

solution: Conserve /nt config on PRI2-L1

files: ip3000/config_wizard.txt

products: IP3000

risks: None

A registered SIP IF gets CDPN from To-URI (not Request-URI)

Status Closed
Id 43324

problem: A registered SIP interface gets CDPN from To-URI. Not from Request-URI since Request-URI is always the called UA's Contact-URI used in REGISTER. (But not at provider "voip.planetel.biz")

solution: Config file option "/get-cdpn-from-request-uri".

files: sip.cpp/h

products: All with SIP

risks: No risk.

Trailing slash not honored when processing unauthorized access list

Status Closed
Id 43342

problem: A trailing slash at an entry in "Public compact flash access" was not honored. Entries with a trailing slash shall grant access to the complete sub-tree. Entries without a trailing slash shall not.

solution: Honor trailing slash when checking for unauthorized access.

files: http.cpp

products: All devices with CF card

risks: Damage of CF access.

src-url not forwarded in pbx and gateway

Status Closed
Id 43355

problem: A src-url received as part of the source address was not forwarded by the pbx or the gateway. This caused problems with billing.

solution: forward src-url

files: pbx.cpp, relay.cpp, relay.h

products: all

risks: Minimal

cf card recognized, but partion table ignored

Status Closed
Id 43386

problem: boot sector of a cf card was recognized, but partion table ignored.

solution: firstly check partion table existance and try to validate it

files: fat32.cpp

products: all products with cf card

risks: small chance of unusual boot sectors, which could cause a false cf card recognition

GWn Interfaces could not be selected as source for automatic generated routes

Status Closed
Id 43428

problem: For physical interfaces which are registered, routes are generated automatically. These routes can be modified, e.g. additional source interfaces can be configured. GWx interfaces were excluded from this

solution: Allow GWx interfaces as source as well

files: relay_edit_route.xsl

products: All with Gateway

risks: None

ISDN interop problem with Cisco Router with unrestricted digital information calls

Status Closed
Id 43445

problem: With ISDN calls from an interface in NT mode a Progress Indicator was sent indicating 'Originating Address is non-ISDN'. This caused a Cisco Router to reject UDI calls (after sending CALL-PROC and ALERT!?)

solution: Do not send this PI in case of UDI calls

files: q931.cpp

products: All with ISDN

risks: Minimal

Tunneled H.245 not handled while waiting for response to AdmissionRequest

Status Closed
Id 43509

problem: If tunneled H.245 where received while the Admission was still pending, no media was negotiated, because these H.245 messages where ignored.

solition: Handle Tunneled H.245 in this state

files: h323_tbl.tbl

products: all

risks: minor risk of collateral damage

"phys" attribute ignored for partial replication to slave

Status Closed
Id 43623

problem: LDAP objects with attribute "phys" and content "[pbx]", where "[pbx]" equals Configuration/LDAP/Replicator/PBX-Name, weren't replicated to the slave.

solution: Internally derived LDAP filter now contains a term for the "phys" attribute.

files: ldaprep.cpp

products: all PBX products

risks: none

SOAP UserConnect to a phone with a held and an alerting call does not retrieve the held call but opens the call completion menu

Status Closed
Id 43797

problem:
- A calls B, B answers the call
- A presses the R-key and calls C, C does not answer.
- a UserConnect directed to the held call (A to B) disconnects the alerting call (A to C) but instead to retrieve the held call the call completion menu is openend.

solution: fix in code

files: app_ctl.cpp

products: all phones

risks: None
Status: checked in to 8.00,7.00,08-70300,08-60900

tftp access with httpclient fails on some tftp servers if the file path starts with a /

Status Closed
Id 43830

Problem: tftp access with httpclient fails on some tftp servers if the file path starts with a /

Solution: remove starting /

Files: httpclient_i.cpp.

Products affected: all.

Risk: Low risk of collateral damage, starting / has no functio with tftp

Permanent reboot after hardware reset with fixed IP address due to Watchdog Timer.

Status To-decide
Id 43953

Timer registers are null after a hardware reset and the Watchdog Timer runs out. The problem is that the interrupts are enabled just before the timers
are set. Some interrupts arrive and to serve them takes longer than 2 seconds.
When DHCP is used the PBX will be started later and not during this critical period and after a software reset the timer registers are not resetted and therefore the watchdog timer is triggered.

Solution: Init the Timer Registers before the Interrupts are enabled.

files: ip6000.cpp

IP-DECT option check called party number in Dectmaster

Status Closed
Id 44074

problem: For some system configurations it is necessary to reject calls if the called party number doesn't match with the number of the assigned user of the used PBX registration.

solution: New option to check the called party number for OEM devices.

files: dectmaster.h, dectmaster.cpp.

products affected: All OEM DECT devices.

risk: No risk of collateral damage. OEM devices only.

Other new Features

42595 vsi fine grained locking bits for phone-settings and user-list-actions


Bug Fixes

V7 Hotfix10 (09-70300.21)

Changes included in Version 7 hotfix10 Definition

New Features

SIP endpoint remains on hold after transfer (e.g. Bria)

Status Closed
Id 45856

problem: Under special timing conditions a SIP endpoint may remain on hold after transfer. Not switched from "sendonly" back to "sendrecv". Too fast hold/retrieve by PBX.

solution: Postpone retrieve event until SIP endpoint is ready to receive another re-INVITE.

files: sip.cpp

products: PBX serving SIP devices

risks: No risk

IP-DECT OEM LDAP timing

Status Closed
Id 45863

problem: Deleting of a duplicate endpoint takes too long if we wait for the LDAP response.

solution: System update before the LDAP response is added.

files: dectusers.cpp.

products affected: All DECT devices.

risk: Minimal risk of collateral damage.

Disconnect of incoming SIP call fails if ACK was not received yet

Status Closed
Id 45883

problem: Disconnect of incoming SIP call fails if ACK was not received yet. No BYE was send.

solution: Send BYE even before ACK is received.

files: sip.cpp

products: SIP devices

risks: No risk

Problem with configuration of compact flash access

Status Closed
Id 45900

problem: Non-recursive directory access (w/o trailing slash) does not work. Directory listing is possible. File access is not possible.

solution: Fix access check.

files: http.cpp

products: All devices with CF card

risks: No risk

Bug Fixes

V7 Hotfix11 (09-70300.22)

Changes included in Version 7 hotfix11 Definition

New Features

IP-DECT: Not possible to initiate Call Completion if PBX user monitored by SOAP

Status Closed
Id 45940

problem: If a PBX user is monitored with SOAP (cau=true). A call is disconnected with DISC first and the REL. This caused the IP-DECT to disconnect the call to the handset too early, so no CC could be initiated

solution: Don't clear call from Master to Radio with the REL coming in from PBX

files: dtmffty.cpp

products: IP-DECT, Gateways

risks: Minimal

PBX: CFU Loop was detected, even if CFU was disabled by boolean

Status Closed
Id 46139

problem: The PBX detected CFU loops, even if a CFU was disabled by a boolean object.

solution: Take boolean into account when checking for loops

files: pbx.cpp

products: all with PBX

risks: Minimal

IP-DECT registration down reasons

Status Closed
Id 46189

problem: It is not possible to distinguish the reason why the radio-master connection fails.

solution: Now the master submits a reason in the ras down message and it is shown on the DECT radio GUI.

files: h323ras.cpp, voip.cpp, asn1_per.cpp, dectusers_if.h, dectusers.cpp, dectmaster.cpp, dectradio.h, dectradio.cpp, dectradio.xsl, dectradio.xsl(OEM).

products affected: All DECT devices.

risk: Minimal risk of collateral damage.

PBX Broadcast Conference and CFNR

Status Closed
Id 46192

problem: The no-response timer is not stopped if a PBX user is called by the broadcast conference object.

solution: Timer handling fixed.

files: pbx.h, pbx.cpp.

products affected: All devices with PBX.

risk: Minimal risk of collateral damage.

IP-DECT OEM Network region roaming

Status Closed
Id 46268

problem: New feature roaming between network regions for OEM products.

solution: Functionality added.

files: dectusers_if.h, dectusers.h, dectusers.cpp, dectmaster.h, dectmaster.cpp.

products affected: All DECT devices.

risk: No risk of collateral damage. Only relevant for OEM products.

Force HTTPS with non-standard ports

Status Closed
Id 46271

Problem: The HTTP redirect URI that is used for the "force HTTPS"-Feature does not include the HTTPS port number. Therefore it doesn't work if the HTTP or HTTPS port have been changed.

Solution: Include port number in HTTP redirect if one of the ports has been changed by the user.

Files: http.cpp

Products affected: All devices

Risk: Minimal

IP72: not transmitting continous timestamps in RTP data

Status Closed
Id 46281

problem: not transmitting continous timestamps in RTP data. Approx. the 10th RTP packet resets the timestamp to -1.

solution: fixed in DSP code.

files: box/omap/omap_dsp.cpp box/omap/omap_dsp.h

products: IP72

risks: none known


HTML directory listing contains bad links

Status Closed
Id 46367

problem: In an HTML directory listing a link to a file who's name contains # (hash) does not work.

solution: Character escaping on links in HTML directory listings.

files: servlet_webdav.cpp

products: All devices with CF card

risks: No risk

Configured ENUM Suffix got lost

Status Closed
Id 46439

problem: If for a ENUM GW a Suffix was configured (by use of !config change) it was deleted the next time the interface was edited

solution: Preserve suffix

files: gk.cpp, gk.h, relay_edit_voip.xsl

products: All gateway products

risks: Minimal

Trap in SIP stack when processing REGISTER response

Status Closed
Id 46448

problem: A trap may occur when handling REGISTER response.

solution: Fix.

files: sip.cpp

products: All SIP devices

risks: No risk

H.323 Wrong Unexpected Message events

Status Closed
Id 46450

problem: The H.323 sometimes generates wrong Unexpecetd Message events.

solution: Disable Unexpected message events

files: h323sig.cpp

products: all

risks: None

New flash memory on IP200A/IP230/IP240

Status Closed
Id 46452

problem: Spansion S29AL032D50TFN00 Flash pin 12 is the ready output and not the write protect input, so P1.16 must no be a output

solution: Fix.

files: flash.c platform_inca.c

products: IP200A/IP230/IP240
risks: Low risk

H.323: SRTP key was not forwarded to the caller in case of PBX to PBX calls with renegotiation

Status Closed
Id 46461

problem: On SRTP PBX to PBX calls with the call connected to some other media endpoint first (e.g. dialtone), the key was not forwarded to the caller. This caused garbled audio

solution: Forward SRTP key

files: h323ch.cpp

products: all

risk: Small risk of other media problem with SRTP

IP-DECT OEM protocol DTMF through RTP

Status Closed
Id 46478

problem: For OEM protocol option 'allow DTMF through RTP' should be always off.

solution: Configuration update function fixed.

files: dectmaster.cpp, dectmaster.xsl.

products affected: All DECT devices.

risk: No risk of collateral damage. Only relevant for the configuration of an OEM protocol.

IP150 stays logically offhook after a call initiated via WEB interface has been released

Status Closed
Id 46483

problem: calls created/accepted via WEB interface on an IP150 are started in handset mode because the IP150 has no speakerphone. The logical offhook state was not reset when such a call was released

solution: flag calls created/accepted via WEB interface and set logical onhook after release of such call

files: app_ctl.h, app_ctl.cpp, app_call.cpp

products: IP150

risks: None

H.323 Call to Waiting Queue with CFNR to another Waiting Queue with SIP Operator result in no media

Status Closed
Id 46484

problem: The media renegotiation of the H.323 call to the announcement with the SIP reverse media call to the operator fails

solution: Fix media-reneg. in H.323

files: channel.h, h323ch.cpp

products: all

risks: Minimal risk with media neg.

Counters display does not work with IE8

Status Closed
Id 46508

problem: IE8 don't like img element without src attribute.

solution: replace <img> by



files: log_count.xsl

products: All devices

risks: No risk

phone may trap on late LDAP directory search result

Status Closed
Id 46511

problem: a search result arriving after the call object has been deleted may cause a trap (collateral damage of #45166)

solution: check for presence of call object

files: app_call.cpp

products: all phones

risks: None
Status: Additional Information \tchecked in to 8.00,7.00,08-70300

Ringback missing with two-stage dialing thru PBX waiting to public network

Status Closed
Id 46527

problem: If thru waiting a destination is called which provides in-band ringback, this ringback was not connected to the caller, but a local ringback was not generated as well.

solution: Generate local ringback

files: pbx_wait.cpp

products: all with PBX

risks: Minimal. Fix can only affect exactly this case.

Media Recording generated small files even if no media was received

Status Closed
Id 46532

problem: On an analog interface with media recording a file was generated just by going off-hook on the phone

solution: Generate file only if media connection was established

files: media.cpp, media.h

products: all

risks: Minimal

inband info received after disconnect of a connected call was lost in handsfree/headset mode because of automatic release

Status Closed
Id 46545

problem: some ISDN providers send inband info after disconnect even when the call was connected before. This info was lost in handsfree/headset mode because of automatic release after 2 seconds.

solution: on a disconnect with inband info the call is not automatically released. The call is terminated only on user request or when a release is received.

files: app_call.cpp

products: all phones

risks: None Status: checked in to 8.00,7.00,08-70300

a ringing call moved by up-arrow key to upper display position disappeared when the active call was disconnected

Status Closed
Id 46582

problem: a ringing call which was moved to an upper display position by pressing the up-arrow key disappeared when the active call was disconnected. On a local disconnect the ringing call was invisible but remained pending in ringing state until released from remote. On a remote disconnect the ringing call was dropped.

solution: On a local disconnect the phone rings immediately. On a remote disconnect the phone rings after going on hook.

files: app_ctl.cpp, app_call.cpp

products: all phones

risks: None Status: checked in to 8.00,7.00,08-70300

IP-DECT OEM protocol new events

Status Closed
Id 46601

problem: New events are needed for OEM protocol.

solution: Events added.

files: fty.h, fty.cpp.

products affected: All devices.

risk: No risk of collateral damage. New events only for the OEM protocol.

IP-DECT Sometimes user login fails

Status Closed
Id 46624

problem: Sometimes user login fails.

solution: CDPN buffer handling fixed.

files: dectusers.cpp.

products affected: All DECT devices.

risk: Minimal risk of collateral damage.

Unsolicity NOTIFY(simple-message-summary) rejected with 481

Status Closed
Id 46631

problem: Request-URI of NOTIFY contains local AOR (not local Contact-URI).

solution: Check Request-URI against local AOR, not only against local Contact-URI.

files: siptrans.cpp

products: All SIP devices

risks: No risk

Bug Fixes

V7 Hotfix12 (09-70300.23)

Changes included in Version 7 hotfix12 Definition

New Features

phone must propagate error logs from call object to logging service

Status Closed
Id 46570

problem: error logs from call object sent to the phone registration object are not propagated to the logging service.

solution: fix in code

files: phonesig.cpp

products: all phones

risks: None Status: checked in to 8.00,7.00,08-70300

If a call-completion was initiated the callback number was wrong in some cases

Status Closed
Id 46662

problem: The number sent with MWI to the called phone indicating a callback request, was not correctly adjusted taking nodes and escapes into account

solution: Adjust number

files: pbx.cpp

products: all with PBX

risks: None

IP-DECT OEM Standby master capabilities

Status Closed
Id 46678

problem: It should not be possible for OEM devices to delete anonymous endpoints or to edit users if the standby master is active and used.

solution: Control functions and OEM GUI changed. Display message types added.

files: dectusers.cpp, dectmaster.cpp, dectradio.h, dectradio.cpp, dectdisplay_if.h, dectdisplay.h (OEM), dectdisplay.cpp (OEM), dect_users_left.xsl (OEM), dect_users_right.xsl (OEM).

products affected: All DECT devices.

risk: Minimal risk of collateral damage.

Recall to user not in root node did not work

Status Closed
Id 46690

problem: A recall after transfer to a user not in root node did not work, if call from another Node. If call from same node, number display was wrong

solution: Take node into account when root recall

files: pbx.cpp

products: all with PBX

risk: Risk of collateral damage limited to recall

update 'scfg' command may hang if target url is invalid (non existent host or host rejects connect)

Status Closed
Id 46716

problem: update 'scfg' command hangs if the target url is invalid and the HTTP-PUT operation is terminated when no other operation is pending. In this case the termination of 'scfg' was not reported from UP0 to the script process UP1

solution: fix in code

files: update.cpp

products: all

risks: None Status: checked in to 8.00,7.00,08-70300

When the phone speaker volume is changed the micro must stay disabled if it was disabled before

Status Closed
Id 46788

problem: When the phone speaker volume was changed while the micro was disabled the micro was enabled but displayed as disabled. Naturally the micro must stay disabled here.

solution: fix in code

files: phonesig.cpp

products: all phones

risks: None
Status: checked in to 8.00,7.00,08-70300

H323 OEM event decoding

Status Closed
Id 46931

problem: For an OEM protocol some event content items are missed in the signaling information event.

solution: Event action fixed.

files: h323_tbl.tbl.

products affected: All devices.

risk: No risk of collateral damage. Only relevant for OEM protocol.

SIP: "300 Multiple Choices" was not handled

Status Closed
Id 46938

Problem: SIP response "300 Multiple Choices" for INVITE was not handled.

Solution: Re-send INVITE with replace Request-URI.

Files: sip.cpp

Products affected: All SIP devices.

Risk: No risk.

SIP: Assignment of incoming calls to signaling interface fails

Status Closed
Id 46939

Problem: INVITE is rejected with "403 Forbidden" if Request-URI does not match local Contact-URI.

Solution: Do not require URI match, if only one signaling interface on local recv port.

Files: siptrans.cpp

Products affected: Devices with registered SIP interfaces (phones/gateways).

Risk: No risk.

SIP interop: SAGEM fax server fails to receive t38 fax

Status Closed
Id 47085

Problem: SAGEM fax server gets initial SDP offer with audio (non-zero port) and t38 (zero port) and accepts with audio (zero port) and t38 (non-zero port).

Solution: Config option to select t38 capability indication. Use "/t38-cap 1" or "/t38-cap 2" for SAGEM.

Files: sip.cpp/h sdpmsg.cpp/h

Products affected: SIP gateways

Risk: No risk.

Trap when adding a group to a pbx dtmf child object

Status Closed
Id 47104

problem: the box traps, when a group is added to a pbx dtmf child object, which shouldn't be configurable.

solution: remove configuration possibility of child objects.

files: pbx_obj_rights.xsl

products affected: All pbx devices.

risk: none

IP-DECT registration down reason text

Status Closed
Id 47121

problem: New description for the registration down reason is needed.

solution: Reason text changed.

files: dectusers.cpp.

products affected: All DECT devices.

risk: No risk of collateral damage. Only description.

permit to search external directory for local numbers

Status Closed
Id 47151

problem: special application environments require to hide the PBX provided name-id via "config add PHONE SIG /no-name-id". If in this case the external directory is used to provide name info for local numbers it is searched only if the 'Dialing Location/External Line' prefix is empty.

solution: "config add PHONE DIR /dont-skip-ext" forces the external directory to be searched local numbers (not starting with the 'External Line' prefix) too.

files: phone_dir.cpp

products: all phones

risks: None Status: checked in to 8.00,7.00,08-70300

IP2000 uses only 64Mbyte SDRAM, should be 128Mbytes

Status Resolved
Id 47161

problem: IP2000 uses only 64Mbyte SDRAM, should be 128Mbytes

solution: Fix.

files: startup_ixp245.s, boot2000.y

products: IP2000
risks: The first 16 IP2000 ( Mac-Address < 00-90-33-24-00-10 ) with 64Mbyte die with this bootcode

ISDN interop flag "No-Disc" used to change handling of incoming DISC as well

Status Closed
Id 47210

problem: The No-Disc interop flag only resulted in no DISC being sent, but RELEASE instead. Symmetric behaviour would be desired.

solution: With No-Disc set a RELEASE message is sent immediatly when a DISC is received

files: q931.cpp

products: All with ISDN

risks: None

PBX trap when adding many groups to a object

Status Closed
Id 47243

problem: A buffer overrun happened if too many groups were added to a object

solution: Check for buffer overrun added. Buffer doubled to avoid limitation

files: pbx.cpp, pbx.h

products: all with PBX

risks: None

SIP: No ACK is sent

Status Closed
Id 47252

Problem: If a call receives lots of provisional responses (20 or more), SIP may fail to send ACK and "ERROR: SIP message buffer (2049) exceeded!" appears in trace.

Solution: Check if a new provisional response really updates anything (e.g. tag).

Files: siptrans.cpp

Products affected: SIP gateways

Risk: No risk.

don't report a sent() callback in a HTTP GET operation as an error

Status Closed
Id 47254

problem: on a HTTP GET operation the httpclient object triggers a sent() callback when the GET request data has been sent. This is not error and thus should not be traced

solution: fix in code

files: update.cpp

products: all

risks: None
Status: checked in to 8.00,7.00,08-70300

Gateway: Trap if too many maps configured at an interface

Status Closed
Id 47267

problem: A buffer overrun happened when many maps at an interaface were configured

solution: Do not use a static buffer, but a packet instead

files: gk.cpp

products: all gateways

risks: None

sporadic HTTP_REQUEST Assertion

Status Resolved
Id 47348

problem: HTTP_REQUEST assertion due to large alloc size after send_responses during idle state

solution: cleanup http session after responses, debugs added
files: http.h, http.cpp

products: all

risks: Low risk of collateral damage

Feature code local clear of MWI

Status Closed
Id 47372

problem: The feature code local clear of MWI should be transparent to the call instead of closing it.

solution: Sending disconnect message removed.

files: dtmffty.cpp.

products affected: All devices with supplementary services.

risk: Minimal risk of collateral damage.

IP-DECT OEM protocol DTMF as keypad

Status Closed
Id 47395

problem: For OEM protocol option 'DTMF as keypad' should be always on.

solution: Configuration update function fixed.

files: dectmaster.cpp.

products affected: All DECT devices.

risk: No risk of collateral damage. Only relevant for the configuration of an OEM protocol.

Trap on dialing directory search object with http and full number including # to connect

Status Closed
Id 47403

problem: class directory_search_call_http deleted twice

solution: prevent double deletion

files: pbx_dirsearch.cpp

products affected: all PBX devices

risk: No risk of collateral damage, as the fix is just valid for directory search calls with a http server

IP24, IP28, IP302, IP305 dsp did not support renegotiation from PCM to VOIP

Status Closed
Id 47494

problem: If a call was established first with a direct PCM connection and then switched over to a normal VOIP call, there was no media. This could happen with calls from ISDN to a endpoint with a lokal analog interface (first reg) and a IP Phone (second reg) registered. The media with the local analog interface was established first, when the call was answered on the IP phone, the renegotiation happend.

solution: fix dsp driver

files: ac_dsp3.cpp, ac_dsp3.h

products: IP24, IP28, IP302, IP305

risks: other media problems with DSP

IP6000/2000 trap handler must be run on common stack to prevent false alarms in post mortem memory diagnostics

Status Closed
Id 47501

problem: the trap handler was run on a fixed stack below the stack area used in normal operations and in interrupt handling. this way some allocated memory could be overriden and a false alarm could be raised by the memory sanity checks at the end of trap handling

solution: fix in code

files: startup.S, ip6000.cpp

products: ip6000,ip2000

risks: None
Status: checked in to 8.00,7.00,08-70300

Trap on SIP call clearing

Status Closed
Id 47511

Problem: Trap on SIP call clearing.

Solution: Fix double delete of call object.

Files: sip.cpp

Products affected: SIP devices

Risk: No risk.

Quickdial, Incorrect Display for Umlaute

Status Closed
Id 47512

Problem: Quickdial, Incorrect Display for Umlaute.

Solution: UTF-8 decode display info

Files: pbx_qdial.cpp

Products affected: PBX products

Risk: No risk.

IP-DECT OEM Network region roaming user attribute

Status Closed
Id 47513

problem: The user attribute for the new feature 'roaming between network regions' is deleted if the user data is changed over the GUI.

solution: User attribute added in the OEM GUI and forwarded to the LDAP query.

files: dectusers.h, dectusers.cpp, dect_edit_user.xsl (OEM).

products affected: All DECT devices.

risk: No risk of collateral damage. Only relevant for OEM products.

Wrong DTMF when dialing DTMF feature codes from analog devices

Status Closed
Id 47516

problem: on channel connect, a DTMF can be send twice

solution: do not connect for feature codes, when not needed

files: pbx_dtmf.h, pbx_dtmf.cpp

products affected: all PBX devices

risk: No risk of collateral damage, as the fix is just valid for dtmf feature codes

IP-DECT OEM location update during handover

Status Closed
Id 47519

problem: A new setup message from a radio should not trigger a OEM location update during handover state.

solution: Condition added.

files: dectmaster.h, dectmaster.cpp.

products affected: All DECT devices.

risk: No risk of collateral damage. Only relevant for OEM products.

SIP: Missing request re-transmission after 100/Trying

Status Closed
Id 47573

Problem: A non-INVITE request (e.g. REGISTER) was not re-transmitted after 100/Trying has been received. A lost final response caused a transaction timeout.

Solution: Do not stop Timer E when entering transaction state "Proceeding".

Files: siptrans.cpp

Products affected: All SIP devices

Risk: No risk.

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

Status Closed
Id 47715

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

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

Status Closed
Id 47772

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

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

Status Closed
Id 47784

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: 7.00,08-70300

malloc must always run disabled

Status Closed
Id 47792

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 7.00,08-70300

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

Status Closed
Id 47803

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 47854

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, arm.cpp

products: all

risks: None
Status: checked in to 7.00, 08-70300

MWI configuration options

Status Closed
Id 47884

problem: It should be possible to configure different numbers for the notify and interrogate number.

solution: New configuration option implemented.

files: dtmffty.h, dtmffty.cpp, dectfty.h, dectfty.cpp, dectfty.xsl(OEM).

products affected: All devices with DECT or PBX.

risk: Minimal risk of collateral damage.

PBX Broadcast Conference Option

Status Closed
Id 47885

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 idle display update

Status Closed
Id 47890

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.

SIP: Handling of transfer to different ip address

Status Closed
Id 47917

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

IP-DECT OEM module software update

Status Closed
Id 47933

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 47957

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

Bug Fixes

V7 Hotfix13 (10-70300.24)

Changes included in Version 7 hotfix13 Definition

New Features

SIP: Media negotiation problem at Alcatel Omni PCX

Status Closed
Id 48339

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

Solution: Fix handling of updated SDP answers.

Files: sip.cpp

Products affected: SIP devices

Risk: No risk.

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

Status Closed
Id 48427

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 48440

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.

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

Status Closed
Id 48498

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

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

Status Closed
Id 48572

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

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

Status Closed
Id 48579

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

PBX: Trap if corrupt CF in flash

Status Closed
Id 48584

problem: If somehow an invalid call-forward config ends up in flashdir, the PBX enters a boot-loop

solution: Handle invalid call-forward configs

files: pbx.cpp

products: all with PBX

risks: none

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

Status Closed
Id 48609

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

Missing normalization of received diverting leg info

Status Closed
Id 48625

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: Trap when receiving Facility during disconnect

Status Closed
Id 48626

problem: A trap could happen in case of a collision of Facility and Call Clearing, with very special timing, because of an attempt to send a facility on an already deleted call.

solution: Better check for deleted call.

files: pbx.cpp

products: all with PBX

risks: None

allow empty search base in directory search object

Status Closed
Id 48702

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

Memory Leak

Status Closed
Id 48715

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 48719

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

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

files: pbx.cpp

products: all with PBX

risks: None

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

Status Closed
Id 48728

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 48786

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 7.00,08-70300

Leaks with DECT signalling using TLS

Status Closed
Id 48821

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, tls.h

Risk: Collateral damage with other applications using TLS

Potential trap when reconfiguring Gateway interfaces

Status Closed
Id 48834

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 48839

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 48851

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.

Master PBX to obtain licenses from another Master

Status Closed
Id 48939

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

IP2000/IP6000 must permit more than 8000 users

Status Closed
Id 49079

problem: for the IP2000/IP6000 the number of objects in stored flash directory is restricted to 8000 but some customers need more.

solution: increase default to 10000, permit for more (or less) via "config add FLASHDIR0 /max <number-of-objects>"

files: flashdir.cpp, config.h

products: IP2000/IP6000

risks: None Status: checked in to 7.00,08-70300

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

Status Closed
Id 49090

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

Bug Fixes

V7 Hotfix14 (10-70300.25)

Changes included in Version 7 hotfix14 Definition

New Features

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

Status Closed
Id 49138

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 49148

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: CGPN Map at route was executed even if the call using this route failed

Status Closed
Id 49176

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

H.323: EFC coding wrong

Status Closed
Id 49199

problem: Coding of EFC was wrong in early versions. This was fixed, but can be configured to the old (wrong) coding with config change H323 /fix 0, with config change H323 /fix 1 the fix can be turned on. Without the /fix option the default should be fixed, was was not.

solution: /fix default set to 1

files: h323sig.cpp

products: all

risks: Compatibility with mixed versions

SIP: Not accepting calls from alternative proxy

Status Closed
Id 49281

Problem: When being registered at a proxy with 2 ip addresses the gateway does not accept calls from the alternative ip address.

Solution: Accept calls from both ip addresses learned by DNS.

Files: siptrans.cpp

Products affected: SIP devices

Risk: No risk.

SIP: 180/Ringing was not re-transmitted

Status Closed
Id 49413

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.

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

Status Closed
Id 49459

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

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

Status Closed
Id 49797

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 7.00,08-70300

IP800 conference

Status Closed
Id 49799

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.

IP302/IP305: PCM connected channels disconnect other channels media

Status Assigned
Id 49880

problem: disconnect is sent to wrong channel

solution: fixed in code

files: ac_dsp3.cpp

products: ip302 ip305

risks: low risk

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

Status Closed
Id 49965

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

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

Status Closed
Id 50050

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: Special fix for group-indications to exec now for exec only

Status Closed
Id 50054

problem: A special fix was done for the problem that a exec needs to see if a call ringing at the secretary, is a call which is actually directed to the exec or if the secretary was called directly. Group Indication for calls diverted by the user sent to the user are sent as if the call was ringing at the user. This causes problems, because the Group Indications do not wor as expected.

solution: Do this fix for exec only. In 8.00 this is fixed in a better way (diverting info added to group indication)

files: pbx_gi.cpp

products: all with PBX

risks: None

GUI: Registration indicator not aligned

Status Closed
Id 50074

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.

Gateway sends calls to wrong registered SIP endpoint

Status Closed
Id 50103

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.

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

Status Closed
Id 50130

Description \tproblem: Searches to Global Catalog Server weren't possible

solution: Fix configuration for LDAP port

files: ldaprep.cpp

products: all PBX-,Dect products

risks: None

fat32 check disc trap

Status Closed
Id 50202

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

SIP: Expires parameter not always decoded from REGISTER response

Status Closed
Id 50211

Problem: If the registrar added a display name to the client's Contact-URI the assigned expires value was not decoded.

Solution: Ignore display name in Contact-URI of REGISTER response.

Files: sip.cpp

Products affected: All SIP endpoints

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 50304

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: Additional Information \tchecked in to 7.00,08-70300

IP-DECT hanging calls

Status Closed
Id 50387

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.

Bug Fixes

V7 Hotfix15

Changes included in Version 7 hotfix15 Definition

New Features

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

Status Closed
Id 50672

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 7.00,08-70300

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

Status Closed
Id 50823

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 7.00, 08-70300

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

Status Closed
Id 50944

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

wrong calculations causing check disc to damage data

Status Closed
Id 51304

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

v7:Qsig: leg1Info sent with ALERT msg, instead of in FACILITY msg

Status Closed
Id 51346

Problem: Siemens ACWin got confused after upgrade v6->v7. Qsig mandates to send the leg1Information within a FACILITY message (while H.323 does also allow for an ALERT to carry the leg1).

Solution: Detect and treat this case accordingly within the relay/gateway.

Files: relay.cpp

Risk: none

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

Status Closed
Id 51352

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.

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

Status Closed
Id 51416

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 51417

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.

no RTP-DTMF after rerouting

Status Closed
Id 51432

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

v7: Trace output added to track down cause of "alloc-size" traps

Status Closed
Id 51446

Problem: Traps happen within the flash directory due to a memory allocation request greater than the maximum grantable size.

Solution: More information is needed. Added error-trace output.

Files: flashdir.cpp

Risk: none

IP-DECT trap during call release and information message

Status Closed
Id 51584

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

solution: Null pointer check added.

files: dectmaster.cpp.

products affected: All DECT devices.

risk: No risk of collateral damage.

IP-DECT configuration option 'Redirection with GK ID'

Status Closed
Id 51619

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.

One way media after SRTP renegotiation on IP6000

Status Closed
Id 51691

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

Trap in SRTP socket

Status Closed
Id 51693

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

Possible trap when removing a cf card without previous unmount

Status Closed
Id 51704

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

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

Status Closed
Id 51772

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

PBX: SOAP initiated calls were sent with CT-SETUP

Status Closed
Id 51965

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: Successive diversion activate/deactivate and dynamic group status sometimes failed

Status Closed
Id 52038

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

SIP: Missing dialog-info for calls without or zero-length CGPN

Status Closed
Id 52060

Problem: No dialog-info was sent for calls without or zero-length CGPN.

Solution: Use calling party's name if no CGPN is available.

Files: sip.cpp

Products affected: All PBX's serving SIP phones

Risk: No risk.

PBX potential trap in case of collision of disconnect with intrusion and other operations changing media peer

Status Closed
Id 52070

problem: If a call is attempted to intrude right when this call is being disconnected at NULL pointer access could happen

solution: Check if call is still active when before execute intrude

files: pbx.cpp

products: all with PBX

risks: none

SIP: SRTP key changes right after connect

Status To-decide
Id 52169

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.

Bug Fixes

V7 Change Requests

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

New Features

Bug Fixes