## 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 1.0.3

#### 1.1.1 Improvements and new features

-

#### 1.1.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 is `asn1_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.1.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.1.4 Known bugs and problems

-

### 1.2 Megaco 1.0.2

#### 1.2.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.2.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.2.3 Incompatibilities

-

#### 1.2.4 Known bugs and problems

-

### 1.3 Megaco 1.0.1

#### 1.3.1 Improvements and new features

-

#### 1.3.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.3.3 Incompatibilities

-

#### 1.3.4 Known bugs and problems

-

### 1.4 Megaco 1.0

#### 1.4.1 Improvements and new features

- Flex scanner: Added scanner to system info.

#### 1.4.2 Fixed bugs and malfunctions

-

#### 1.4.3 Incompatibilities

-

#### 1.4.4 Known bugs and problems

-

### 1.5 Megaco 0.9.5

#### 1.5.1 Improvements and new features

-

#### 1.5.2 Fixed bugs and malfunctions

- Flex scanner: Decoding of digit map timer values fixed.
- Missed some files in the megaco app file.

#### 1.5.3 Incompatibilities

-

#### 1.5.4 Known bugs and problems

-

### 1.6 Megaco 0.9.4

#### 1.6.1 Improvements and new features

- Added the flex scanner: This is a Megaco scanner (used when decoding incoming text messages) written as a linked in driver (in C).

#### 1.6.2 Fixed bugs and malfunctions

-

#### 1.6.3 Incompatibilities

-

#### 1.6.4 Known bugs and problems

- Decoding of digit map timer values erroneous.
- The megaco_flex_scanner and megaco_flex_scanner_handler modules was missing from the megaco app file.

### 1.7 Megaco 0.9.3

#### 1.7.1 Improvements and new features

-

#### 1.7.2 Fixed bugs and malfunctions

- Transport modules: The included transport modules (megaco_tcp & megaco_udp) had a bug causing incoming messages larger then 200 bytes not to be processed.

| In order to be able to use the flex scanner, the library must be compiled. This is not done by default in this version. To get it, `cd` to the Megaco top directory and type: gmake ENABLE_MEGACO_FLEX_SCANNER=true

#### 1.7.3 Incompatibilities

-

#### 1.7.4 Known bugs and problems

-

### 1.8 Megaco 0.9.2

#### 1.8.1 Improvements and new features

- Binary encoding now up to date (including the Implementors Guide version 6).
- Message processing has been changed in order to improve perfomance. This change consists of
  - The (message handling) process created by calling the function `megaco:receive_message`, has a larger minimum heap size.
  - Adding a new function, `megaco:process_received_message`, that performs the message processing in the context of the calling process.
  Own Id: OTP-4110
- Text encoding: Handle the Topology Descriptor according to the IGv6.
  Own Id: OTP-4088

#### 1.8.2 Fixed bugs and malfunctions

- Text encoding: Missing last curly bracket, "}", results in error message "Error Code 400, Syntax Error on Line 999999". The line number information has been corrected.
  Own Id: OTP-4085
  Aux Id: Seq 7080

#### 1.8.3 Incompatibilities

-

#### 1.8.4 Known bugs and problems

- Transport modules: The included transport modules (megaco_tcp & megaco_udp) had a bug causing incoming messages larger then 200 bytes not to be processed.

### 1.9 Megaco 0.9.1

#### 1.9.1 Improvements and new features

-

#### 1.9.2 Fixed bugs and malfunctions

- The ABNF keyword changes introduced in release 0.9 of the embed and emergency tokens, was inconsistently implemented. It has now been corrected.

#### 1.9.3 Incompatibilities

-

#### 1.9.4 Known bugs and problems

-

### 1.10 Megaco 0.9

#### 1.10.1 Improvements and new features

The application has been adpted to the Implementors Guide version 6 (IGv6).

- Added `[]` as default value for the #'ActionReply'.commandReply field, as a matter of convenience.
- Enabled customized handling of transport errors. Instead of performing a brute disconnect, the error reason returned by `TransportMod:send_message/2` is now propagated as `{error,{send_message_failed,Reason}}` to `UserMod:handle_trans_reply/4` or returned from `megaco:call/3` as other error cases. The old behaviour can still be achieved by a explicit call to `megaco:disconnect/2`.
- The `keepActive` field in RequestedActions and SecondRequestedActions, has been made optional in order to comply with IGv6 6.15. It does also mean that the new default value is `asn1_NOVALUE`.
- The `statValue` field in StatisticsParameter, has been made optional in order to comply with IGv6 6.22. It does also mean that the new default value is `asn1_NOVALUE`.
- The short keyword for the embed token in the ABNF spec. has been changed from "EB" to "EM" in order to comply with IGv6 6.6.
- The short keyword for the emergency token in the ABNF spec. has been changed from "EM" to "EG" in order to comply with IGv6 6.6.
- A new timer has been introduced. It is called `pending_timer` and implements the "provisonal response timer" in the RFC. By using the new timer, pending transaction replies are sent automatically, if the timer expires before a the final transaction reply has been sent by the user.
- A special "all" value for request identities has been introduced in order to comply with IGv6 6.30. It is represented as `?megaco_all_request_id` (which is a constant defined in megaco.hrl) in the internal form.
- The semantics of audit replies has been at last been made equal. The definition of `'AuditReply'` and `'AuditResult'` has been redefined in order to comply with IGv6 6.38. This does not affect the ABNF spec. at all, but has some impact of the ASN.1 spec. and the internal form. The old 'AuditReply' record hasd been replaced with a tagged tuple: {contextAuditResult, [#'TerminationID'{}]} or {error, #'ErrorDescriptor'{}} or {auditResult, #'AuditResult'{}}. The old tagged tuple representation of AuditResult has now been replaced with a #'AuditResult{terminationID = #'TerminationID'{}, terninationAuditResult = #'TerminationAudit'{}} record.
- The ASN.1 definition of the `Value` type has been changed in order to comply with IGv6 6.40. This does not affect the ABNF spec. at all, but has some impact of the ASN.1 spec. and the internal form. The old Value type (OCTET STRING) was represented as list of integers. The new value type (SEQUENCE OF OCTET STRING) is represented as a list of elements where each element is a list of integers.
- The ABNF definition modemDescriptor has been changed in order to comply with IGv6 6.42. This affects the ABNF spec., but not the internal form.
- The ABNF definition auditOther has been changed in order to comply with IGv6 6.48. This affects the ABNF spec., but not the internal form.
- 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 is `asn1_NOVALUE`.
- A new `extraInfo` field has been introduced in both EventParameter and SigParameter in the ASN.1 spec. in order to comply with IGv6 6.56. The new field is optional and defaults to `asn1_NOVALUE`.
- A new `timeStamp` field has been introduced in ServiceChangeResParm in both the ASN.1 spec. and the ABNF spec., in order to comply with IGv6 6.58. The new field is optional and defaults to `asn1_NOVALUE`.
- The `terminationID` field in NotifyReply that earlier was optional in the ASN.1 spec. has now been made mandatory, in order to comply with IGv6 6.62. The field does now default to `[]`.
- The `mtpAddress` in both the mid and the serviceChangeAddress has been changed in the ASN.1 spec., in order to comply with IGv6 6.25 and IGv6 6.68 respectively. The old fixed size octet string, has been replaced with a dynamic octet string whose size may range from 2 to 4.
- The `serviceChangeAddress` in ABNF has now been changed, in order to comply with IGv6 6.68. From now on the serviceChangeAddress may either contain a plain port number or a complete MID.
- The `reservedValue` and `reservedGroup` fields in the LocalControlDescriptor, has been made optional in order to comply IGv6 6.69. It does also mean that the new default value is `asn1_NOVALUE`.
- The `TransactionResponseAck` has been redefined in ASN.1, in order to comply IGv6 6.70.

#### 1.10.2 Fixed bugs and malfunctions

- Text encoding: Did not handle alternative list in property parm.
  Own Id: OTP-4013
  Aux Id: Seq 5301
- Text encoding: Allowed multiple mode parameters in Local Control Descriptor (the last was choosen)..
  Own Id: OTP-4011
  Aux Id: Seq 5300
- Misspelled message "header" (MEGCAO instead of MEGACO) results in an reply with error code 500 instead of 400 or 401.
  Own Id: OTP-4007
  Aux Id: Seq 5289
- Text encoding: Fixed a problem with termination id lists in audit replies: could only be of length 1.
- Fixed a race condition that could occur when a gateway was too eager too re-send its initial service change message. Now the controller will reply on transaction requests with a pending transaction in order to make the gateway back off until the automatic connect procedure has completed. The other transaction types are silently ignored.
- Fixed the cause to the following error message:

      =ERROR REPORT==== 17-Apr-2001::16:28:36 ===
      Error in process <0.26230.0> on node 'cp1-19@b04d09' with exit value:
      {{badmatch,unknown_remote_mid},[{megaco_messenger,fake_conn_data,4},{megaco_messenger,process_received_message
      ,...

#### 1.10.3 Incompatibilities

- The new `pending_timer` may cause pending transaction replies to be sent. In order to obtain the old behaviour the timer must explicitly be set to 'infinity'.
- The short keyword for the embed token in the ABNF spec. has been changed. See above for more details.
- The short keyword for the emergency token in the ABNF spec. has been changed. See above for more details.
- The `keepActive` field in RequestedActions and SecondRequestedActions has been made optional. See above for more details.
- The `statValue` field in StatisticsParameter, has been made optional. See above for more details.
- A special "all" value for request identities has been introduced. See above for more details.
- The definitions of AuditReply and AuditResult has been redefined. See above for more details.
- The definition of the `Value` type has been changed. See above for more details.
- The `streams` field in MediaDescriptor, has been made optional. See above for more details.
- The `terminationID` field in NotifyReply, is now mandatory and asn1_NOVALUE is not a legal value anymore. See above for more details.
- The `mtpAddress` in both the mid and the serviceChangeAddress has been changed in the ASN.1 spec. See above for more details.
- The `serviceChangeAddress` in ABNF has now been changed. See above for more details.
- The `reservedValue` and `reservedGroup` fields in the LocalControlDescriptor has been made optional. See above for more details.

#### 1.10.4 Known bugs and problems

- Binary messages may currently be mapped to the native internal form of ASN.1, but the framework for mapping of binary messages to an internal form, common for both text and binary encodings is not ready yet.

Copyright © 1991-2002 Ericsson Utvecklings AB