< Previous by Date Date Index Next by Date >
  Thread Index  

[reSIProcate] using repro/ReproRunner advanced transport config code for other applications


ReproRunner.cxx includes code (addTransports() method[1]) for reading
Transport* entries from repro.config and calling SipStack::addTransport()

It would be nice to use the same code to initialize other applications
such as reConServer[2] and ichat-gw[3]

I had a look at the way recon/UserAgent calls SipStack::addTransport and
it is slightly different: the application code (e.g. reConServer.cxx)
reads the config file and calls UserAgentMasterProfile::addTransport.
UserAgentMasterProfile stores the transport details in TransportInfo[4]
objects and later it iterates over them calling SipStack::addTransport

Therefore, to use exactly the same code between all the applications, we
may need to use the TransportInfo class for other applications too, or
completely get rid of it for all applications.

I already started a resip/stack/SipConfigParse[5] class, it fits like
this in the class hierarchy:


rutil/ConfigParse
         .
         .
resip/stack/SipConfigParse
         .
         .
repro/ProxyConfig


How do people feel about the direction for this?

Regards,

Daniel


1.
https://github.com/resiprocate/resiprocate/blob/master/repro/ReproRunner.cxx#L1567
2. https://github.com/resiprocate/reConServer
3. https://github.com/resiprocate/resiprocate/tree/master/apps/ichat-gw
4.
https://github.com/resiprocate/resiprocate/blob/master/resip/recon/UserAgentMasterProfile.hxx#L27
5.
https://github.com/resiprocate/resiprocate/blob/master/resip/stack/SipConfigParse.hxx