Registrations were not refreshed in time on large DECT installations. Active REGISTER transactions were limited to 100. Refresh transactions are executed with priority now.
myPBX launcher: Some texts do not have enough space in config dialog
The trap could happen when the Session Border object was changed or, when an incoming registration was cleaned up because the internal registration failed.
PBX Session Border: Trap when calling a SIP client with Media Relay
The object initiating the CFNR was lost when the call was sent to the master. Collateral damage of fix: #99674: PBX: CFNR/CFB on PBX object did not work in some cases
PBX: Call Completion was executed on termination of multicast call
IP110A: After bootcode was updated to V10 final the bootcode cannot access the flash memory and the phone doesnt start the firmware.
To fix this use gwload to load a special code "fix110.bin" to DRAM. This restores the original bootcode during startup. After the next reset the IP110A firmware starts again from flash.
Since v9hotfix22/v10beta6 recording connections are established in sendonly mode because usually recorders do not send any media data and thus bulks of ?No Media Data received? events may be reported.
Now two way media can be explicitely enabled by checking "Phone/User x/Recording/Two Way Media" if required (for example for the Innovaphone Operator "Greeting Function").
SIP: Handling of reject for UPDATE for session refresh was not correct
Do not write error log if RTP packets are received before media negotiation is complete. Error 0x00050003 (Wrong Payload Type received) was generated before.
A re-INVITE may take too long to get answered. Start next pending re-INVITE after timeout. ("N510 IP PRO/42.078.00.000.000" took more than 3 seconds to handle re-INVITe(sendonly))
If a call forward is configured to the switchboard of a remote location (typically -0, same as trunk prefix) the call should not be sent out to the trunk, but the internal loopback destination should be called.
PBX-SOAP: UserFindDestination did not take node, but pbx for start of the search
Memory leak when receiving BYE for a dialog in early state. On a call which is not connected yet. On a call where a INVITE server transaction is pending.
myPBX: Numbers decorated with slashes could not be dialed
A coder config longer than 31 characters could not be entered in the field "IP4/ETXn/DHCP Server/Offer Parameters/Coder" and the DHCP Client silently discarded a longer coder config possibly provided by a non innovaphone DHCP server.
SIP: Interop problems when interworking t38 capability indication to H.323
If a phone registers from a different location, any call from this phone has to be routed via the master to check for 'local' objects. In this case overlap dialing thru a Map object on the slave did not work.
V10 Service Release 3 (100918)
Changes included in Version 10 Service Release 3
Definition
New Features
phone: dont' log calls in call lists if source/destination is marked as HIDE in local directory
A source/destination is marked as HIDE in the 'flags' attribute of a directory entry.
the 'flags' attribute can be added/modified in a downloaded directory in CSV format and then uploaded again, for example by changing "broadcast",,,"203" to "broadcast",,,"203",,,"FLAG_HIDE" If the 'flags' field contains already some FLAG_... values the new value must be appended with a preceeding space character, i.e. "FLAG_IMP" is changed to "FLAG_IMP FLAG_HIDE".
The flag attribute can also be added/modified in the directory entries in a downloaded config file, for example by changing mod cmd FLASHDIR0 add-item 102 (cn=broadcast)(e164=203)(guid;bin=662579A0E909D311AD850090332A0094)(usn=3) to mod cmd FLASHDIR0 add-item 102 (cn=broadcast)(e164=203)(flags=4)(guid;bin=662579A0E909D311AD850090332A0094)(usn=3) The 'HIDE' flag has the value 4. If there is already a flags attribute the 'HIDE' value must be 'ored' to the existing value, i.e. flags=1 is changed to flags=5.
The currently defined flags are: FLAG_IMP 1 -- entry was created by an 'import' type directory upload FLAG_IP 2 -- interpret h323 alias as IP address when dialing FLAG_HIDE 4 -- don't log call from/to this target
myPBX: Send own email address with connect message
For phones installed in rooms open to the public it's sometimes required to prevent this phones from beeing called by non authorized persons. Adding this bit to the mask defined under "Phone/Protect/Fine grained Function Locking" supresses any info about the local user (number/name/display name).
Use '@' as name for visibility definition to specifiy default visibility for any foreign domain
In switzerland area codes exist, with an escape of 0, but it is not possible to call within the area code without dialing 0+area code. For this reason users do not expect to see calling line ids without the area code, because this is something which cannot be dialed in the public network.
There is now a checkmark at the node configurfation which allows the generation of this kind of calling id.
The DECT base station does not refresh the RAS registration after a reregistration. Incoming calls are not possible if the base station is behind a NAT. This is fixed now.
104537: Softwarephone: Type-of-Service (TOS) bit values for RTP and Signalling packets
Only in rather simple configurations the primary and the alternate gatekeeper can be clearly distinguished. In more complex PBX redundancy configurations it may be not possible to find out the role of the gatekeeper a phone is registered to. Thus it's better to leave off this information because it's not really important for the average phone user.
myPBX Outlook integration uses primary PBX email address too
One-time presence requests across PBXes did not terminate if the subscription call was established but the remote party did not send any presence info. Now there is a timeout of 200ms (after the subscription call has been established).
Video: display artifacts due to cropping field in the h264 stream
If the call was alerting at the WQ, nothing happned, when trying to cancel the call. If the call was connected to an announcement, the next announcement was played.
Phones: SIP-Call was rejected if first offered codec was CLEARMODE
A Boolean object can be monitored to obtain the current state. When the state was manually updated by a call to the boolean object or by the administrator, this update was delayed up to 10s.
IP-DECT: PBX-registration update with changed authorisation name
By replying with ctInitiate.error, where error will be notAvailable(3), the remote PINX is requested to switch from the procedure "Transfer-By-Rerouting" to the procedure "Transfer-By-Join".
PBX: Dialog Info for subscribtions accross PBX's/Nodes sometimes wrong
In some cases the browser queues HTTP requests for a long time before they are sent to the PBX. For example this happens when there maximum number of connections to the server is reached. The delay might be very long, like some minutes.
In this case myPBX should abort all further queued command requests instead of sending them after a long delay.
PBX: Visibility definitions did not work as expected
The default for busy-out was set wrong when creating users on csv import. This resulted in the 'Twin Phone' checkmark to be set. The default was fixed so that the checkmark is not set anymore.
SIP: Give subscriptions time to terminate before unregistering
Do not increase SDP version in when answering re-INVITE for session refresh. If SDP offer in re-INVITE did not increase it's version, SDP answer should keep it's SDP version also.
When handling a call leg replacement the Gateway releases the replaced call before accepting the replacement call. May confuse the replacing endpoint. In case of SIP this regards handling of INVITE with Replaces header. In case of H.323 this regards handling of SETUP with ctSetup facility.
SIP: Insufficient buffer space for request construction
Some SIP proxies bloat SIP messages by adding countless number of Route headers to a dialog (e.g. Avaya). Need to increase buffer space to hold all the very important Route headers in REFER, UPDATE and BYE.
Changed registration refresh interval to TTL-32sec. Where TTL is the server provided time-to-live. And 32secs is the maximum life-time of a REGISTER transaction.
phone: importing a phonebook may result in memory leaks
With a remote control connect the handset goes off-hook. myPBX uses remote controls and now it is possible to accept an incoming call for a DECT handset with myPBX. This only works with IP61 and IP63 after firmware update.
when a problem occurs before the programm comes up there is not method of tracing
allow to additionally write traces into a file. this comes in handy when a problem occurs before the logging via webbrowser is accessible or when a rather large amount of tracing info is required
Bug Fixes
SIP: Tell the SIP endpoint to stop sending media while remote party has been put on HOLD by myPBX
A diverted call was always sent as sending complete, but sometimes with an implizit diversion, e.g. by a Map object, more dialing digits should be possible to send after the diversion
If a dialog/presence subscription from master to slave or slave to master failed because the other PBX was temporarily not available, it could happenm that this subscription was hanging in this failed state. It only worked again by terminating and restarting it (e.g. by restarting myPBX)
myPBX: Can't override calendar presence with available
SBC forwards different registrations for the same AOR to the PBX from same SBC ip address and SBC same port. PBX must take this as individual registrations as long as Contact-URI differs. Even is REGISTERs are sent from same ip address and port and for same AOR.
myPBX: Could not confirm visibility request for users with spaces
Bug when receiving NOTIFY while SUBSCRIBE transaction is pending.
Scenario: 1. Sending SUBSCRIBE to refresh subscription 2. Receiving NOTIFY with "Subscription-State: terminated;reason=timeout" 3. Receiving response for SUBSCRIBE
Response for SUBSCRIBE was not handled. Subscription was not re-established, because previous SUBSCRIBE transaction was still pending from subscription's point of view.
"TLS Plaintext" tracing now uses local port 8 instead of the actual port. This helps wireshark to distinguish between the actual packets from "All TCP/UDP" and the fake "TLS Plaintext" packets.
SIP: Memleaks at collision of incoming call and sig_event_listen_cancel
If the subscription was sent by myPBX because a favorite was to be added, a wrong uri was put into the favorite, but only if H.323 was used for the subscription end to end.
By accident user-user-info, which was used for the communication of the FAX interface and the FAX Server were forwarded on ISDN. They caused a protocol error which eventually disconnected the call.
myPBX: Ignore otherTelephoneNumber in external directory
For name resolution for incoming phone calls, myPBX only accepted international numbers like +497031730090. Now dialable numbers like 007031730090 also work.
This is needed for the trick of having a phone book inside the PBX.
Fixed a problem with the phone directories. If a new view had been added via cmd add-view the next_id variable was not set above the ID of this view. If the system allocated new views afterwards their ID clashed with the existing ones. On Android this happened very likely because we feed the start configuration via cmd add-view and cmd add-item and if a directory entry was added afterwards it caused the error message add_view_record - ambigous views id 101/101 name cn=call-list-0/cn=phone-dir rec 294380/0 Now we adjust next_id to at least the id added and also set it back to 100 if all views are deleted.
SIP: Reject new re-INVITE with 491 if previous re-INVITE transaction is not complete yet
Each call only a single group indication was removed from the queue, if the rate of group indications was higher then the rate of failed calls, the memory for group indications accumulated.
PBX: Presence subscription to a Map object (e.g. by configuring a myPBX contact) caused a call being sent to Map destination
The problem occured if the windows language is not available in myPBX. In this case no item is selected in the language drop-down. When saving, myPBX crashed with a NullPointer Exception.
Problem with hold/retrieve, not hearing original party
Problem: - call exists between swphone and another Party. - swphone places call on hold - swphone calls another Party - Party does not answer- - swphone terminates this call now swphone still hears ringback tone and not the original Party
pcap/tracing shows only a tiny fragment of debug outputs
Headsets with Version A printed on the package have IDs different to the non-A versions even if the part numbers do not differ. The USB firmware of the Version A headsets differs from the predecessor firmware and requires a special timing.
myPBX launcher: Expand environment variables in path and parameters for external application
Calling line id is received from an FXO interface after the first ring, so an enblock route must be used to delay the signaling of the call until the calling line id is recived
Voicemail: "$_pbxfwdrel=conn" releases session after successful <pbx-fwd>
Now it is possible to configure the supported modem class of the fax server interface. There are available: - V.17, V.29 and V.27 - V.29 and V.27 - V.27
installer package was not signed and did not have a build version number
Collecting all the necessary info (config, registry entries, traces..) should be simple. A command is now provided to gather all this and zip it up to debug-info.zip which can then be attached to the mantis report
Bug Fixes
SIP: Memory leak when "Group Indications" are activated on PBX user object
So is for: Mutual Coexistance for LDAP/AD-Replicator Instance and DECT(Mirroring)/Replication Instance
Either of both replicator instances may be active at a time. The LDAP/AD-Replicator instance has internally a low priority.
If another high-prio replicator instance comes to live, the LDAP/AD-Replicator instance will be auto-disabled. If the other high-prio replicator instance disappears, the LDAP/AD-Replicator instance will be auto-started.
Voicemail: Resume from Suspend Not Working During <exec> Statement
In-dialog request (such as BYE) are sent to wrong destination port, if remote Contact-URI contains domain-name as hostpart and if remote peer runs on non-default port 5060.
Support start of call inside an Office 2013 contact
Some transferred remote initiated calls have no voice connection. This are calls which are initiated with myPBX to an external endpoint. This is fixed now.
If only ETH1 is used and Linux gets a fixed IP address, the DHCP message doesn't include a valid server identifier and NTP server address. This is fixed now.
SIP: Trap in SIP stack when incoming call is rejected
One-way media after re-negotiation. Collateral damage of #106693: SIP: Tell the SIP endpoint to stop sending media while remote party has been put on HOLD by myPBX
myPBX: Pickup accross PBX failed and could cause Trap
The feature 'Presence disables Operator' allows to disable an operator of an waiting queue if the operator has set a presence. This should not happen for a presence without activity but only a note. The Exchange Connector does this for upcoming dates.
Contact without further email address might be wrongly resolved
sometimes the display and USB hardware was not working after a reset (firmware update or configuration change) and a power cycle was required to bring them up again.
PBX: Don't accept calls, when the PBX is about to stop
The Plantronics bluetooth headsets Voyager PRO UC, Voyager Legend and Calisto 620 come with an USB bluetooth dongle with one of the product codes 0415, 0416, 0417. Dongles with the product code 0416 were not detected.
Call Recording for incoming calls did not work properly
When the filesize of swphone_commands.cfg increased beyond the fixed size (50k) due to storing of the call history softwarephone crashed during startup
Ringer settings in phone/preferences (melody,volume, duration) did not work
After configuration changes to the http port the URL to the configuration did not work anymore, thus making configuration Access via the start menu entry not possible nay more
By default the name of calling party is truncated if the number cannot be displayed completely. config add PHONE FORMS /keep-calling-name requests to display as much of the name as possible. If there is enough space left on the display line a blank followed by the number is appended to the name.
phone: PBX directory config page extended by Address, Gatekeeper ID and Attribute field to permit for non default values
By default address and gatekeeper ID of the PBX where the user is registered are used and the 'Long Name' is searched. Now for example this can be changed to use the master PBX and to search the 'Display Name'.
phone: set up call with "Sending complete" when the number has been provided before the call is initiated
This applies to calls initiated while browsing a directory or a call list, by pressing a dial function key or via indirect dialing, i.e. when a number is entered before going off-hook. To permit for incomplete numbers in a phone directory "Sending Complete" is not set when a number is terminated by a '+' character. Then the '+' is stripped off and the number can be completed by typing more digits. In this case and in case the user goes off-hook before typing any digit the number is assumed to be complete when a '#' character is entered or the "Enblock Dialing Timeout" is reached before the next digit was entered.
The old overlap sending behaviour can be restored by config add PHONE SIG /overlap-sending
This happened if there was a call-forward, which resulted in a call to the master and the master could not send the call to the destination slave either because this Slave was not registered or there was a busy-out setting preventing it.
The problem only happend with a E.164 config.
Admin UI: Add cancel button to join and leave realm dialogs
Since fix: "#97150: phone: DTMF digits following a comma in a number to be dialed were not handled correctly in some cases." from 21.3.2013 a series of comma didn't extend the wait time before DTMF dialing any more. The wait time was always 1 second because only the last comma was seen.
hook-flash event not sent to peer when 'passive' mode is activated
The auto appear offline feature caused a lag when minimizing the window. Use raw input API instead of global mouse and keyboard hooks in order to prevent that.
phone ip222,ip232: Plantronics Savi W440 Headset sometimes mute when controlled by a SOAP-Application or myPBX
When an outbound call was started by a SOAP-Application after a call started using the headset Talk-button the headset was mute because the radio link was not established.
phone: no call list entries written for non-connected calls terminated by myPBX
In when storing a voice mail record the User Name becomes a part of the URI. If this name contained special characters the recording could not be stored because the 'Destination:' request header field was not URL-encoded.
PBX: Connected Number missing on calls to some PBX objects
The connected number is needed to determin if the destination of the call is internal, which is needed for features like not automatic recording of external calls
PBX: Handling of enblock (sending-complete) calls improved
The call clearing to the mobile only operator did not work correctly, so when the next call arrived the call was not sent to the operator. Only when this call was cleared the clearing of the call to the operator was completed so the next call worked again.
Trap in webdav client when processing XML directory listing
If OFFICEPRESENCE=false, no presence related installation changes are done and e.g. a Lync installation won't be broken. So Lync can be used as presence provider and myPBX can be used for calls etc.
In v10sr6 a new config option was introduced in the phone directory config. The administrator can now choose if the long name or display name should be used for LDAP search.
This config option is now also used by the LDAP search in myPBX. So serching by display name is not possible, if configured.
The CFNR at a PBX object is used for rerouting a call when the IP connectivity to the location is not available. It should not be executed for calls which fail when routed back to the location for node external.
H.323: The efc-features were not forwarded accross PBXs from an endpoint, which was called with slowstart
If a slowstart endpoint performed a transfer, connecting two efc endpoints on other PBXs, it could happen, that the media negotiation between the new endpoints was slowstart, because the PBX on which the transfer was performed did not receive the efc-featurse
SIP: Client must auto re-open TLS connections if closed by server
According to RFC-5626 "Client-Initiated Connections in SIP" the client is responsible to open, keep-alive and re-open transport connections all the time the client is registered.
Status:
Fixed in 11.00 and 10.00
LDAP Server Statistics: Connection Counter Could Get Wrong
The message size was reduced so the user is able to manage visibility settings with more entries before the message exceeds the maximum command line size.
PBX: The top level Tag of a CDR should contain the normalized number of the endpoint it was created for
In this state there is no number available, this number was adjusted anyway as it could be dialed by the calling user, which resulted in all the escapes added to the called number (which was empty) as ptrefix
PBX: Subscription calls to for other locations, when the other PBX was not online generated CDRs
If a desktop notification had multiple text lines and the first line had a line wrap the second text line was not shown. For example for incoming calls no phone number was shown in that case.
Now both text line are cut if the text is too long.
phone ip222,ip232: added config flag to prevent ringing via speaker when a headset is plugged and enabled
Browsers should not cache requests from myPBX to the reporting because of the response headers from the server. However on some PCs IE cached those requests, most probably because of the browser settings.
Now a unique dummy parameter is added to each request in order to prevent any caching.
By default the the MAC is is reset in case of missing receive interrupt.
config add ETH0 /rx-miss-reboot forces a reboot instead of a MAC reset.
config add ETH0 /rx-wait-max <seconds> defines the maximum time to wait after the last receive interrupt before MAC reset or reboot (default is 30 seconds).
config add ETH0 /itrace activates an interupt backlog which is written to trace buffer before MAC reset or reboot.
SIP: SUBSCRIBE without Expires header was not handled
Fix for #111319: Go back to ac494004ce3.680.10.pf.01 on ip28 and related because the customer reported hanging calls and unability to idle reset which points to DSP code instability.
When a link comes up again after a failure a gratituos ARP request is brodcasted to make the new MAC/IP address assignment known in the network. If this request gots lost the other hosts in the network continued to a now invalid MAC/IP assignment until some host specific timeout. To overcome this problem now 10 gratituos ARP request are sent in 1/2 second intervals.
when downloading config the stream does not end due to not all data transmitted
Currently the upload of device certificates using a PEM file requires the RSA private key to be in PKCS#1 format. Now also the PKCS#8 format should be supported.
Write error message into trace, if background image cannot be loaded due to network issues for diagnostics. Saying phone_app: Can't load background image due to inaccessibility (http://x.x.x.x/...)
myPBX: Pass normalized numbers to external application
When myPBX dials tel: URIs the external line prefix should be added, if needed. This also affects numbers that are dialed using the Office 2010 Integration.
phone: In Recording Mode 'transparent' or'optional' internal calls were recorded although 'External Calls Only' was checked
happened only to outbound calls initiated by some dialing application. outbound calls initiated directly at the phone and inbound calls were recorded correctly.
Some users like to use the external directory only for number resolution, not for searching by name. This can now be done with the following config option.
!config add PBX0 MY /disable-search-external on
Gateway trap with 'Out of Memory' when CF-card stucks
When the Group Membership of a user was updated, active monitoring sessions (e.g. by a partner key) were not updated. A reset of the phone was necessary.
Correctly read office related settings in either HKCU or HKLM dependend on ALLUSERS setting
re-INVITE(t38 and audio) was rejected with "SIP/2.0 488 Not Acceptable Here". Better to send "SIP/2.0 200 OK" with an SDP answer that accepts audio and rejects t38.
Linux: IP configuration with device internal DHCP server
If the Linux IP configuration is configured to DHCP client mode and the same device is the DHCP server, the IP route to the Linux ethernet interface isn't automatically set. This is fixed now.
Video: possible trap after fallback to windows h264 decoder
XCAPI uses different Contact-URI in REGISTER und INVITE. INVITE was rejcted after authentication attempt. Now a workaround works based on attribute 'username' of authorization header.
Do not start SIP interface until local IP address is available. Problem on IPVA. Default local address was known very soon, but asking for local address by providing remote address results in "0.0.0.0".
PBX XML Export/Import: Passwords lost after export/import cycle
The XML export included the encrypted passwords as hexdump, whereas the import expected passwords as clear text. Now the import expects encrypted passwords as well.
NT ISDN Point to Multipoint Interfaces: Rejecting of a call had delay of 4.5s
A call was not rejected right away, but SETUP was resent in case another endpoint would respond. This should be done only if the call was rejected because of incompatible destination.
PBX Trunk: Set Calling=Diverted feature affected the internal leg of calls forked to trunk as well
If ca call was forked to a trunk with the Set Calling=Diverted feature enabled, the call was sent on this trunk with a calling number of the forling user, which is correct, but to the forking user itself the call was sent with the same calling number, which is not correct.
myPBX: Presence not displayed for email addresses that do not match H.323 ID
This problem occured if an email address was configured at the user object that was different from the H.323 ID. When searching a user by that email address, the presence was not displayed at the search result.
Kerberos configuration from the "vars create" line below didn't work because the var was read in the constructor of the command module. Therefore need to create the vars earlier during startup before the command module is started. Now we do it before any other module is started. vars create CMD0/KCMD p %3cjoin+realm="innovaphone.com"+user="_KADMIN_"+password="W6wkF;ihH2B9"+default-realm="innovaphone.com"+disable-local="false"+force="true"%3cserver+realm="innovaphone.com"+address="172.16.0.10"+port="88"+secondary-address="172.16.0.9"/%3e%3e%3c/join%3e
SIP: Must write c-line into each media description
When a call was forwarded from a Waiting Queue to another using DTMF dialing on the second Waiting Queue the CDRs only showed the first Waiting Queue as calling party
DHCP: Increase maximum length of "Local Networks" and "IP Routing" option strings from 127 to 252 characters
White noise during re-negotiation from RTP to SRTP. It sometimes takes a while until media endpoint gets SDP answer for an SDP offer. During that time of waiting the media endpoint may already receive SRTP packets which still are handled as unencrypted RTP.
=== RTP session === Receiving INVITE w/o offer Sending 200/OK with offer Meta-reporter waiting for answer Meta-reporter Receiving ACK with answer === SRTP session ===
Changing options /transparent-header and /transparent-status require reset to show any effect. But "reset-required" indicator was not set. That's why iresetn command did not trigger reboot.
Needed for special setups with a fax server without personal fax, or Fax numbers associated to users, which are not just the user number with the Fax gateway number as prefix.
Fax server: Call proceeding event after enbloc timeout
The FAX interface sends the call proceeding event now if the sending complete is set or after timeout. It is used by the fax server application to receive a fax to the fax gateway number without any other dialed digits.
Show corrupted file and directory names after check disk
Blacklist for IP addresses to fight brute-force attacks. Not answering requests from IP address on that list.
This list is maintained automatically (hosts get on that list for a while if an invalid registration originated from there, even if they are part of the configurable registration white lists).
If there is no progress indicator indicating inband tones, channels should not switched on for calls sent out to an NT Mode ISDN interface. Otherwise RTP containing silence could switch off any locally generated ringback.
H.323: DTMF received as SIP INFO not forwarded on H.323 if no Media Relay
The FAX interface shouldn't switch to the T.38 coder for incoming calls until a voice coder is initialized. Now this is fixed and the DTMF code is also removed. It fixes a CCM compatibility.
The remote control connect feature for the second and more calls doesn't work. The DECT base station sends an alert instead of a connect event. This is fixed now. It is used in combination with myPBX.
IP-DECT: Display update after call transfer with alert
This new checkmark "TLS" *allows to activate LDAPS(LDAP over TLS) without the need to enter the well-known port as "<ip>:636" *allows to activate LDAPS in hosted scenarios with TCP port forwarding
SIP: The 2xx response to the REGISTER request MUST contain, in a Contact header field, a complete list of bindings
The 2xx response to the REGISTER request MUST contain, in a Contact header field, a complete list of bindings that have been registered for this address-of-record. Not only the one that has just been added.
SIP: PRACK and other in-dialog requests was sent to wrong destination port
An overlap dialing timeout was used to connect to the Voicemail object, if within this timeout more digits were dialed, the call was sent to the number identified by these dialed digits. Now the Voicemail object is connected right away.
For calls sent to the master the display number was adjusted in Ringback already, but the information about the correct number is not available in this state.
Calls disconnected by the gatekeeper can be wrongly resent to the handsets, if the calls are disconnected with the release code Non-selected-user-clearing (26). This is fixed now.
callthru can be initiated by additional digits sent with the original call to the mobility object, or by "data callthru". In both cases no dialtone should be generated to the calling user.
SIP: Fix for Server/User-Agent header on DECT devices
A collateral damage of fix: #88471: DTMF Features: Allow lokal functions if registration to PBX is not available. The hanging call did not use up any resources, so it was just a memory leak.
The information if the endpoint to which a phone is connected after a transfer is internal or external was not available on the phone. The recording of internal or external calls only did not work in this case.
If two secretaries were configured with names, being identical in the first half and identical length (e.g. 'Hans' and 'Harz'), for some functions like presence status not the correct secretary was found.
myPBX launcher: Some MSI parameters did not work in new installer
Offered wrong local IP address as RTP address. Offered ETH1 address to remote endpoint, but RTP with ETH0 address as source. RTP was ignored by remote party. And RTP from remote party was ignored also. Resulted in no-media condition.
phone: CLIR couldn't be overridden at phone by "Number Presentation: On" when "Hide own Number" was checked in a config template
Rejected media description contains c-line, but accepted media description does not. c-line on session level is to be used for accepted media description. But was not.
Keeping track of the received SDP version did not work. The version field of SDP is used to detect session modifications. Bug may result in negotiation error.
For some reason Windows assigns a new name for an already known usb Audio device. For examle: "microphone (Jabra 2400 Mono)" can change to "microphone (2- Jabra 2400 mono). Then it is not recognized by softwarephone anymore and the user Needs to rerun the configuration. To alert the user to such a Situation a balloon tip Pops up every time the Audio device is beeing accessed
"Reset Required" indicated for IP config changes not requiring a reset (for example "ETHx/IP/Proxy ARP")
If a user has multiple endpoints and one of these endpoints is not responding (e.g. a wireless endpoint out of range) a failed call was displayed even if the call was accepted by another endpoint in addition to the connected call.
RGB24 is the standard video format delivered by Logitech Webcams but this format in combination with a resolution of 352x288 is not working anymore in Windows 8.1. As a workaroung in win8.1 I pick 320x240 as default resolution for this video format.
- workaround for 10/100Mb/s gemac Rx lockup: the interface is run in promiscuous mode and the driver filters the packets - workaround for Rx Queue Overrun problem: on a Rx Queue Overrun interrupt gemac and phy are rest completely
- for test purposes promiscuous mode can be disabled|enabled by !config add ETH0 /rx-promiscuous 0|1 or temporaryly by !mod cmd ETH0 rx-promiscuous 0|1
PBX-SOAP: Trap when calling Admin with empty string
Carrier calls are rejected with "404 Not Found" if the Request-URI of the received INVITE does not match the registered Contact-URI. Change was introduced with SR10.
Fax server: T.30 failure with bad-sig-end indication
The session could be deleted from the cache after the client decided to do a resumed handshake but before the master key was read from the cache. If this happened a wrong master key was used and the trace showed "TLS DECODE ERROR!".
FXS with Feature Codes, possible trap on call-completion
There is a rare trap in DECT-Master if a new call is sent to the radios and there still exists an old call for the endpoint and this call is assigned to an unregistered radio. The trap only occurs on the IP1202, not the IP1200. This is fixed now.
DHCP-Server: strip leading and trailing spaces from values entered in "IP4/ETHx/DHCP-Server/Offer Parameters"
Interop fix for "User-Agent: commend SIP Series 3.1". After registration this client send OPTIONS without Contact header. Due to missing Contact header the OPTIONS request cannot be associated with the existing registration. Unrelated OPTIONS requests are not answered due to security reasons.
If this new config file option is set, even unrelated OPTIONS requests are answered.
When uploading a CSV file the UTF8 BOM was not always detected, depending on HTTP chunked encoding. As a result non-ascii charaters were broken in the imported user objects.
phone: ip222,ip232: Jabra UC VOICE 550/750 Version A - Microphone occasionally mute
ip38 call attempts to busy FXO are answered with cause 'busy' and to unconnected FXO with cause 'destination out of order'. Those causes forced the rerouting procedure to stop rerouting. The cause values are now changed into values 'no channel available' and 'network out of order', which do not stop rerouting.
PBX Waiting CDRs: Incomplete CDRs on calls to WQ with CFNR
If a call to a waiting queue was forwarded because of a CFNR after the announcement was completed, this call resulted in a CDR without a <rel-from/> event.
H.323: Small memory leak when changing a registration
For an outgoing call to an NT mode interface the other side can indicate in-band tones with a Progress Indicator in a PROGRESS message. This did not work. A Progress Indicator in SERUP-ACK, CALL-PROC or ALERT was no problem
phone: ip222,ip232: audio parameter configuration via command line did not work in some cases
Happened with command lines containing options without a value, for example a config change AC-DSP0 HEADSET /spk-volume /mic-volume 5 did not affect the microphone volume. Further input was not validated so big negative or positive values gave confusing results.
Softwarephone ringing through Jabra 930 base station
It is not a problem of the analog interface, but the PBX, which does not play ringback if a retrieve is done before the transfer, which is done by the FXS.
myPBX launcher: Desktop notifications displayed incorrectly with scaled windows font
When Windows 7 users changed the font size to 125% or 150% the desktop notifications were not displayed correctly. A previous fix from v10sr8 did not work properly.
Audible connection for outgoing ip38->PSTN calls was established right after dialing the destination number. Same time a 'connect' was assumed to the IP side. The connection is now already established with the detection of a central office tone, or, if no co detection is checked, 800ms after hook-off. The 'connect' to IP is sent 10sec after dialing or earlier, when a polarity reversal denotes a connection to the PSTN peer.
ip38 '+' character from FSK-Clip data in CGPN info
With the PBX SOAP API a call can be initiated for a user, without specifying for which device the call should be initiated. In this case a default device is picked. If an application does this for a user with mobility, a restart happens because of a null pointer access.
Admin; The input field for the device name showed the url-decoded name
ip38 used a 10sec delay to send SIG_CONN to the calling IP user. If the calling phone mutes its transmit data, the called peer cannot hear the caller for this 10s ec period. The delay is now reduced to 4sec. A DTMF digit sent by the caller will restart this delay to the whole 4sec again.
For some some analogue endpoints it is not possible to detect when the media connection is really established, it may hapen before connect is signaled to the phone. To prevent confusion when voice is received from remote but the answer is supressed the microphone is unmuted now already in alerting state by default. The former behaviour can be restored by config add PHONE APP /mute-while-dialing 1
PBX: Unexpected Restart if group information was changed while an unacknowledged subscription was pending
If a reroute loop is configured in endpoints, high load will be generated on the PBX, because these reroutes are executed quickly. A SIP phone with a call diversion uses reroute, because the call diversion cannot be configured in the PBX.
PBX: VoicemailUser license check did not work if the user and the Voicemail object were on different PBX
Interface maps are executed with the first dialing information received. This can be a SETUP message dor blockdial or an INFO message for overlap dial. In case the first dialing information came with INFO the cgpn map was executed twice, which could result in a wrong CGPN
PBX Waiting: "Max Call/Operator(%)" did not work correctly with "Presence disables Operator" and "Set Operator Presence"
When calculating the number of operators, operators with presence set were not counted if "Presence disables Operator" was set. But a call to such an operator even if this call triggered the setting of presence because of "Set Operator Presence" was counted, so additional calls were rejecetd even if the configured percentage was not reached.
As Microsoft changed the way how default applications are determined, URL protocol handlers have to be registered differently. myPBX is now compatible to the Windows 8 behaviour.
PBX: Transfer to incomplete destination did not complete, if group-indications were configured at the transfered party
The customer complained that DTMF feedback tones to the user were too loud. There was one obvious reason in the sources: the table of VoiceOutputGain steps was not in sync with the table of SignalLevel steps, i.e. the relation between speech and DTMF level differed depending on the volume setting. The other point is that DTMF tones are perceived louder than the lower frequency call progress tones. Therefore adjusted the SignalLevel steps to correlate with the VoiceOutputGain steps and introduced 6 dB extra attenuation for DTMF tones compared to call progress tones.
SIP: Bug in media negotiation when processing reINVITE without SDP offer
In case a destination in another node was called, not the complete number including prefixes was displayed but just the number of the destination within its node
FXS: Trap on very rare race collision of retrieve with call release
Before this fix the email address was the combination of h323 and domain, but this mustn't be necessarily the primary email address, which is determined inside the PBX.
norway-style central office tone is defined as 600ms pulse and 20ms pause. Detection did not work if detected pause was below 60ms, which was the allowed deviation in the detection algorithm.
Video: myPBX crashes when it is closed while webcam window is open
This is intended behaviour in case of an FXS interface without any destination number in mappings or routes, so that a user can pick up the receiver and take his time to think about the number to dial. It does not make sense for an incoming call on an FXO interface with a destination number configured in routes.
Video: possible trap if video output could not be initialized.
The count in test licenes is now always 0 and the licenses are granted anyway. This way no consideration about the count to be used in test licenses is needed anymore. Also v11 test licenses with expiration date are recognized as normal test licenses in v10.
Bug Fixes
HTTPCLIENT: automatically retry simple PUT requests when the server requests re-authentication
HTTPCLIENT supports three types of PUT requests: - burst: the length of the request body and the complete body are provided in the initial put(), i.e. httpclient::put(context, url, defaultfilename, header, data, data->length()) - stream: the length of the request body is provided in the initial put(), the body is provided in parts by subsequent send_data() calls (for example a larger file). - chunked: the length of the request body is not provided in the initial put(), the body is provided in parts by subsequent send_data() calls. Only a 'burst' type request can be retried when the server requests re-authentication. For other request types the 401 status is passed to the user who can restart the request then.
IP111/222/232/241: lcd_bump did not show active popups
data was received at maximum speed and buffered by httpclient when the application could not consume the data at this speed. This could cause an out of memory trap when receiving large files for example in firmware upload.
QSIG: Progress Indicator was missing in PROGRESS on call to Busy User
The user should also be able to send DTMFs in the call states "complete" and "alerting". This is needed when the user wants to use DTMF in announcements before the connect.
SIP: Do not reject reINVITE with 482 Loop Detected
If the user does not have a favourite list, a list is automatically created when adding a favourite. In this case the favourite was stored with a wrong type (always internal).
myPBX: Hide DTMF keypad if the phone does not support it
Only two remote IP addresses were resolved from one proxy name. If more than two IP addresses were configured for fallback reasons, SIP could stop working.
Lock registration during call activity. Do not change back from secondary/fallback server to primary server during a call. Interoperability issue on CUCM.
If in myPBX a number is dialed from an external application (tel link, office integration, hotkey), myPBX needs to guess if the number is an external or an internal number. For external numbers that are not in international number format it needs to add the external line prefix.
This fix adds the maximum length of internal numbers to the dialing location. That information can then be used by myPBX to identify external numbers that are missing the external line prefix for dialing.
Did not used mapped ports in case of "Restricted Cone" and "Port Restricted Cone". Only in case of NAT variation "Full Cone" a SIP interface used mapped ports.
Now when going onhook before any digit has been entered the held call will be kept. A blinking display line or LED indictes the existence of the held call. The call an be reconnected by going offhook again.
SIP: Fix for trap caused by fix for service release 14
SIP may provide the calling party number in international format, for example as '+4930....'. The inverse name resolution did not work although correct entries were present in directory.
The marker bit is set on the first packet after a silence persiod in case of silence compression, so this does not do a lot of harm if this packet is lost, except if the other side is setting this bit for every packet, which happens sometimes.
DTMF: Speed-up transmission of RTP-DTMF (RFC-2833)
Speed-up transmission of RTP-DTMF (RFC-2833). Transmission of an RTP-DTMF took 200ms time from first START event to last END event. It now takes 120ms. This allows faster DTMF sequences.
Remote Media: Support for UTF8 characters in hardware ID and realm
When searching the ESTOS metadirectory for a plain number (without any wildcards) the result set contains all objects with a tail match in one of the number attributes specified in the search request. The number of objects to be returned in search response was set to one by the phone and thus it happened that the really matching objet was not received. To overcome this problem more objects are requested now and the returned objects are checked for a match in the phone again.
PBX Waiting: An operator joining should receive calls which are waiting at the time of the join
This behaviour can be enabled via config add PHONE APP /auto-handsfree <digits> config add PHONE APP /auto-handsfree X<digits> where <digits> is the sequence of all digits which shall trigger a call, for example config add PHONE APP /auto-handsfree 0 config add PHONE APP /auto-handsfree X0 To disable this behaviour use config rem PHONE APP /auto-handsfree
With the first form the call is always setup in handsfree mode.
With the second form the call is setup in the mode assumed to be most suitable. When a call via handset was terminated by the disconnect key and a digit is entered thereafter with the handset kept lifted the new call is set up in handset mode too. If the handset is on hook the the call is set up in headset mode when the headset is enabled, otherwise in handsfree mode.
PBX-SOAP: UserCall did not terminate correctly, when initial call out to endpoint or the transfer failed
There was no message indicating this signaled back to the application. If the call was initiated for a entity on the Gateway (e.g. the FAX interface) it could lead to hanging calls on the Gateway.
phone: ip110,200,230,240: display for a connected inbund call redirected via a waiting queue was different to former versions
Usually a connected call is displayed in two lines: line 1: called party line 2: connected party For a connected call redirected via a waiting queue the diverting party (i.e. waiting queue number/name) was displayed in line 1 instead of the original called party as in former versions.
PBX: myPBX messages should not show in the admin log
This could happen when handset was lifted while holding speaker key pressed or when the speaker was relased at the same time when the handset was lifted.
PBX: Check for availability of some licenses did not work for Test licenses
In case the user interface displayed the option only if the license was available this did not work for test licenses. This was the case for Session Border Objects.
There is a change in the default configuration which prevents a wrong configuration if a software factory reset is done with the command config clear. IP-DECT handover fails with the wrong configuration. This is fixed now.
HTTPCLIENT: A request could fail if sent immediately after a request responded with "Connection: close" in the response header
New interop tweak "To Header when Sending INVITE". Used to specifiy how to populate the To header URI when sending INVITE. Selection between "Called Party" or "Original Called Party". For SIP carrier interoperability in case of forwarded/redirected calls.
Bug Fixes
phone: transparent recording was not started for automatically connected inbound calls
Inbound calls are automatically connected when the checkmark "Phone/User-n/Preferences/Treat any Call as Announcement" is set. For calls connected this way the recording modes "transparent" and "optional" did not work, i.e. recording was not started at connect time.
phone: ip222,232,ip241: no media on inbound calls automatically connected to headset after ringing
This happened with the following checkmarks set: "Phone/User-n/Preferences/Treat any Call as Announcement" "Phone/Preferences/Play Configured Ring Melody before Automatically Connecting an Announcement Call" "Phone/Preferences/Route Automatically Connected Inbound Calls to Headset (if enabled)" After playing the ring melody for the configured time the connection was established but the headset was mute.
PBX Waiting: A called picked from a WQ operator was shown as missed
Happen with a Multicast object: Call to multicast, then hold and another call to the same multicast object, which returns busy, then hangup, which initiates a blind transfer to busy endpoint.
PBW Waiting: When calling an operator, the Display name not Long name should be used as diverting name
On the called phone the operator gets displayed that the call was forwarded by a Waiting Queue. Here the display name of the Waiting Queue should be used when configured not the Long Name.
Web-Admin-UI: Client addresses are not displayed on Services/HTTP/Server
Problems on address resolution by DNS. If SRV query delivers two hostnames but no IP addresses, two A queries are issued. First A query is for primary hostname. Second A query is for secondary hostname. In case the A record for secondary hostname arrives before the A record for primary hostname, the secondary host's IP address gets lost. Only primary IP address is used.
Avoid X509_ALARM_SYSTEM_TIME_NOT_SET on boxes that do not do certificate validation
When 'Establish call on polarity reversal' is checked and PSTN drives line in reversed polarity in conversation/connected state, an illegal call may be initiated at the end of the preceding call due to the polarity reversal at the end of the call.
Trap after changing the phone admin config without immediate restart
The trap can be reproduced through these steps: - Start with an account where only user name and password is specified - Go to "Settings/Accounts/xxx/Login settings". Enter a primary address. - OK, "Restart now?" -> No - Go to "Login settings" - OK, "Restart now?" -> Yes
Federation interface should reject call with Q931_CAUSE_AddressIncomplete_InvalidNumberFormat (not Q931_CAUSE_RequestedCircuit_ChannelNotAvailable) if destination is not a URI (e.g. no domain part).
phone: with optional recording a 3-party conference could not be established although recording was stopped
Call flow: - A calls B - B answers -> recording is started - A stops recording with redial-key - A opens a consultation call to C - C answers -> recording is restarted - A stops recording with redial-key When A presses the Menu-key a 3-party conference should be started. This did not work anymore since V9hotfix25 and not at all in V10.
ISDN: Reject calls for subscriptions with cause "Facility rejected"
Using the configuration given below an inbound call is automatically connected to the headset if a headset is plugged and enabled, otherwise the call is rejected with cause busy. "Phone/User-x/Preferences/Announcement Calls/Micro On" "Phone/User-x/Preferences/Announcement Calls/Treat any Call as Announcement" "Phone/Preferences/Route Automatically Connected Inbound Calls to Headset (if enabled)" "Phone/Preferences/Reject Automatically Connected Inbound Call routed to Headset if Headset is not plugged or disabled" The last checkmark affects only normal inbound calls. Announcement calls via the PBX MCAST-Announce object or via the "Dial/Announce" Function key will be routed to the speakerphone if no headset is plugged or if the headset is disabled.
PBX: Match v11 hardware ids to legacy hardware ids
In version 11 the mac address is used as hardware id. In version 10 an earlier a combiation of the product short name and the last 3 bytes of the mac address. A mapping of the mac address to the legacy hardware id was added to version 10 to make sure phones still register if the phoness are upgraded to version 11 before the PBX
IP-DECT: Handset UTF-8 support for phone book requests
A CFNR are a gateway object is executed when a call was terminated with a retry cause. This itself is not treated as diversion, so not diverting leg2 info is included in the call for that, but diverting leg2 infos from previous CFs should be preserved
SoftwarePhone: intermittend crash when notebook switches between sleep and active mode
If the handset's IPEI is inserted with a checksum, it doesn't match during the subscription process and the system AC is used instead of the user specific AC or the subscription isn't allowed and is rejected. This causes a for the user unobviously failed subscription and is fixed now.
GUID generation fixed. Could result in duplicate GUIDs
The server side should accept the initial ClientHello, even if it is sent in a SSL 3.0 record. Some TLS implementations, like OpenLDAP send ClientHello messages like that for backward compatibility. The fix does not affect the negotiation of the used TLS version.
SIP: Cannot call from SRTP endpoint to non-SRTP endpoint
When a box reboots remote peers may continue to send packets directed to the former IP-address of the box (for example TCP keepalives). As long as the IP stack is not configured such packets must be silently discarded. Trying to send an ICMP(IC_DESTUR) via normal routing fails because there is no route back and this generates misleading "No route to destination" error events. Sending an ICMP(IC_DESTUR) directly to source seems not really helpful because usually DHCP will assign the former address to the box again.
The call was disconnected without cause, which typically resulted in a display "call aborted" on the calling endpoint instead of "user busy" which could be desired by the application.