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.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.1.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.1.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.1.3 Incompatibilities
-
1.2 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.2.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.2.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.2.3 Incompatibilities
-
1.3 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.3.1 Improvements and new features
1.3.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.3.3 Incompatibilities
-
1.4 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.4.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.4.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.4.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.5 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.5.1 Improvements and new features
-
1.5.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.5.3 Incompatibilities
-
1.6 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.6.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.6.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.6.3 Incompatibilities
-
1.7 Megaco 3.7
1.7.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.7.2 Fixed bugs and malfunctions
-
1.7.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.8 Megaco 3.6.3
Version 3.6.3 supports code replacement in runtime from/to
version 3.6.2, 3.6.1, 3.6.0.1, 3.6, 3.5.3, 3.5.2, 3.5.1.1, 3.5.1 and
3.5 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
-
Failure to parse SDP attribute FMTP rows.
Own Id: OTP-6992
Aux Id: Seq 10813
1.8.3 Incompatibilities
-
1.9 Megaco 3.6.2
Version 3.6.2 supports code replacement in runtime from/to
version 3.6.1, 3.6.0.1, 3.6, 3.5.3, 3.5.2, 3.5.1.1, 3.5.1 and 3.5 except
when using any of the drivers (flex for text or asn1 for binary).
1.9.1 Improvements and new features
-
1.9.2 Fixed bugs and malfunctions
-
When timers expire while a connection cancel
(megaco:cancel) is in progress, there is a raise
condition possibillity. This has been eliminated.
Own Id: OTP-6921
Aux Id: Seq 10450
1.9.3 Incompatibilities
-
1.10 Megaco 3.6.1
Version 3.6.1 supports code replacement in runtime from/to
version 3.6.0.1, 3.6, 3.5.3, 3.5.2, 3.5.1.1, 3.5.1 and 3.5 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
-
An empty time-zone adjustement was incorrectly allowed
when decoding SDP using
decode_sdp.
Also the parsing of attributes was to restrictive.
Own Id: OTP-6803
Aux Id: Seq 10710
1.10.3 Incompatibilities
-
1.11 Megaco 3.6.0.1
Version 3.6.0.1 supports code replacement in runtime from/to
version 3.6, 3.5.3, 3.5.2, 3.5.1.1, 3.5.1 and 3.5 except
when using any of the drivers (flex for text or asn1 for binary).
1.11.1 Improvements and new features
-
Minor Makefile changes.
Own Id: OTP-6704
1.11.2 Fixed bugs and malfunctions
-
1.11.3 Incompatibilities
-
1.12 Megaco 3.6
Version 3.6 supports code replacement in runtime from/to
version 3.5.3, 3.5.2, 3.5.1.1, 3.5.1 and 3.5 except
when using any of the drivers (flex for text or asn1 for binary).
1.12.1 Improvements and new features
-
Improved erl_dist codec handling of
megaco_compressed
codec config. Introduced behaviour,
megaco_edist_compress,
for the megaco_compressed callback of module.
Own Id: OTP-6609
-
The behaviour
megaco_transport
have been updated to include the optional
function
resend_message.
This function is called instead of the standard
send_message
if the new config option
resend_indication
was set to trueand it is a message resend.
Own Id: OTP-6442
Aux Id: Seq 10393
-
Add abillity to decrement the timeout time for
incremental timers, see
reference manual
for more info.
Own Id: OTP-6441
Aux Id: Seq 10349
-
Miscellaneous minor performance improvements of the
text codec's.
Own Id: OTP-6185
1.12.2 Fixed bugs and malfunctions
-
Missing documentation link in module
megaco_user.
Own Id: OTP-6578
1.12.3 Incompatibilities
-
The interface of the megaco_compressed callback module
has been changed, see the
megaco_edist_compress
behaviour module for more details.
Own Id: OTP-6609
1.13 Megaco 3.5.3
Version 3.5.3 supports code replacement in runtime from/to
version 3.5.2, 3.5.1.1, 3.5.1 and 3.5 except
when using any of the drivers (flex for text or asn1 for binary).
1.13.1 Improvements and new features
-
1.13.2 Fixed bugs and malfunctions
-
Using the call
function at high load could cause replies from other
transactions to be returned also.
At high load, when a process calls the function
call,
which times out, then makes another
call, it is possible that the reply to the first
request arrives while the process is waiting for
reply to the second request. As no checks were made if
the reply was actually the expected (transaction-id),
this reply was also included in the result.
This problem has been fixed by calling the megaco_user
callback function
handle_unexpected_trans
if unexpected transactions are received.
Own Id: OTP-6549
Aux Id: Seq 10598
-
Miscellaneous minor corrections, such as
removing "dead code". Detected by dialyzer.
Own Id: OTP-6520
1.13.3 Incompatibilities
-
1.14 Megaco 3.5.2
Version 3.5.2 supports code replacement in runtime from/to
version 3.5.1.1, 3.5.1 and 3.5 except
when using any of the drivers (flex for text or asn1 for binary).
1.14.1 Improvements and new features
-
Minor improvement to the text codec error reporting.
Own Id: OTP-6404
1.14.2 Fixed bugs and malfunctions
-
Misc cleanup to eliminate some dialyzer warnings [dialyzer].
Own Id: OTP-6503
-
Improper text encoding of EventSpecs.
All codec versions [dialyzer].
Own Id: OTP-6490
-
Missing (link) anchors.
Own Id: OTP-6422
1.14.3 Incompatibilities
-
1.15 Megaco 3.5.1
Version 3.5.1 supports code replacement in runtime from/to
version 3.5, 3.4.4 and 3.4.3 except
when using any of the drivers (flex for text or asn1 for binary).
1.15.1 Improvements and new features
-
1.15.2 Fixed bugs and malfunctions
-
When replies arrive during a call to megaco:cancel
there is a raise condition possibillity. This has been
eliminated.
Own Id: OTP-6276
Aux Id: Seq 10450
-
MG receiving a request, when the reply to the
service-change has not yet been received (505)
(either because it's been lost or because the MGC is
erroneous). This will now result in a call to
handle_trans_reply
with the UserReply: {error, timeout}.
Own Id: OTP-6275
Aux Id: Seq 10458
1.15.3 Incompatibilities
-
1.16 Megaco 3.5
Version 3.5 supports code replacement in runtime from/to
version 3.4.4 and 3.4.3 except
when using any of the drivers (flex for text or asn1 for binary).
1.16.1 Improvements and new features
-
All error/warning messages from the megaco application
will be tagged in such a way that they will be easy to
identify (and search for in logs).
Own Id: OTP-6223
Aux Id: Seq 10423
-
The allowed return values of the send_message function
of the megaco_transport callback module has been
extended (to allow the transport module to cancel the message
sending), see the functions
call,
handle_trans_reply,
handle_trans_ack
and send_message
for more info.
Own Id: OTP-6253
Aux Id: Seq 10423
1.16.2 Fixed bugs and malfunctions
-
A minor problem related to the passage of the pending
limit could potentially prevent the reply
info to be retained when it should have been removed.
Also, the user will not be informed about the passing
of the pending limit in this special case.
Own Id: OTP-6256
1.16.3 Incompatibilities
-
1.17 Release notes history
For information about older versions see
release notes history.
megaco 3.8
Copyright © 1991-2008
Ericsson AB