Is your feature request related to a problem? Please describe.
Currently, when creating a SIP Outbound Trunk via CreateSIPOutboundTrunk (or CreateSIPParticipant), there is no option to explicitly set the domain part of the SIP From header (the fromHost).
The SIP service seems to automatically construct the From header using the authenticated username and the service's configured sip.local_ip or global domain.
The Problem:
Some strict SIP providers require the From header domain to match the registration domain exactly (or a specific verified domain), rejecting calls where the From domain is an IP address or the internal hostname of the LiveKit SIP service.
Describe the solution you'd like
I would like to request a new field in the SIPOutboundTrunkInfo (and potentially CreateSIPParticipantRequest) protobuf definition, such as from_domain or from_host.
If set, the SIP service should use this value to construct the domain part of the From header in outgoing INVITE requests, overriding the default behavior (which currently seems to fall back to the local IP or global config).
Example desired behavior:
// Proposed field
trunk := &livekit.SIPOutboundTrunkInfo{
// ... existing fields
FromDomain: "sip.myprovider.com",
}
Resulting header: From: <sip:username@sip.myprovider.com>
Describe alternatives you've considered
- Global Config: Changing the global
domain in config.yaml. This is not ideal because a single SIP service instance might need to connect to multiple providers with different domain requirements.
- Custom Headers: Trying to pass
From in the custom headers map. This usually doesn't work as the SIP stack overwrites standard headers like From to ensure protocol compliance.
Additional context
- SDK/Version: LiveKit SIP Service
- Use Case: Connecting to a legacy SIP provider that enforces strict domain validation on the
From header.
Is your feature request related to a problem? Please describe.
Currently, when creating a SIP Outbound Trunk via
CreateSIPOutboundTrunk(orCreateSIPParticipant), there is no option to explicitly set the domain part of the SIPFromheader (thefromHost).The SIP service seems to automatically construct the
Fromheader using the authenticated username and the service's configuredsip.local_ipor global domain.The Problem:
Some strict SIP providers require the
Fromheader domain to match the registration domain exactly (or a specific verified domain), rejecting calls where theFromdomain is an IP address or the internal hostname of the LiveKit SIP service.Describe the solution you'd like
I would like to request a new field in the
SIPOutboundTrunkInfo(and potentiallyCreateSIPParticipantRequest) protobuf definition, such asfrom_domainorfrom_host.If set, the SIP service should use this value to construct the domain part of the
Fromheader in outgoing INVITE requests, overriding the default behavior (which currently seems to fall back to the local IP or global config).Example desired behavior:
Resulting header:
From: <sip:username@sip.myprovider.com>Describe alternatives you've considered
domaininconfig.yaml. This is not ideal because a single SIP service instance might need to connect to multiple providers with different domain requirements.Fromin the customheadersmap. This usually doesn't work as the SIP stack overwrites standard headers likeFromto ensure protocol compliance.Additional context
Fromheader.