[Devel] Request for discussion: FIFO to MI migration

Bogdan-Andrei Iancu bogdan at voice-system.ro
Thu Oct 5 16:49:31 CEST 2006

Hi everybody,

also related to the new MI topic - as previously posted, there already 
an implementation for FIFO interface (FIFO <-> MI translation) - see 
http://openser.org/docs/modules/1.2.x/mi_fifo.html .

There are two hot topics I would like to address:

1) backward compatibility with all fifo implementation. The new fifo 
syntax is a bit simplify and changed in order to allow to be mapped over 
an "name = value" approach - see 

The big difference is when it comes to values spreading across multiple 
lines (as the FIFO syntax is line orientated). In old implementation the 
line order was known by the functions implementing the external 
commands- lines with a single dot were used as end-markers for sets of 
line that should be interpreted as a single value.
The MI interface is just doing translation (is not functionality aware) 
so a more coherent definition was needed - for multiple line value, 
quoted strings are used.
This will break compatibility for functions using multiple line values 
like t_uac_dlg(). There are just a few functions, but they are.

2) for how long should we keep in parallel the two FIFO / UNIXSOCK 
implementations before dropping the old ones? I am a fan of a fast 
transition I would drop the old impls as soon as the new one offer the 
same functioanlity - this will accelerate the testing and migration process.

So the questions are - when to drop the old impls and how to deal with 
backward compatibilities (as MI will not be 100% compat with SEMS for 

One solution (based on my opinions) - drop as soon as possible and use 
for backward compatibility a FIFO proxy to do translation between 
versions (for people interested in).

any other solutions are welcome for debate.


More information about the Devel mailing list