[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