OptionalcreateTest seam: a factory that builds the softphone handle (inject a fake to avoid the real SIP SDK).
Constructs a RingCentralSoftphoneHandle over the real ringcentral-softphone + werift-rtp
packages (lazily loaded), or over injected fakes in tests. Does NOT register — the caller (the server
manager) calls RingCentralSoftphoneHandle.register at boot.
SIP device credentials + codec (resolved upstream — never inlined).
Optionaldeps: {Test seam: inject a fake softphone client factory + RTP constructors to avoid loading the real SDKs. Production omits both, so the lazy loaders run.
OptionalengineOptionalsessionOpens a raw IRealtimeSession for the agent named in ctx. Bind this onto a bridge's
session-factory seam (e.g. LiveKitAgentRoomCoordinator.Instance.SetSessionFactory(CreateBridgeRealtimeSession)).
The bridge session context (agent id/name + user + provider).
The live realtime session to hand to AIBridgeEngine.StartBridgeSession.
Optionalsession
Injectable collaborators (production defaults wired in the constructor; fakes in tests).