1 Megaco Release Notes
This document describes the changes made to the Megaco system
from version to version. The intention of this document is to
list all incompatibilities as well as all enhancements and
bugfixes for every release of Megaco. Each release of Megaco
thus constitutes one section in this document. The title of each
section is the version number of Megaco.
1.1 Megaco 3.10.1
Version 3.10.1 supports code replacement in runtime from/to
version 3.10.0.1, 3.10 and 3.9.4.
1.1.1 Improvements and new features
-
1.1.2 Fixed bugs and malfunctions
-
Unexpected handle_unexpected_reply callbacks.
The megaco_user callback function
handle_unexpected_reply
could during high load be called with unexpected values for the Trans
argument, such as an TransactionReply where transactionResult
had the value {error, timeout}. This was a result of a raise condition
and has now been fixed.
Own Id: OTP-7926
Aux Id: Seq 11255
-
[text] PropertyParm values cannot be quoted.
It was not possible to encode a PropertyParm value as a quoted string
(unless it *had* to (has at least one RestChar)). The megaco text codec's
now also accepts quoted strings as PropertyParm values.
Own Id: OTP-7936
Aux Id: Seq 11258
1.1.3 Incompatibilities
-
1.2 Megaco 3.10.0.1
Version 3.10.0.1 supports code replacement in runtime from/to
version 3.10 and 3.9.4 except
when using any of the drivers (flex for text or asn1 for binary).
1.2.1 Improvements and new features
-
Updated file headers.
Own Id: OTP-7851
1.2.2 Fixed bugs and malfunctions
-
1.2.3 Incompatibilities
-
1.3 Megaco 3.10
Version 3.10 supports code replacement in runtime from/to
version 3.9.4, 3.9.3, 3.9.2, 3.9.1.1, 3.9.1, 3.9, 3.8.2, 3.8.1 and 3.8 except
when using any of the drivers (flex for text or asn1 for binary).
1.3.1 Improvements and new features
-
Added new API function
megaco:connect/5 and
the corresponding new megaco_user callback function
handle_connect/3.
The purpose of this is to be able to pass information to the
handle_connect/3
function by calling the
megaco:connect/5
function.
Own Id: OTP-7713
Aux Id: Seq 11140
-
Update file headers with new copyright notice.
Own Id: OTP-7743
1.3.2 Fixed bugs and malfunctions
-
1.3.3 Incompatibilities
1.4 Megaco 3.9.4
Version 3.9.4 supports code replacement in runtime from/to
version 3.9.3, 3.9.2, 3.9.1.1, 3.9.1, 3.9, 3.8.2, 3.8.1 and 3.8 except
when using any of the drivers (flex for text or asn1 for binary).
1.4.1 Improvements and new features
-
1.4.2 Fixed bugs and malfunctions
-
Segmenting a reply failed (with a badmatch) if the message
did not actually need to be segmented (e.g. was within the
size limit,
max_pdu_size).
Own Id: OTP-7733
Aux Id: Seq 11168
-
Improve the error handling of megaco_tcp for received
messages.
Own Id: OTP-7728
1.4.3 Incompatibilities
-
1.5 Megaco 3.9.3
Version 3.9.3 supports code replacement in runtime from/to
version 3.9.2, 3.9.1.1, 3.9.1, 3.9, 3.8.2, 3.8.1 and 3.8 except
when using any of the drivers (flex for text or asn1 for binary).
1.5.1 Improvements and new features
-
1.5.2 Fixed bugs and malfunctions
-
Memory leak in the flex scanner. There was a memory
leak in the flex scanner function handling
Property Parameters.
Own Id: OTP-7700
Aux Id: Seq 11126
1.5.3 Incompatibilities
-
1.6 Megaco 3.9.2
Version 3.9.2 supports code replacement in runtime from/to
version 3.9.1.1, 3.9.1, 3.9, 3.8.2, 3.8.1 and 3.8 except
when using any of the drivers (flex for text or asn1 for binary).
1.6.1 Improvements and new features
-
1.6.2 Fixed bugs and malfunctions
-
The text encoders (v1, v2, v3, ...) all failed to
properly encode the DigitMapDescriptor.
Own Id: OTP-7671
Aux Id: Seq 11113
-
The mini decoder some time incorrectly identifies
plain text as tokens.
Own Id: OTP-7672
Aux Id: Seq 11103
1.6.3 Incompatibilities
-
1.7 Megaco 3.9.1.1
Version 3.9.1.1 supports code replacement in runtime from/to
version 3.9.1, 3.9, 3.8.2, 3.8.1 and 3.8 except
when using any of the drivers (flex for text or asn1 for binary).
1.7.1 Improvements and new features
-
Miscellaneous dialyzer related and test case cleanup.
Own Id: OTP-7614
1.7.2 Fixed bugs and malfunctions
-
1.7.3 Incompatibilities
-
1.8 Megaco 3.9.1
Version 3.9.1 supports code replacement in runtime from/to
version 3.9, 3.8.2, 3.8.1 and 3.8 except
when using any of the drivers (flex for text or asn1 for binary).
1.8.1 Improvements and new features
-
1.8.2 Fixed bugs and malfunctions
-
[text] The flex scanner did not allow an empty quotedString
in propertyParm.
Own Id: OTP-7573
Aux Id: Seq 11062
-
[text] Unable to decode a version 2 message with a
topologyTriple containing an (optional) eventStream.
Own Id: OTP-7576
Aux Id: Seq 11066
1.8.3 Incompatibilities
-
1.9 Megaco 3.9
Version 3.9 supports code replacement in runtime from/to
version 3.8.2, 3.8.1 and 3.8 except
when using any of the drivers (flex for text or asn1 for binary).
1.9.1 Improvements and new features
-
[text] The text codec(s) has been optimized. The parsing of
"property parameters" has been moved to the scanner(s). Which means
that when decoding messages containing property parameters, using
the flex scanner, decode time(s) will be reduced. The reduction
depends on the message, but can be as large as 25%.
Own Id: OTP-7431
1.9.2 Fixed bugs and malfunctions
-
1.9.3 Incompatibilities
-
1.10 Megaco 3.8.2
Version 3.8.2 supports code replacement in runtime from/to
version 3.8.1 and 3.8 except
when using any of the drivers (flex for text or asn1 for binary).
1.10.1 Improvements and new features
-
1.10.2 Fixed bugs and malfunctions
-
[text] Messages with property parm values "containing" keywords
confused the parser when using the flex scanner.
Own Id: OTP-7534
Aux Id: Seq 11039
1.10.3 Incompatibilities
-
1.11 Megaco 3.8.1
Version 3.8.1 supports code replacement in runtime from/to
version 3.8 except
when using any of the drivers (flex for text or asn1 for binary).
1.11.1 Improvements and new features
-
Some minor documentation cleanup of the
transaction sender
chapter of the User's Guide.
Own Id: OTP-7417
Aux Id: Seq 10989
1.11.2 Fixed bugs and malfunctions
-
The event parameter value for completion event ce
of the dd package was incorrectly encoded as type
Value instead of as a quoted string.
Own Id: OTP-7444
-
DigitMap ([0-9ef]) incorrectly interpreted as ([0-9]ef).
Own Id: OTP-7449
-
Receiving an unexpected segment reply could case
an case clause crash. Now a warning message will
be issued instead.
Own Id: OTP-7455
-
The flex scanner had problems parsing wildcarded
service-change request, ammRequest (with add) and
notifyRequest.
Own Id: OTP-7457
Aux Id: Seq 11014
-
Processing requests when "autoconnecting"
caused function cause after reboot.
Own Id: OTP-7459
Aux Id: Seq 11017
1.11.3 Incompatibilities
-
1.12 Megaco 3.8
Version 3.8 supports code replacement in runtime from/to
version 3.7.5, 3.7.4 and 3.7.3 except
when using any of the drivers (flex for text or asn1 for binary).
1.12.1 Improvements and new features
-
Miscellaneous text codec(s) improvements. Both
regarding code size and decode performance.
See the
performance
chapter of the Users Guide for details.
Own Id: OTP-7228
-
Added the value flag to the resend_indication config
option. See
resend_indication for more info.
Own Id: OTP-7259
Aux Id: Seq 10901
1.12.2 Fixed bugs and malfunctions
-
If a TransactionRequest arrives while a user is
connecting (is in the callback function
handle_connect as a result of a megaco:connect call),
megaco responds with a pending message and then drops
the request.
These messages will now be silently dropped, forcing the
other side to resend.
Own Id: OTP-7192
Aux Id: Seq 10884
1.12.3 Incompatibilities
-
1.13 Megaco 3.7.5
Version 3.7.5 supports code replacement in runtime from/to
version 3.7.4, 3.7.3, 3.7.2, 3.7.1 and 3.7 except
when using any of the drivers (flex for text or asn1 for binary).
1.13.1 Improvements and new features
-
Documentation of function
megaco:conn_info/2
has been updated to include known exit reasons.
Own Id: OTP-7286
Aux Id: Seq 10933
1.13.2 Fixed bugs and malfunctions
-
The transaction id counter could be incorrectly
updated at wrap-around. The risk was expecially high
at high load.
Own Id: OTP-7303
Aux Id: Seq 10939
1.13.3 Incompatibilities
-
1.14 Megaco 3.7.4
Version 3.7.4 supports code replacement in runtime from/to
version 3.7.3, 3.7.2, 3.7.1 and 3.7 except
when using any of the drivers (flex for text or asn1 for binary).
1.14.1 Improvements and new features
1.14.2 Fixed bugs and malfunctions
-
The (plain) text scanner could incorrectly identify
character strings (any 17 char long string with the
char t in the middle) as a TimeStampToken.
Own Id: OTP-7249
Aux Id: Seq 10917
1.14.3 Incompatibilities
-
1.15 Megaco 3.7.3
Version 3.7.3 supports code replacement in runtime from/to
version 3.7.2, 3.7.1 and 3.7 except
when using any of the drivers (flex for text or asn1 for binary).
1.15.1 Improvements and new features
-
Updated the graphs of the performace chapter with
to reflect this version of megaco. Also included
results with HiPE-compiled codec's..
Own Id: OTP-7180
1.15.2 Fixed bugs and malfunctions
-
The behaviour megaco_encoder was lacking three functions
which was made mandatory as of version 3.7.
See
encode_transaction/3,
encode_action_requests/3 and
encode_action_reply/3
for more info
Own Id: OTP-7168
Aux Id: Seq 10867
-
It was possible to create permenant pending counter
data for a somewhat misbehaving (request) receiver.
If a megaco entity ("sender") sends a request and the
"receiver" (of the request) responds with a pending
message but never actually sends the reply (or if
it is lost), the created pending counter data would
never be deleted if the
long_request_timer
was set to infinity (old default) and the
recv_pending_limit
was set to an integer value (default is infinity).
Own Id: OTP-7189
Aux Id: Seq 10879
-
If a counter whas reset (wrap-around) as a result of
increment larger than 1, then it was actually always
set to the min_trans_id-value.
Own Id: OTP-7216
1.15.3 Incompatibilities
-
For those implementing their own codec's, the new megaco_encoder
behaviour will require three more functions. See above for more
info.
Own Id: OTP-7168
Aux Id: Seq 10867
-
The default value of the
long_request_timer
has been changed from infinity to 60 seconds.
Own Id: OTP-7189
Aux Id: Seq 10879
1.16 Megaco 3.7.2
Version 3.7.2 supports code replacement in runtime from/to
version 3.7.1 and 3.7 except
when using any of the drivers (flex for text or asn1 for binary).
1.16.1 Improvements and new features
-
1.16.2 Fixed bugs and malfunctions
-
There is a race condition when cancelling requests
during a high load situations which could lead to
spurious (megaco internal) messages beeing sent to
user processes. When a request is issued using
megaco:call,
which returns only after a "reply" can
be delivered, the request timer might expire
during the cancelling of the request, which will cause
megaco to attempt to deliver the timeout info, which
will result in the spurious message.
This problem has now been eliminated by introducing
a proxy process, which simply dies when the "real"
response has been delivered. The spurious reply will
then be sent to a non-existing process.
Own Id: OTP-6972
Aux Id: Seq 10450
-
[text] Decoding a version 2 message with an observedEventParameter
where the value of the parmValue was CT, failes.
CT is defined as the context attribute token in version 3,
and this incorrectly caused the scanner (which is version
agnostic) to create an ContextAttrToken, which caused the
version 2 parser to crash.
Own Id: OTP-7138
Aux Id: Seq 10854
1.16.3 Incompatibilities
-
1.17 Megaco 3.7.1
Version 3.7.1 supports code replacement in runtime from/to
version 3.7 except
when using any of the drivers (flex for text or asn1 for binary).
1.17.1 Improvements and new features
-
Reporting of error(s) detected during loading of the
flex driver has been improved, by calling the
erlang:format_error function.
Own Id: OTP-7005
-
Updated documentation for function megaco:connect/4.
Own Id: OTP-7000
Aux Id: Seq 10815
-
Use of depricated function erlang:fault replaced with
erlang:error.
Own Id: OTP-6919
1.17.2 Fixed bugs and malfunctions
-
Corrected usage of function file:open/2 (the Modes
argument is a list).
Dialyzer
Own Id: OTP-7124
-
Fixed a reply timer race condition problem resulting
in (case clause) error message.
Own Id: OTP-6999
Aux Id: Seq 10815
-
Failure to parse SDP attribute FMTP rows.
Own Id: OTP-6992
Aux Id: Seq 10813
-
When the megaco application receives two instances of
the same transaction requests (re-send) within too
small a time, there is a small possibility that both
are passed on to the user via a call to the callback
function (handle_trans_request).
Own Id: OTP-6971
Aux Id: Seq 10802
1.17.3 Incompatibilities
-
1.18 Megaco 3.7
1.18.1 Improvements and new features
-
Added support for the full v3-standard
(including segmentation).
See
segmentation of transaction replies
and
handling megaco versions
for more info.
Note that segmentation is currently not supported by the
binary codec(s).
Own Id: OTP-5979
-
The megaco documentation source has been converted
from SGML to XML.
Own Id: OTP-6753
-
SDP support updated according to RFC 4566.
Own Id: OTP-6804
Aux Id: Seq 10710
-
Added a way for the transport module to transfer
extra information to the user callback functions
callback functions
upon receipt of a message. This is done by adding an extra
argument when calling the (new) message delivery function(s)
process_received_message/5
or
receive_message/5.
Similarly, the UserReply part of the return value for the
call function can
now also include such extra information.
Own Id: OTP-6865
Aux Id: Seq 10559
-
Improve the utility functions for information retrieval:
megaco:info,
megaco:system_info,
megaco:conn_info and
megaco:user_info.
Own Id: OTP-6976
Aux Id: Seq 10804
1.18.2 Fixed bugs and malfunctions
-
1.18.3 Incompatibilities
-
Implementing (SDP-) support for RFC 4566 also means that some of
the existing sdp-record definitions have been changed.
Own Id: OTP-6804
Aux Id: Seq 10710
1.19 Release notes history
For information about older versions see
release notes history.
megaco 3.10.1
Copyright © 1991-2009
Ericsson AB