lp:diameterl

Created by Javier Collado and last modified

Diameterl (Diameter in erlang) main branch

Get this branch:
bzr branch lp:diameterl
Only Javier Collado can upload to this branch. If you are Javier Collado please log in for upload directions.

Related bugs

Related blueprints

Branch information

Owner:
Javier Collado
Project:
diameterl
Status:
Experimental

Recent revisions

11. By jcollado

get_first_avp method added to command.erl to retrieve the lists of AVPs that match a definition.
This new method is used to get Result-Code-AVP in diameter client example and transition the FSM properly.

10. By jcollado

- Reconnection timer implemented at the client when gen_tcp:connect isn't successful for the first time (this is not part of peer state machine, but useful anyway).
- connect function is back (not so bad after all).

9. By jcollado

Minor changes:
- Watchdog timer is now configurable through the .app files
- transport servers start with arguments (it was not very useful to start them and afterwards call another function such as connect or listen)

8. By jcollado

Default listen port value for the server is taken from the value configured in diameter_server.app file.

7. By jcollado

Diameter server example now is implemented also as an application using two processes. One of them handles the FSM and the other one the transport connection.

6. By jcollado

Diameter client example now is an application implemented using two processes. One of them implements the gen_fsm behaviour and the other one the gen_server behaviour to handle all the transport connection issues.
The new application requires diameter application to be started previously to encode/decode commands. In addition to this, server IP address and port can be configured changing the contents of diameter_client.app file.
Full Peer State Machine as isn't implemented, but the current states follow the ones defined in RFC3588 so in the future a full client may be implemented using this code.

5. By jcollado

Diameter application created. Now diameter stack must be started using the application module:
application:load(diameter).
aplication:start(diameter).

and stoped the same way:
application:unload(diameter).
application:stop(diameter).

4. By jcollado

Encoding functions now not only construct the expected binary, but also a record such as the one that is retuned when calling to decode functions. With this record it's now possible to print encoded commands which is an great improvement from the logging point of view.

3. By jcollado

New stack server (used to generate new Hop-By-Hop-Id and End-To-End-Id to encode commands) added.

2. By jcollado

Definition servers are now implemented using the gen_server behaviour.
Diameter module is now implemented using the supervisor behaviour.

This branch contains Public information 
Everyone can see this information.