Hello,
lately while working on PJSUA2 I discovered few things that are exposed and configurable in PJSUA and are not available through PJSUA2. For example, I had to modify certain socket options while working with TLS. Now, in PJSUA2 there are two structs where socket options should be possible: TransportConfig and TlsConfig. These correspond to the following two PJSUA structs: pjsua_transport_config and pjsip_tls_setting.
The problem was that while PJSUA structs (pjsua_transport_config and pjsip_tls_setting) do have 'pj_sockopt_params sockopt_params' argument, there is no corresponding data member in PJSUA2. The attached patch does address this issue and introduces data members to PJSUA2. The change is tested and does work well, however, I am not sure if my changes are 100% correct when it comes to a serialization code in which, a 'void* optval' is dealt with.
The patch file is generated against a PJSIP 2. 6 version.
In my next post I am going to explain why I had to deal with this problem in the first place and will elaborate a change in default socket options. The change that be of benefit to all PJSIP users who use TCP and TLS.
Regards,
Zarko