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 2.1.1
Version 2.1.1 supports code replacement in runtime from/to version 2.1 except when using any of the drivers (flex for text or asn1 for binary).
1.1.1 Improvements and new features
1.1.2 Fixed bugs and malfunctions
- A pretty text message containing an ObservedEvents without timestamp, will fail to decode. This effects both v1 and v2.
OTP-5042
- During node restart in a high load scenario, the megaco_messenger:receive_reply_remote function could be called on a node before the megaco app has actually been started. This will result in a crash (EXIT with badarg). This is now handled in the same way as if the request was not found (with a call to the callback function handle_unexpected_trans).
OTP-5025
Aux Id: Seq 8658
1.1.3 Incompatibilities
1.2 Megaco 2.1
1.2.1 Improvements and new features
- Allow separatelly encode action requests. Handle sending of those previously encoded action requests as binaries (as well as lists of action requests).
See encode_actions, call and cast.
- Introduce a transaction sender process (one for each connection) which will accumulate transactions and send several in one message.
See transaction sender, user_info and conn_info.
- New encoding-config options for the erl_dist encoder which makes it possible to compress the megaco messages. This makes the erl_dist encoded message much more compact (about 1/3 of the size).
See megaco_compressed.
1.2.2 Fixed bugs and malfunctions
- Text parser(s) did not handle parsing of the StreamId field of RequestedEvent and SecondRequestedEvent.
OTP-4974
- Repeated transaction request receiving when exceeding pending limit will cause the message handling process to crash.
OTP-4956
Aux Id: Seq 8445
- Text parser did not handle auditReturnItem properly, as defined in IGv11.
OTP-4950
- Missing [text] servChgReplyParm constistency check.
OTP-4949
- Incorrect handling of comments in text messages.
OTP-4946
- Missing [text] serviceChangeParm constistency check.
OTP-4945
1.2.3 Incompatibilities
- Text parser did not handle auditReturnItem properly, as defined in IGv11. The result which was supposed to have been presented as the tuple:
{emptyDescriptor, #'AuditDescriptor{}}
in the termination audit list, was instead entered as{auditReturnItem, atom()}
in the termination audit list. This has been fixed.
OTP-4950
- In previous releases there where a couple of user and connection config items dealing with accumulating transaction ack sending. These has all been renamed due to the introduction of the transaction sender.
See transaction sender, user_info and conn_info.
1.3 Megaco 2.0.1
1.3.1 Improvements and new features
1.3.2 Fixed bugs and malfunctions
- Megaco did not handle IPv6-addresses.
OTP-4920
- Text encoding of hex-digits sometimes incorrect.
OTP-4921
1.3.3 Incompatibilities
1.4 Megaco 2.0
1.4.1 Improvements and new features
- Support for both version 1 & 2 of the Megaco standard, updated according with IGv10-13.
Version selection is described in chapter Handling megaco versions 1 & 2.
- It is now possible to use the ASN.1 linked in driver for decode/encode of messages (encoding config driver).
See chapter Configuration of binary encoding module(s).
- Added a new configuration parameter, orig_pending_limit, to support the xOriginatingPendingLimit (x = MG or MGC) property in the root package.
See the orig_pending_limit parameter of the user_info function (also conn_info).
- Added a new configuration parameter, threaded. This tells the megaco app, that all transaction requests in a message should be executed in parallel (e.g. each in it's own process).
See the threaded parameter of the user_info function (also conn_info).
- Added behaviour modules megaco_transport and megaco_encoder.
- Added new (message) test functions to the megaco module, see test_request and test_reply.
- Minor improvements to the tracing.
- Minor improvements to the simple example.
1.4.2 Fixed bugs and malfunctions
- Update of the request timer incorrect when receiving a pending message. Could cause an exit of the process handling the message and a subsequent call to the
handle_disconnect
callback function.
OTP-4836
- Failed stopping the request timer when receiving a reply.
The only effect this had was that the request timer possibly ran one extra time (without doing anything).
OTP-4843
1.4.3 Incompatibilities
- signalsDescriptor has changed i v2
- ServiceChangeProfile has changed in v2
1.5 Megaco 1.2.3
1.5.1 Improvements and new features
1.5.2 Fixed bugs and malfunctions
- Megaco re-transmission loop, when setting the long request timer to an inremental timer. Megaco changes to the long request timer when receiving an pending message (after having sent a request). Each time the (long) timer expire, it will incorrectly result in an re-send of the request. This is meaningless since we know from the received pending that the "other side" has received the request and is working on it. Furthermore, when in this case the "other side" receives the request again, it will send another pending message. Receiving a pending message in this case will restart the timer (reset it to the initial values). This means that the timer will actually never fully expire and the two stacks will continue to exchange request/pending messages for as long as the "other side" is working on the request.
Own Id: OTP-4760
Aux Id: Seq 8003
1.5.3 Incompatibilities
1.5.4 Known bugs and problems
1.6 Megaco 1.2.2
Version 1.2.2 supports code replacement in runtime from/to version 1.2.1 and 1.2.
1.6.1 Improvements and new features
- Only spawn a process for the reply-timer if the user uses three-way-handshake.
Own Id: OTP-4729
1.6.2 Fixed bugs and malfunctions
- Encoding and decoding of the hexdig in AuthenticationHeader incorrect.
Own Id: OTP-4710
1.6.3 Incompatibilities
When downgrading form 1.2.2, reply-timers started when running 1.2.2 will not be properly handled since the format has changed. An error message will be printed when they expire.
1.6.4 Known bugs and problems
1.7 Megaco 1.2.1
Version 1.2.1 only supports code replacement in runtime from/to version 1.2.
1.7.1 Improvements and new features
- This is just a code up-/downgrade cleanup release. I.e. It's the same as version 1.2 minus the ugly stuff needed to handle up-/downgrade from/to version 1.1.2, 1.1.1 and 1.1.0.
1.7.2 Fixed bugs and malfunctions
1.7.3 Incompatibilities
1.7.4 Known bugs and problems
1.8 Megaco 1.2
Version 1.2 supports code replacement in runtime from/to version 1.1.2, 1.1.1 and 1.1.0.
1.8.1 Improvements and new features
- It is now possible to send more then one transaction (request) in a message. See call and cast.
Req Id: M[4]-1
Own Id: OTP-4589
- Two new parameters for user and connection info has been added:
accu_ack_timer
andaccu_ack_maxcount
. These are used together with theauto_ack
flag and control whether the acks should be sent immediatly or accumulated (and sent later). Note that this has nothing to do with theimmAckRequired
-flag in reply transactions. See user_info and conn_info.
Own Id: OTP-4669
1.8.2 Fixed bugs and malfunctions
- TCP transport supervision error (cut-and-paste error).
The megaco_tcp worker child was started as if it where a supervisor (and not a worker) and with a dependency to megaco_tcp_connection_sup (which it has none)
Own Id: OTP-4649
- Encoding of transaction ack fails with id ranges.
This was not really a problem in previous releases since such a message was never created (Ack was, possibly, sent for each received transaction reply).
Own Id: OTP-4652
1.8.3 Incompatibilities
1.8.4 Known bugs and problems
- Neither the TCP nor the UDP transport mechanisms are part of the megaco supervsion tree. This makes code up-/downgrade difficult when either of them are used as transport.
This will be fixed in a future release of megaco.
1.9 Megaco 1.1.2
Version 1.1.2 supports code replacement in runtime from/to version 1.1.1 and 1.1.0.
1.9.1 Improvements and new features
1.9.2 Fixed bugs and malfunctions
- Service change reason text encoding now always quoted string.
Peter-Henry Mander
Own Id: OTP-4632
1.9.3 Incompatibilities
1.9.4 Known bugs and problems
1.10 Megaco 1.1.1
Version 1.1.1 supports code replacement in runtime from/to version 1.1.0.
1.10.1 Improvements and new features
- Added support for the Megaco mib.
1.10.2 Fixed bugs and malfunctions
- Result of catch gen_udp:open not properly handled.
Own Id: OTP-4566
1.10.3 Incompatibilities
1.10.4 Known bugs and problems
1.11 Megaco 1.1.0
Version 1.1.0 does not suppurt code replacement in runtime from pervious versions.
1.11.1 Improvements and new features
- Reply ack timeout now results in a call to callback function handle_trans_ack/4 with AckStatus = {error, timeout}.
Own Id: OTP-4378
- The binary codecs ber_bin and per_bin is now both compiled with the +optimize compiler flag for better runtime performance.
Own Id: OTP-4383
- The previously included tool, et, has been moved out of the Megaco application. It is now provided as a separate application in OTP (as of R9).
Own Id: OTP-4487
- Added attribute app_vsn to all modules.
Own Id: OTP-4486
1.11.2 Fixed bugs and malfunctions
- Decode of oneStream incorrect.
.
Own Id: OTP-4490
- Transaction id counter wrapping incorrect when Max is
infinity
.
Incorrectly the documentation defined a connection info itemmin_trans_id
. It should have beentrans_id
.
Own Id: OTP-4484
- Package name check in the text parser incorrect.
Own Id: OTP-4364
- Fixed a minor build problem causing the file 'megaco_text_parser.yrl' to not be included in the release.
Own Id: OTP-4363
1.11.3 Incompatibilities
1.11.4 Known bugs and problems
1.12 Megaco 1.0.4
Version 1.0.4 supports code replacement in runtime from/to version 1.0.2 and 1.0.3.
1.12.1 Improvements and new features
- Adding utility functions for megaco tracing.
Own Id: OTP-4339
1.12.2 Fixed bugs and malfunctions
- Optional line-number configure for the megaco flex scanner incorrect.
The intention was that line-numbering could be replaced with token number in order to improve performance. This did not work (line-numbers was always chosen). This has no runtime effect.
Own Id: OTP-4336
- Improved error reporting from the megaco messenger module.
Own Id: OTP-4337
- Text parsing of type octet string erroneous.
Own Id: OTP-4357
- A message containing a transaction request without the transaction id value is incorrectly reported back to the sender with a just an ErrorDescriptor. The correct behaviour is describen in chapter 8.1.1 of RFC 3015. Now the result will be a transactioReply with transaction id = 0 and an ErrorDescriptor.
Own Id: OTP-4359
Aux Id: Seq 7330
1.12.3 Incompatibilities
1.12.4 Known bugs and problems
1.13 Megaco 1.0.3
1.13.1 Improvements and new features
1.13.2 Fixed bugs and malfunctions
- Handling of comments in text messages incorrect.
For the ordinary text codec comments did not work. For the flex text codecs, double quoted strings in comments did not work.
Own Id: OTP-4299
Aux Id: Seq 7330
- The
streams
field in MediaDescriptor, has been made optional in order to comply with IGv6 6.50. It does also mean that the new default value isasn1_NOVALUE
.
Own Id: OTP-4288
- The user arguments was not supplied to the callback function
handle_unexpected_trans
as described by megaco_user.
Own Id: OTP-4290
1.13.3 Incompatibilities
- The scanner item of system info has been removed and instead been replaced by text_config. Also no longer contains any MFA info. From now on, just the text config.
1.13.4 Known bugs and problems
1.14 Megaco 1.0.2
1.14.1 Improvements and new features
- Added another binary decoder; per_bin.
To be able to use the per_bin encoder the ASN.1 application of version 1.3.2 or later is needed for R8B systems. For R7B01, ASN.1 of version 1.3.1.3 or later must be used.
1.14.2 Fixed bugs and malfunctions
- Memory leak in the flex scanner. Message larger then approx. 1000 bytes cannot be decoded. Will cause a core dump! Note that this will only be a problem if the flex scanner has been configured as encoding/decoding module!
Own Id: OTP-4236
- Fixed Makefile.in for the flex scanner. Removed unneccessary '-lfl' link option.
Own Id: OTP-4224
- Installed source was not placed in their proper (sub-) directory.
1.14.3 Incompatibilities
1.14.4 Known bugs and problems
1.15 Megaco 1.0.1
1.15.1 Improvements and new features
1.15.2 Fixed bugs and malfunctions
- The megaco application now forward's unexpected replies. This is done with a call to handle_unexpected_trans/3.
Own Id: OTP-4212
Aux Id: Seq 7181
- Megaco leaves entries in the megaco_replies table.
Own Id: OTP-4213
Aux Id: Seq 7208
1.15.3 Incompatibilities
1.15.4 Known bugs and problems
1.16 Megaco 1.0
1.16.1 Improvements and new features
- Flex scanner: Added scanner to system info.
1.16.2 Fixed bugs and malfunctions
1.16.3 Incompatibilities
1.16.4 Known bugs and problems
-