From 754f4c37b7ffa9bbc26dfc4abc8d6215d3baf988 Mon Sep 17 00:00:00 2001 From: cloudwebrtc Date: Fri, 31 Oct 2025 22:17:11 +0800 Subject: [PATCH 1/2] feat: add outbound trunk config for create_sip_participant. --- livekit-api/livekit/api/sip_service.py | 11 +++++++++++ 1 file changed, 11 insertions(+) diff --git a/livekit-api/livekit/api/sip_service.py b/livekit-api/livekit/api/sip_service.py index 6f10ac7e..d32c18dd 100644 --- a/livekit-api/livekit/api/sip_service.py +++ b/livekit-api/livekit/api/sip_service.py @@ -6,6 +6,7 @@ from livekit.protocol.models import ListUpdate from livekit.protocol.sip import ( + SIPOutboundConfig, SIPTrunkInfo, CreateSIPInboundTrunkRequest, UpdateSIPInboundTrunkRequest, @@ -755,12 +756,16 @@ async def create_sip_participant( create: CreateSIPParticipantRequest, *, timeout: Optional[float] = None, + trunk_id: Optional[str] = None, + outbound_trunk: Optional[SIPOutboundConfig] = None, ) -> SIPParticipantInfo: """Create a new SIP participant. Args: create: Request containing participant details timeout: Optional request timeout in seconds + trunk_id: Optional SIP trunk ID to use for the participant + outbound_trunk: Optional outbound trunk configuration for the participant Returns: Created SIP participant @@ -781,6 +786,12 @@ async def create_sip_participant( ): client_timeout = aiohttp.ClientTimeout(total=20) + if trunk_id: + create.sip_trunk_id = trunk_id + + if outbound_trunk: + create.trunk = outbound_trunk + return await self._client.request( SVC, "CreateSIPParticipant", From 4a3212e7bac1457c0d727fda9e96ce87c2fcee81 Mon Sep 17 00:00:00 2001 From: cloudwebrtc Date: Mon, 3 Nov 2025 10:53:45 +0800 Subject: [PATCH 2/2] rename. --- livekit-api/livekit/api/sip_service.py | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/livekit-api/livekit/api/sip_service.py b/livekit-api/livekit/api/sip_service.py index d32c18dd..0364c797 100644 --- a/livekit-api/livekit/api/sip_service.py +++ b/livekit-api/livekit/api/sip_service.py @@ -757,7 +757,7 @@ async def create_sip_participant( *, timeout: Optional[float] = None, trunk_id: Optional[str] = None, - outbound_trunk: Optional[SIPOutboundConfig] = None, + outbound_trunk_config: Optional[SIPOutboundConfig] = None, ) -> SIPParticipantInfo: """Create a new SIP participant. @@ -765,7 +765,7 @@ async def create_sip_participant( create: Request containing participant details timeout: Optional request timeout in seconds trunk_id: Optional SIP trunk ID to use for the participant - outbound_trunk: Optional outbound trunk configuration for the participant + outbound_trunk_config: Optional outbound trunk configuration for the participant Returns: Created SIP participant @@ -789,8 +789,8 @@ async def create_sip_participant( if trunk_id: create.sip_trunk_id = trunk_id - if outbound_trunk: - create.trunk = outbound_trunk + if outbound_trunk_config: + create.trunk = outbound_trunk_config return await self._client.request( SVC,