In order to integrate with topology service (CallHomeTopology extends AbstractNetconfTopology) CallHomeMountService substitutes the netconf client related artifacts with own simplified implementations, omitting transport layer. See:
This results connection parameters like connection timeout and keep-alive options are not configurable but hard-coded.
Connection timeout is used by Netconf session negotiation logic which terminates connection in case the hello message was not accepted during expected period. The timeout value is set via NetconfClientSessionNetiatorFactory constructor with default via
- SSH: CallHomeSshServer.Builder.build() invoked from IetfZeroTouchCallHomeServerProvider
- TLS: CallHomeTlsServer.Builder.build() invoked from NetconfCallHomeTlsService
Suggestion is to pass configured connection timeout parametr to corresponding server builder (already implemented for TLS case) then build default NetconfClientSessionNegotiatorFactory based on this parameter, not the default one.
Keep-alive delay and request timeout parameters are used by NetconfNodeHandler in order to perform periodic sending keep-alive messages over netconf layer. For call-home service these values are hard-coded on building synthetic node instance which substitutes netconf-topology node -> see CallHomeMountService.asNode()
Suggested to add configuration with parameters mentioned to CallHomeMountService service.
Taking into account CallHomeMountService is used as reference in both TLS and SSH services it makes sense to join all the configurations into single one to be used by all the services within callhome-provider bundle.