Skip to content

Commit d02672a

Browse files
authored
feat: support targeted number and address updates for sip trunks (#494)
1 parent f10082d commit d02672a

File tree

1 file changed

+21
-8
lines changed

1 file changed

+21
-8
lines changed

livekit-api/livekit/api/sip_service.py

Lines changed: 21 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -148,9 +148,9 @@ async def update_inbound_trunk_fields(
148148
self,
149149
trunk_id: str,
150150
*,
151-
numbers: Optional[list[str]] = None,
152-
allowed_addresses: Optional[list[str]] = None,
153-
allowed_numbers: Optional[list[str]] = None,
151+
numbers: Optional[ListUpdate | list[str]] = None,
152+
allowed_addresses: Optional[ListUpdate | list[str]] = None,
153+
allowed_numbers: Optional[ListUpdate | list[str]] = None,
154154
auth_username: Optional[str] = None,
155155
auth_password: Optional[str] = None,
156156
name: Optional[str] = None,
@@ -167,11 +167,20 @@ async def update_inbound_trunk_fields(
167167
metadata=metadata,
168168
)
169169
if numbers is not None:
170-
update.numbers.set.extend(numbers)
170+
if isinstance(numbers, ListUpdate):
171+
update.numbers = numbers
172+
else:
173+
update.numbers.set.extend(numbers)
171174
if allowed_addresses is not None:
172-
update.allowed_addresses.set.extend(allowed_addresses)
175+
if isinstance(allowed_addresses, ListUpdate):
176+
update.allowed_addresses = allowed_addresses
177+
else:
178+
update.allowed_addresses.set.extend(allowed_addresses)
173179
if allowed_numbers is not None:
174-
update.allowed_numbers.set.extend(allowed_numbers)
180+
if isinstance(allowed_numbers, ListUpdate):
181+
update.allowed_numbers = allowed_numbers
182+
else:
183+
update.allowed_numbers.set.extend(allowed_numbers)
175184

176185
return await self._client.request(
177186
SVC,
@@ -314,7 +323,7 @@ async def update_outbound_trunk_fields(
314323
*,
315324
address: str | None = None,
316325
transport: SIPTransport | None = None,
317-
numbers: list[str] | None = None,
326+
numbers: Optional[ListUpdate | list[str]] = None,
318327
auth_username: str | None = None,
319328
auth_password: str | None = None,
320329
name: str | None = None,
@@ -333,7 +342,11 @@ async def update_outbound_trunk_fields(
333342
metadata=metadata,
334343
)
335344
if numbers is not None:
336-
update.numbers.set.extend(numbers)
345+
if isinstance(numbers, ListUpdate):
346+
update.numbers = numbers
347+
else:
348+
update.numbers.set.extend(numbers)
349+
337350
return await self._client.request(
338351
SVC,
339352
"UpdateSIPOutboundTrunk",

0 commit comments

Comments
 (0)