Megaco Release Notes history

## 1 Megaco Release Notes history

### 1.1 Megaco 3.4.4

Version 3.4.4 supports code replacement in runtime from/to version 3.4.3, 3.4.2, 3.4.1 and 3.4 except when using any of the drivers (flex for text or asn1 for binary).

#### 1.1.1 Improvements and new features

- Improved documentation of call return values.
  Own Id: OTP-6219

#### 1.1.2 Fixed bugs and malfunctions

- There was still one case when "pending limit exceeded" was reported as a message error instead of transaction error. This has been fixed.
  Own Id: OTP-6217
  Aux Id: Seq 10415

#### 1.1.3 Incompatibilities

-

### 1.2 Megaco 3.4.3

Version 3.4.3 supports code replacement in runtime from/to version 3.4.2, 3.4.1 and 3.4 except when using any of the drivers (flex for text or asn1 for binary).

#### 1.2.1 Improvements and new features

- Added a number of v3 related error codes (defined in H248.08).
  Own Id: OTP-6170
  Aux Id: Seq 10372

#### 1.2.2 Fixed bugs and malfunctions

- Added check for the illegal option reply_data in the Options (third) argument to the call function. The valid options was documented but never checked.
  Own Id: OTP-6171
  Aux Id: Seq 10345

#### 1.2.3 Incompatibilities

- A call to the function call with the illegal option, reply_data, will now result in an {error, term()} result.
  Own Id: OTP-6171
  Aux Id: Seq 10345

### 1.3 Megaco 3.4.2

Version 3.4.2 supports code replacement in runtime from/to version 3.4.1, 3.4, 3.3.5, 3.3.4, 3.3.3, 3.3.2, 3.3.1 and 3.3 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

- Pending limit exceeded error message was incorrectly composed as a message error instead of a TransactionReply (transactionError) error.
  Own Id: OTP-6148
  Aux Id: Seq 10337

#### 1.3.3 Incompatibilities

- The ErrorDescriptor of the pending limit exceeded error is now encapsulated within an TransactionReply instead of the messageBody.
  Own Id: OTP-6148
  Aux Id: Seq 10337

### 1.4 Megaco 3.4.1

Version 3.4.1 supports code replacement in runtime from/to version 3.4, 3.3.5, 3.3.4, 3.3.3, 3.3.2, 3.3.1 and 3.3 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

- Incorrect version string(s) in appup file. Most of the version strings in the appup file was malformed, which most likely made up-/downgrade impossible.
  Own Id: OTP-6113
- Fixed release notes history.
  Own Id: OTP-6108

#### 1.4.3 Incompatibilities

-

### 1.5 Megaco 3.4

Version 3.4 supports code replacement in runtime from/to version 3.3.3, 3.3.2, 3.3.1 and 3.3 except when using any of the drivers (flex for text or asn1 for binary).

#### 1.5.1 Improvements and new features

- Handling failure to send reply. Previously, when megaco was unable to send a reply (built from the action list returned by handle_trans_request), nothing was done, except for sending an error message. This has now been changed so that the error will be returned to the user via a call to the callback function, handle_trans_ack (unless ack_action() = discard_ack).
  Own Id: OTP-6055
- Add possibillity to override send options when sending reply messages. This is done by adding another return alternative to the handle_trans_request and handle_trans_long_request callback function(s).
  Own Id: OTP-6052
  Aux Id: Seq 10284
- Added another config option long_request_resend. The purpose of this option is to make the megaco application to continue re-sending requests, even after having received a pending message, until it receives the reply or it gives up (timeout).
  See user_info and conn_info for more info.
  Own Id: OTP-6051
  Aux Id: Seq 10284
- Modify the way the stack handles the reply-timer. Now, if an incremental timer is used, every time there is an intermediate timeout, the timer is restarted (just as before) but the reply is also resent.
  See user_info and conn_info for more info.
  Own Id: OTP-6048
  Aux Id: Seq 10284
- Added the possibillity to conditionally request immediate acknowledgement of a reply (when atleast one pending message has been sent).
  This is done by adding another return value for the handle_trans_request callback function.
  Own Id: OTP-6030
  Aux Id: Seq 10270
- The SDP support has received a major updated. Added two new function's to decode and encode SDP.
  Own Id: OTP-5980
- Added support for another pre version of v3 (prev3c). This is based on the final version of the standard, but does not include support for segments.
  Own Id: OTP-5769

#### 1.5.2 Fixed bugs and malfunctions

- Removed unnecessary error report. In a special case two (error_logger) error reports could be sent: When receiving a transaction request for which an reply, with immediade-ack-requested, has already been send, the reply is resent. But if the sending failes, two (error_logger) error reports is sent. This has been corrected (so that only one is sent).
  Own Id: OTP-6090
  Aux Id: Seq 10308
- Bad formated debug printout in transaction sender.
  Own Id: OTP-6089

#### 1.5.3 Incompatibilities

- All of the old SDP api function(s) has been removed.
  Own Id: OTP-5980

### 1.6 Megaco 3.3.4

Version 3.3.4 supports code replacement in runtime from/to version 3.3.3, 3.3.2, 3.3.1 and 3.3 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

- Misc Dialyzer warnings.
  Own Id: OTP-6076

#### 1.6.3 Incompatibilities

-

### 1.7 Megaco 3.3.3

Version 3.3.3 supports code replacement in runtime from/to version 3.3.2, 3.3.1 and 3.3 except when using any of the drivers (flex for text or asn1 for binary).

#### 1.7.1 Improvements and new features

- Flex driver split into two separate. One for use in threaded runtime system (OTP built with e.g. --enable-threads), one for non-threaded runtime systems.
  Own Id: OTP-6046

#### 1.7.2 Fixed bugs and malfunctions

-

#### 1.7.3 Incompatibilities

-

### 1.8 Megaco 3.3.2

Version 3.3.2 supports code replacement in runtime from/to version 3.3.1, 3.3 and 3.2.7 except when using any of the drivers (flex for text or asn1 for binary).

#### 1.8.1 Improvements and new features

- Improve timer documentation.
  Own Id: OTP-6022
  Aux Id: Seq 10266

#### 1.8.2 Fixed bugs and malfunctions

- [text] The parser has been made more strict with regard to what ContextID values will be accepted. 0x0, 0xFFFFFFFE and 0xFFFFFFFF will no longer be accepted.
  Own Id: OTP-6017
  Aux Id: Seq 10265

#### 1.8.3 Incompatibilities

-

### 1.9 Megaco 3.3.1

Version 3.3.1 supports code replacement in runtime from/to version 3.3 and 3.2.7 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

- [text] The text encoder (both pretty and compact) encodes terminationIDList incorrectly. This effects MuxDescriptor This applies to all versions.
  Own Id: OTP-5993
  Aux Id: Seq 10248

#### 1.9.3 Incompatibilities

-

### 1.10 Megaco 3.3

Version 3.3 supports code replacement in runtime from/to version 3.2.7 except when using any of the drivers (flex for text or asn1 for binary).

#### 1.10.1 Improvements and new features

- Added a utility function to facilitate pretty-printing of messages, see token_tag2string.
  Own Id: OTP-5973
  Aux Id: Seq 10224

#### 1.10.2 Fixed bugs and malfunctions

- Fixed documentation after OTP-5953. The new info print functions where not documented, but the old, and deprecated, where still.
  Own Id: OTP-5965

#### 1.10.3 Incompatibilities

-

### 1.11 Megaco 3.2.7

Version 3.2.7 supports code replacement in runtime from/to version 3.2.6, 3.2.5 and 3.2.4 except when using any of the drivers (flex for text or asn1 for binary).

#### 1.11.1 Improvements and new features

- Updated configure script to handle smp-support.
  Own Id: OTP-5952
- Added new version info print function(s).
  Own Id: OTP-5953

#### 1.11.2 Fixed bugs and malfunctions

- Code cleanup: Compiler warnings: variable X is unused.
  Own Id: OTP-5948

#### 1.11.3 Incompatibilities

- The old version info print function, format_versions/1, have been deprecated.
  Own Id: OTP-5953

### 1.12 Megaco 3.2.6

Version 3.2.6 supports code replacement in runtime from/to version 3.2.5, 3.2.4 and 3.2.3 except when using any of the drivers (flex for text or asn1 for binary).

#### 1.12.1 Improvements and new features

- Improve error mesage format on (reply) decode error.
  Own Id: OTP-5918
  Aux Id: Seq 10199

#### 1.12.2 Fixed bugs and malfunctions

- Wrong binary name resolver used for prev3b (prev3a).
  Own Id: OTP-5919
- When using ber_bin-codec and option {version3,prev3b} the wrong asn1 and transform modules (prev3a) where used.
  Own Id: OTP-5920

#### 1.12.3 Incompatibilities

-

### 1.13 Megaco 3.2.5

Version 3.2.5 supports code replacement in runtime from/to version 3.2.4 and 3.2.3 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

- Aligned the user_info and conn_info functions regarding trans_id retreival.
  Own Id: OTP-5887
  Aux Id: Seq 10184

#### 1.13.3 Incompatibilities

- The conn_info function once again returns the next transaction id.
  Own Id: OTP-5887
  Aux Id: Seq 10184

### 1.14 Megaco 3.2.4

Version 3.2.4 supports code replacement in runtime from/to version 3.2.3 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

- Documentation of upgrade_receive_handle missing one argument (NewHandle).
  Own Id: OTP-5867
- Documentation of conn_info did not document legal Item value local_mid.
  Own Id: OTP-5879
  Aux Id: Seq 10176
- Documentation of conn_info did not document legal Item value remote_mid.
  Own Id: OTP-5880
  Aux Id: Seq 10177
- Improper [text] encode of localControlDescriptor. Incorrectly allowed zero length list of LocalParm. All versions (v1, v2, v3 [prev3a, prev3b]).
  Own Id: OTP-5882
- Function format_versions documentation with wrong arity.
  Own Id: OTP-5885
- Timer recalculation failes when receiving pending message if the timer is of the type megaco_incr_timer and the max_retries field has the value infinity_restartable.
  Own Id: OTP-5886
  Aux Id: Seq 10181

#### 1.14.3 Incompatibilities

- localControlDescriptor list of localParm now atleast has to be of length 1.
  Own Id: OTP-5882

### 1.15 Megaco 3.2.3

Version 3.2.3 supports code replacement in runtime from/to version 3.2.2, 3.2.1 and 3.2 except when using any of the drivers (flex for text or asn1 for binary).

#### 1.15.1 Improvements and new features

- Assumed a more strict approach to the return values of the callback functions of the megaco_user behaviour. Now, a return value other then what is described in the behaviour documentation, will result in a warning message.
  Except for the handle_trans_request/3 and handle_trans_long_request/3, which still results in error messages.
  Own Id: OTP-5830
  Aux Id: Seq 10148
- Introduced a strict version control (strict_version) connection info and user info option. See the user_info and conn_info functions for more info.
  Own Id: OTP-5839

#### 1.15.2 Fixed bugs and malfunctions

- Digit Map: Improper handling of duration. eval_digit_map and test_digit_event.
  Own Id: OTP-5826
  Aux Id: Seq 10085
- The documentation of the call and cast functions was unclear regarding pre-encoded actions.
  Own Id: OTP-5833
  Aux Id: Seq 10146
- The prev3b text codec's failed to properly decode an auditReply with ErrorDescriptor.
  Own Id: OTP-5836
  Aux Id: Seq 10155

#### 1.15.3 Incompatibilities

- The ok return value from test_digit_event and eval_digit_map has been changed.
  Own Id: OTP-5826
  Aux Id: Seq 10085

### 1.16 Megaco 3.2.2

Version 3.2.2 supports code replacement in runtime from/to version 3.2.1 and 3.2 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

- Digit Map: Megaco does not handle "unexpected event" according to chapter 7.1.14.5 point 5. See eval_digit_map and test_digit_event.
  Own Id: OTP-5799
  Aux Id: Seq 10085
- The text codec of prev3b should handle encoding/decoding of indAudMediaDescriptor as specified in the final version of the v3 spec. This is backward compatible and more aligned with the ASN.1.
  Own Id: OTP-5803
  Aux Id: Seq 10119
- Flex scanner cannot handle empty local/remote descriptors.
  Own Id: OTP-5804
  Aux Id: Seq 10119
- Text codecs does not handle messages of unsupported versions (or with incorrect version) in a good way.
  Own Id: OTP-5805
  Aux Id: Seq 10131
- The documentation of the reply-timer was unclear.
  Own Id: OTP-5816
  Aux Id: Seq 10142

#### 1.16.3 Incompatibilities

- The ok return value from test_digit_event and eval_digit_map has been changed to accomodate for this problem.
  Own Id: OTP-5799
  Aux Id: Seq 10085

### 1.17 Megaco 3.2.1

Version 3.2.1 supports code replacement in runtime from/to version 3.2 except when using any of the drivers (flex for text or asn1 for binary).

#### 1.17.1 Improvements and new features

- In order to allow the user to drop (ignore) a transaction request a new return value, ignore_trans_request, has been added to the handle_trans_request/3 callback function.
  Own Id: OTP-5725
  Aux Id: Seq 10084

#### 1.17.2 Fixed bugs and malfunctions

- Text encoding of the termination id list in contextTerminationAudit incorrect. Missing { }. All versions.
  Own Id: OTP-5793
  Aux Id: Seq 10116

#### 1.17.3 Incompatibilities

-

### 1.18 Megaco 3.2

Version 3.2 supports code replacement in runtime from/to version 3.1 and 3.0.1 except when using any of the drivers (flex for text or asn1 for binary).

#### 1.18.1 Improvements and new features

- Added support for another pre version of v3 (prev3b). This is basically the same as prev3a except that context priority (in contextProperties) has been "fixed" so that it is backward compatible with v2.
  Own Id: OTP-5717

#### 1.18.2 Fixed bugs and malfunctions

- The (digit map) test and eval function(s) was lacking result info on what kind of completion was done; full or unambiguous.
  Own Id: OTP-5750
  Aux Id: Seq 10085

#### 1.18.3 Incompatibilities

- The (successfull) return value from the test_digit_event and eval_digit_map has been changed.
  Own Id: OTP-5750
  Aux Id: Seq 10085

### 1.19 Megaco 3.1

Version 3.1 supports code replacement in runtime from/to version 3.0.1 and 3.0 except when using any of the drivers (flex for text or asn1 for binary).

#### 1.19.1 Improvements and new features

- The megaco_incr_timer has been tweaked so that the max_retries field can now also take the value infinity_restartable. This means that the only way to actually restart the timer is if some external event occurs, e.g. a pending message when the long request timer is running. That is, if the timeout time actually expires, then so does the timer.
  Own Id: OTP-5619
  Aux Id: Seq 9845
- Added function format_versions/1 to print the extended version info produced by the versions1 and versions2 functions.
  Own Id: OTP-5664

#### 1.19.2 Fixed bugs and malfunctions

- Incorrect text encoding of embedded Events.
  Own Id: OTP-5601
- Incorrect text encoding of embedded Signal.
  Own Id: OTP-5600
- Misc bugs detected by Dyalizer.
  Own Id: OTP-5597
- Encoding of SDP was in text not done strictly according RFC2327. Each line should be terminated with carriage return and newline (0x0d0a), but was only terminated with single newline (0x0a).
  Own Id: OTP-5542
  Aux Id: Seq 9669

#### 1.19.3 Incompatibilities

-

### 1.20 Megaco 3.0.1

Version 3.0.1 supports code replacement in runtime from/to version 3.0 except when using any of the drivers (flex for text or asn1 for binary).

#### 1.20.1 Improvements and new features

-

#### 1.20.2 Fixed bugs and malfunctions

- Pending limit cleanup error's. In some situations (high load), reply-records where never removed, blocking new requests with the same transaction id.
  Own Id: OTP-5401
- Added utility functions to retrieve some system and application info, see versions1 and versions2.
  Own Id: OTP-5446
- When the enable_trace function is called with the File argument, it sets up dbg so that trace events are written as plain text to the given file (using io:format).
  Own Id: OTP-5447

#### 1.20.3 Incompatibilities

- The File argument to the function enable_trace no longer sets up dbg to write the trace events directly to file but instead to be written to a plain text file using io:format.
  Also enable_trace no longer accepts the argument {io, Verbosity}.
  Own Id: OTP-5447

### 1.21 Megaco 3.0

#### 1.21.1 Improvements and new features

- Implementation of the Megaco v2 corrigendum 1 (03/2004).
  This means in short:
  - The ModemDescriptor has been deprecated. If this descriptor is found in a received message it will be ignored (removed from the message).
    If an attempt is made to encode a message containing a ModemDescriptor, an error will be returned.
    If in the binary codec case, encoding-config contains native, then the ModemDescriptor will however be included in the message when encoding and also decoded. This means that it in this case it is up the user to never include the ModemDescriptor in a transmitted message and to ignore it, if received.
  - Addition of the EmergencyOffToken, which is used in the contextProperty.
  Own Id: OTP-5204
- Added receiving pending limit config property. This is the limit for the number of pending messages that is accepted before a request is considered "a lost cause".
  Own Id: OTP-5220
- Added support for preliminary version 3. Based on TD-33.
  See chapter Handling megaco versions on how to configure and use the preliminary version 3 (prev3a).
  Own Id: OTP-5236
- Added configure thread support.
  Own Id: OTP-5351

#### 1.21.2 Fixed bugs and malfunctions

- When text encoding the ServiceChangeParm in v2, the serviceChangeInfo field was ignored.
  Own Id: OTP-5352
- When text parsing serviceChangeParm in v2, all of auditItem was put into the auditToken field of the AuditDescriptor (the serviceChangeInfo field of the ServiceChangeParm record). The indAudterminationAudit should go into the auditPropertyToken field.
  Own Id: OTP-5353
- Binary name resolver was based on RFC 2885 (version 0.8 of the megaco standard). Among other things the package id numbering was incorrect. This is the case both for version 1 and 2.
  Own Id: OTP-5272

#### 1.21.3 Incompatibilities

- Package number scheme (among other things) was changed in version 1 of the standard..
  Own Id: OTP-5272
- The config property orig_pending_limit has been renamed to sent_pending_limit.
  Own Id: OTP-5220

### 1.22 Megaco 2.1.8

Version 2.1.8 supports code replacement in runtime from/to version 2.1.7 and 2.1.6 except when using any of the drivers (flex for text or asn1 for binary).

#### 1.22.1 Improvements and new features

-

#### 1.22.2 Fixed bugs and malfunctions

- The error counter medGwyGatewayNumErrors did not work. This counter is incremented by the megaco application when decode of a message fails. Due to the construction of the decoders, nothing beyond the error reason (in the text case, basically an unintelligible list of tokens) is returned. E.g. not the Mid needed to be able to deduce which MG (conn-handle), this message came from. This resulted in an increment of the "global" medGwyGatewayNumErrors counter instead of the connection specific. This has been fixed. In the text case by adding a mini decoder, that basically only decodes the message as far as the Mid (if the error is in or before the Mid, then this decoder also fails).
  Own Id: OTP-5296
  Aux Id: Seq 9669
- When the megaco:cancel/2 function is called, the megaco application is supposed to perform a cleanup. E.g. remove aut-dated request and reply records. For the reply-records this did not work, since it only removed those record which had the state field set to wait_for_ack, and not aborted! If the state had been set to aborted and not yet been removed (which normally happens when the reply_timer times out) when the disconnect and cancel functions where called, those records would never be removed. This means that if eventually a transaction was received which had the same transaction-id as the aborted reply, this whould just be ignored!
  Own Id: OTP-5310
  Aux Id: Seq 9668
- Incorrect definition of hexdig in the flex-scanner.
  Angelo Contardi
  Own Id: OTP-5312
- Various cleanup of the v2 text parser:
  1) Removed unused nonterminal and rule digitMapName.
  2) Token 'TimeStampToken' also a safeToken.
  Angelo Contardi
  Own Id: OTP-5313

#### 1.22.3 Incompatibilities

-

### 1.23 Megaco 2.1.7

Version 2.1.7 supports code replacement in runtime from/to version 2.1.6, 2.1.5, 2.1.4, 2.1.3, 2.1.2, 2.1.1 and 2.1 except when using any of the drivers (flex for text or asn1 for binary).

#### 1.23.1 Improvements and new features

-

#### 1.23.2 Fixed bugs and malfunctions

- The text decoders failed to decode the contextRequest with a contextAudit (ContextAttrAuditRequest).
  Own Id: OTP-5290

#### 1.23.3 Incompatibilities

-

### 1.24 Megaco 2.1.6

Version 2.1.6 supports code replacement in runtime from/to version 2.1.5, 2.1.4, 2.1.3, 2.1.2, 2.1.1 and 2.1 except when using any of the drivers (flex for text or asn1 for binary).

#### 1.24.1 Improvements and new features

- Minor error handling improvement to the text encoder.
  Own Id: OTP-5193

#### 1.24.2 Fixed bugs and malfunctions

- The megaco text codec failed to properly encode a message containing no or an empty terminationAudit list or possibly a terminationAudit list with only an "empty" emptyDescriptor (e.g. an AuditDescriptor without any values; auditToken is either asn1_NOVALUE or []). This effected AmmsReply and auditOther (AuditResult) and both v1 and v2.
  Own Id: OTP-5186
  Aux Id: Seq 9226
- Version 2 codec corrections: Incorrectly transformed (encoded and decoded) IndAudStreamDescriptor (binary), encoded IndAudMediaDescriptor and IndAudStreamDescriptor (text). Incorrectly decoded IndAudMediaDescriptor (text).
  Own Id: OTP-5201

#### 1.24.3 Incompatibilities

-

### 1.25 Megaco 2.1.5

Version 2.1.5 supports code replacement in runtime from/to version 2.1.4, 2.1.3, 2.1.2, 2.1.1 and 2.1 except when using any of the drivers (flex for text or asn1 for binary).

#### 1.25.1 Improvements and new features

-

#### 1.25.2 Fixed bugs and malfunctions

- Bad error message when encoding invalid termination id.
  Own Id: OTP-5133
  Aux Id: Seq 9153
- The included tcp transport module had a possible message queue accumulation loophole. If the connection is terminated between the calls gen_tcp:accept/1 and gen_tcp:controlling_process/2 we did not clean up the message queue. Also, if controlling_process failes, a cleanup must be done.
  Own Id: OTP-5130

#### 1.25.3 Incompatibilities

-

### 1.26 Megaco 2.1.4

Version 2.1.4 supports code replacement in runtime from/to version 2.1.3, 2.1.2, 2.1.1 and 2.1 except when using any of the drivers (flex for text or asn1 for binary).

#### 1.26.1 Improvements and new features

-

#### 1.26.2 Fixed bugs and malfunctions

- Failure to decode indAudLocalControlDescriptor with more then one indAudlocalParm.
  This applies only to version 2.
  Own Id: OTP-5106

#### 1.26.3 Incompatibilities

-

### 1.27 Megaco 2.1.3

Version 2.1.3 supports code replacement in runtime from/to version 2.1.2, 2.1.1 and 2.1 except when using any of the drivers (flex for text or asn1 for binary).

#### 1.27.1 Improvements and new features

-

#### 1.27.2 Fixed bugs and malfunctions

- Failure to encode a ActionReply with empty contextReply (asn1_NOVALUE) and commandReply ([]). Failure to decode ActionReply with error descriptor with non-empty contextReply and/or commandReply.
  This applies to both version 1 and 2.
  Own Id: OTP-5085

#### 1.27.3 Incompatibilities

-

### 1.28 Megaco 2.1.2

Version 2.1.2 supports code replacement in runtime from/to version 2.1.1 and 2.1 except when using any of the drivers (flex for text or asn1 for binary).

#### 1.28.1 Improvements and new features

-

#### 1.28.2 Fixed bugs and malfunctions

- Encoding of a MediaDescriptor fails if the streams part is empty (asn1_NOVALUE).
  Own Id: OTP-5068

#### 1.28.3 Incompatibilities

-

### 1.29 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.29.1 Improvements and new features

-

#### 1.29.2 Fixed bugs and malfunctions

- A pretty text message containing an ObservedEvents without timestamp, will fail to decode. This effects both v1 and v2.
  Own Id: 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).
  Own Id: OTP-5025
  Aux Id: Seq 8658

#### 1.29.3 Incompatibilities

-

### 1.30 Megaco 2.1

#### 1.30.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.30.2 Fixed bugs and malfunctions

- Text parser(s) did not handle parsing of the StreamId field of RequestedEvent and SecondRequestedEvent.
  Own Id: OTP-4974
- Repeated transaction request receiving when exceeding pending limit will cause the message handling process to crash.
  Own Id: OTP-4956
  Aux Id: Seq 8445
- Text parser did not handle auditReturnItem properly, as defined in IGv11.
  Own Id: OTP-4950
- Missing [text] servChgReplyParm constistency check.
  Own Id: OTP-4949
- Incorrect handling of comments in text messages.
  Own Id: OTP-4946
- Missing [text] serviceChangeParm constistency check.
  Own Id: OTP-4945

#### 1.30.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.
  Own Id: 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.31 Megaco 2.0.1

#### 1.31.1 Improvements and new features

-

#### 1.31.2 Fixed bugs and malfunctions

- Megaco did not handle IPv6-addresses.
  Own Id: OTP-4920
- Text encoding of hex-digits sometimes incorrect.
  Own Id: OTP-4921

#### 1.31.3 Incompatibilities

-

### 1.32 Megaco 2.0

#### 1.32.1 Improvements and new features

- Support for both version 1 and 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.32.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.
  Own Id: 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).
  Own Id: OTP-4843

#### 1.32.3 Incompatibilities

- signalsDescriptor has changed i v2
- ServiceChangeProfile has changed in v2

### 1.33 Megaco 1.2.3

#### 1.33.1 Improvements and new features

-

#### 1.33.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.33.3 Incompatibilities

-

#### 1.33.4 Known bugs and problems

-

### 1.34 Megaco 1.2.2

Version 1.2.2 supports code replacement in runtime from/to version 1.2.1 and 1.2.

#### 1.34.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.34.2 Fixed bugs and malfunctions

- Encoding and decoding of the hexdig in AuthenticationHeader incorrect.
  Own Id: OTP-4710

#### 1.34.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.34.4 Known bugs and problems

-

### 1.35 Megaco 1.2.1

Version 1.2.1 only supports code replacement in runtime from/to version 1.2.

#### 1.35.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.35.2 Fixed bugs and malfunctions

-

#### 1.35.3 Incompatibilities

-

#### 1.35.4 Known bugs and problems

-

### 1.36 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.36.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 and accu_ack_maxcount. These are used together with the auto_ack flag and control whether the acks should be sent immediatly or accumulated (and sent later). Note that this has nothing to do with the immAckRequired-flag in reply transactions. See user_info and conn_info.
  Own Id: OTP-4669

#### 1.36.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.36.3 Incompatibilities

-

#### 1.36.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.37 Megaco 1.1.2

Version 1.1.2 supports code replacement in runtime from/to version 1.1.1 and 1.1.0.

#### 1.37.1 Improvements and new features

-

#### 1.37.2 Fixed bugs and malfunctions

- Service change reason text encoding now always quoted string.
  Peter-Henry Mander
  Own Id: OTP-4632

#### 1.37.3 Incompatibilities

-

#### 1.37.4 Known bugs and problems

-

### 1.38 Megaco 1.1.1

Version 1.1.1 supports code replacement in runtime from/to version 1.1.0.

#### 1.38.1 Improvements and new features

- Added support for the Megaco mib.

#### 1.38.2 Fixed bugs and malfunctions

- Result of catch gen_udp:open not properly handled.
  Own Id: OTP-4566

#### 1.38.3 Incompatibilities

-

#### 1.38.4 Known bugs and problems

-

### 1.39 Megaco 1.1.0

Version 1.1.0 does not suppurt code replacement in runtime from pervious versions.

#### 1.39.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.39.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 item min_trans_id. It should have been trans_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.39.3 Incompatibilities

-

#### 1.39.4 Known bugs and problems

-

### 1.40 Megaco 1.0.4

Version 1.0.4 supports code replacement in runtime from/to version 1.0.2 and 1.0.3.

#### 1.40.1 Improvements and new features

- Adding utility functions for megaco tracing.
  Own Id: OTP-4339

#### 1.40.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.40.3 Incompatibilities

-

#### 1.40.4 Known bugs and problems

-

### 1.41 Megaco 1.0.3

#### 1.41.1 Improvements and new features

-

#### 1.41.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.41.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.41.4 Known bugs and problems

-

### 1.42 Megaco 1.0.2

#### 1.42.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.42.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.42.3 Incompatibilities

-

#### 1.42.4 Known bugs and problems

-

### 1.43 Megaco 1.0.1

#### 1.43.1 Improvements and new features

-

#### 1.43.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.43.3 Incompatibilities

-

#### 1.43.4 Known bugs and problems

-

### 1.44 Megaco 1.0

#### 1.44.1 Improvements and new features

- Flex scanner: Added scanner to system info.

#### 1.44.2 Fixed bugs and malfunctions

-

#### 1.44.3 Incompatibilities

-

#### 1.44.4 Known bugs and problems

-

megaco 3.9.1.1
Copyright © 1991-2008 Ericsson AB