+
    ~jd                        ^ RI Ht ^ RIt^ RIt^ RIHt ^ RIHt ^ RIH	t	H
t
HtHtHtHtHtHtHtHtHtHtHtHtHtHtHtHtHtHtHtHtHtH t H!t!H"t"H#t# ^RI$H%t% ^RI&H't'H(t( Rt)  ! R	 R
]%4      t*R# )    )annotationsN)Optional)
ListUpdate)SIPOutboundConfigSIPTrunkInfoCreateSIPInboundTrunkRequestUpdateSIPInboundTrunkRequestSIPInboundTrunkInfoSIPInboundTrunkUpdateCreateSIPOutboundTrunkRequestUpdateSIPOutboundTrunkRequestSIPOutboundTrunkInfoSIPOutboundTrunkUpdateListSIPInboundTrunkRequestListSIPInboundTrunkResponseListSIPOutboundTrunkRequestListSIPOutboundTrunkResponseDeleteSIPTrunkRequestSIPDispatchRuleSIPDispatchRuleInfoSIPDispatchRuleUpdateCreateSIPDispatchRuleRequestUpdateSIPDispatchRuleRequestListSIPDispatchRuleRequestListSIPDispatchRuleResponseDeleteSIPDispatchRuleRequestCreateSIPParticipantRequestTransferSIPParticipantRequestSIPParticipantInfoSIPTransport)Service)VideoGrants	SIPGrantsSIPc                  f  a  ] tR t^,tRtR V 3R lltR R ltR R ltR R	 ltR
 R lt	RRRRRRRRRRRRRR/R R llt
RRRRRRRRRRRRRR/R R lltR R ltR R ltR R ltR R ltR RR!RRRRRRRRRRR/R" R# lltR RR!RRRRRRRRRRR/R$ R% lltR& R' ltR( R) ltR* R+ ltR, R- ltR. R/ ltR0 R1 ltR2 R3 ltR4 R5 ltR6 R7 ltR8 R9 ltR:RR;RRRRRR<R/R= R> lltR:RR;RRRRRR<R/R? R@ lltRA RB ltRC RD ltRE RF lt RG RH lt!RIRRJRRKR/RL RM llt"RN RO lt#RP RQ lt$RRt%V ;t&# )S
SipServicezClient for LiveKit SIP Service API

Recommended way to use this service is via `livekit.api.LiveKitAPI`:

```python
from livekit import api
lkapi = api.LiveKitAPI()
sip_service = lkapi.sip
```
c               (    V ^8  d   QhRRRRRRRR/# )   sessionzaiohttp.ClientSessionurlstrapi_key
api_secret )formats   "l/Users/mitch_tango/dev/rabbit-r1-livekit/agent/.venv/lib/python3.14/site-packages/livekit/api/sip_service.py__annotate__SipService.__annotate__8   s*     < < 5 <C <# <[^ <    c                	(   < \         SV `  WW44       R # )N)super__init__)selfr)   r*   r,   r-   	__class__s   &&&&&r0   r6   SipService.__init__8   s    w;r3   c                    V ^8  d   QhRRRR/# r(   creater   returnr
   r.   )r/   s   "r0   r1   r2   ;        
 
2
	
r3   c                   "   V P                   P                  \        RVV P                  4       \        4      G Rj  xL
 #  L5i)z|Create a new SIP inbound trunk.

Args:
    create: Request containing trunk details

Returns:
    Created SIP inbound trunk
CreateSIPInboundTrunkN)_clientrequestSVC_admin_headersr
   r7   r<   s   &&r0   create_inbound_trunkSipService.create_inbound_trunk;   @      \\))#!
 
 	
 
   9AA Ac                    V ^8  d   QhRRRR/# r;   r.   )r/   s   "r0   r1   r2   N        7 727	7r3   c                z   "   \         P                  ! R\        ^R7       V P                  V4      G Rj  xL
 #  L5i)zCreate a new SIP inbound trunk.

.. deprecated::
   Use :meth:`create_inbound_trunk` instead.

Args:
    create: Request containing trunk details

Returns:
    Created SIP inbound trunk
zHcreate_sip_inbound_trunk is deprecated, use create_inbound_trunk instead
stacklevelN)warningswarnDeprecationWarningrF   rE   s   &&r0   create_sip_inbound_trunk#SipService.create_sip_inbound_trunkN   5      	V	

 ..v6666   2;9;c               $    V ^8  d   QhRRRRRR/# r(   trunk_idr+   trunkr
   r=   r.   )r/   s   "r0   r1   r2   c   s(     
 

 #
 
	
r3   c           	        "   V P                   P                  \        R\        VVR7      V P	                  4       \
        4      G Rj  xL
 #  L5i)zUpdates an existing SIP inbound trunk by replacing it entirely.

Args:
    trunk_id: ID of the SIP inbound trunk to update
    trunk: SIP inbound trunk to update with

Returns:
    Updated SIP inbound trunk
UpdateSIPInboundTrunksip_trunk_idreplaceN)rA   rB   rC   r	   rD   r
   r7   rX   rY   s   &&&r0   update_inbound_trunkSipService.update_inbound_trunkc   sM      \\))#(% !	
 	
 		
 	
   AAAAc               $    V ^8  d   QhRRRRRR/# rW   r.   )r/   s   "r0   r1   r2   |   s-     @ @@ #@ 
	@r3   c                z   "   \         P                  ! R\        ^R7       V P                  W4      G Rj  xL
 #  L5i)a  Updates an existing SIP inbound trunk by replacing it entirely.

.. deprecated::
   Use :meth:`update_inbound_trunk` instead.

Args:
    trunk_id: ID of the SIP inbound trunk to update
    trunk: SIP inbound trunk to update with

Returns:
    Updated SIP inbound trunk
zHupdate_sip_inbound_trunk is deprecated, use update_inbound_trunk insteadrM   N)rO   rP   rQ   r`   r_   s   &&&r0   update_sip_inbound_trunk#SipService.update_sip_inbound_trunk|   s5     " 	V	

 ..x????rU   numbersNallowed_addressesallowed_numbersauth_usernameauth_passwordnamemetadatac               <    V ^8  d   QhRRRRRRRRRRR	RR
RRRRR/	# )r(   rX   r+   rg    Optional[ListUpdate | list[str]]rh   ri   rj   Optional[str]rk   rl   rm   r=   r
   r.   )r/   s   "r0   r1   r2      sd     5
 5
5
 2	5

 <5
 :5
 %5
 %5
 5
  5
 
5
r3   c          	       "   \        VVVVR7      p	Ve   \        V\        4      '       d   V	P                  P                  P                  VP                  4       V	P                  P                  P                  VP                  4       V	P                  P                  P                  VP                  4       M%V	P                  P                  P                  V4       Ve   \        V\        4      '       d   V	P                  P                  P                  VP                  4       V	P                  P                  P                  VP                  4       V	P                  P                  P                  VP                  4       M%V	P                  P                  P                  V4       Ve   \        V\        4      '       d   V	P                  P                  P                  VP                  4       V	P                  P                  P                  VP                  4       V	P                  P                  P                  VP                  4       M%V	P                  P                  P                  V4       V P                  P                  \        R\        VV	R7      V P                  4       \        4      G Rj  xL
 #  L5i)zaUpdates specific fields of an existing SIP inbound trunk.

Only provided fields will be updated.
)rj   rk   rl   rm   Nr[   r]   update)r   
isinstancer   rg   setextendaddremoverh   ri   rA   rB   rC   r	   rD   r
   )
r7   rX   rg   rh   ri   rj   rk   rl   rm   rs   s
   &&$$$$$$$ r0   update_inbound_trunk_fields&SipService.update_inbound_trunk_fields   s      '''	
 ':..""))'++6""))'++6%%,,W^^<""))'2(+Z88((,,334E4I4IJ((,,334E4I4IJ((//667H7O7OP((,,334EF&/:66&&**11/2E2EF&&**11/2E2EF&&--44_5K5KL&&**11/B\\))#(% !	
 	
 		
 	
s   J:K<K=Kc               <    V ^8  d   QhRRRRRRRRRRR	RR
RRRRR/	# )r(   rX   r+   rg   Optional[list[str]]rh   ri   rj   rp   rk   rl   rm   r=   r
   r.   )r/   s   "r0   r1   r2      sd     !
 !
!
 %	!

 /!
 -!
 %!
 %!
 !
  !
 
!
r3   c                  "   \         P                  ! R\        ^R7       V P                  VVVVVVVVR7      G Rj  xL
 #  L5i)zUpdates specific fields of an existing SIP inbound trunk.

.. deprecated::
   Use :meth:`update_inbound_trunk_fields` instead.

Only provided fields will be updated.
zVupdate_sip_inbound_trunk_fields is deprecated, use update_inbound_trunk_fields insteadrM   )rg   rh   ri   rj   rk   rl   rm   N)rO   rP   rQ   ry   )	r7   rX   rg   rh   ri   rj   rk   rl   rm   s	   &&$$$$$$$r0   update_sip_inbound_trunk_fields*SipService.update_sip_inbound_trunk_fields   sX     & 	d	

 55/+'' 6 	
 	
 		
 	
   :AAAc                    V ^8  d   QhRRRR/# r(   r<   r   r=   r   r.   )r/   s   "r0   r1   r2      s     
 
3
	
r3   c                   "   V P                   P                  \        RVV P                  4       \        4      G Rj  xL
 #  L5i)z~Create a new SIP outbound trunk.

Args:
    create: Request containing trunk details

Returns:
    Created SIP outbound trunk
CreateSIPOutboundTrunkN)rA   rB   rC   rD   r   rE   s   &&r0   create_outbound_trunk SipService.create_outbound_trunk   s@      \\))$! 
 
 	
 
rI   c                    V ^8  d   QhRRRR/# r   r.   )r/   s   "r0   r1   r2     s     8 838	8r3   c                z   "   \         P                  ! R\        ^R7       V P                  V4      G Rj  xL
 #  L5i)zCreate a new SIP outbound trunk.

.. deprecated::
   Use :meth:`create_outbound_trunk` instead.

Args:
    create: Request containing trunk details

Returns:
    Created SIP outbound trunk
zJcreate_sip_outbound_trunk is deprecated, use create_outbound_trunk insteadrM   N)rO   rP   rQ   r   rE   s   &&r0   create_sip_outbound_trunk$SipService.create_sip_outbound_trunk  s5      	X	

 //7777rU   c               $    V ^8  d   QhRRRRRR/# r(   rX   r+   rY   r   r=   r.   )r/   s   "r0   r1   r2     s(     
 

 $
 
	
r3   c           	        "   V P                   P                  \        R\        VVR7      V P	                  4       \
        4      G Rj  xL
 #  L5i)zUpdates an existing SIP outbound trunk by replacing it entirely.

Args:
    trunk_id: ID of the SIP outbound trunk to update
    trunk: SIP outbound trunk to update with

Returns:
    Updated SIP outbound trunk
UpdateSIPOutboundTrunkr\   N)rA   rB   rC   r   rD   r   r_   s   &&&r0   update_outbound_trunk SipService.update_outbound_trunk  sM      \\))$)% ! 	
 	
 		
 	
rb   c               $    V ^8  d   QhRRRRRR/# r   r.   )r/   s   "r0   r1   r2   /  s-     A AA $A 
	Ar3   c                z   "   \         P                  ! R\        ^R7       V P                  W4      G Rj  xL
 #  L5i)a  Updates an existing SIP outbound trunk by replacing it entirely.

.. deprecated::
   Use :meth:`update_outbound_trunk` instead.

Args:
    trunk_id: ID of the SIP outbound trunk to update
    trunk: SIP outbound trunk to update with

Returns:
    Updated SIP outbound trunk
zJupdate_sip_outbound_trunk is deprecated, use update_outbound_trunk insteadrM   N)rO   rP   rQ   r   r_   s   &&&r0   update_sip_outbound_trunk$SipService.update_sip_outbound_trunk/  s5     " 	X	

 //@@@@rU   address	transportc               <    V ^8  d   QhRRRRRRRRR	RR
RRRRRRR/	# )r(   rX   r+   r   
str | Noner   SIPTransport | Nonerg   ro   rj   rk   rl   rm   r=   r   r.   )r/   s   "r0   r1   r2   G  sd     )
 )
)
 	)

 ')
 2)
 ")
 ")
 )
 )
 
)
r3   c          	     Z  "   \        VVVVVVR7      p	Ve   \        V\        4      '       d   V	P                  P                  P                  VP                  4       V	P                  P                  P                  VP                  4       V	P                  P                  P                  VP                  4       M%V	P                  P                  P                  V4       V P                  P                  \        R\        VV	R7      V P                  4       \        4      G Rj  xL
 #  L5i)zbUpdates specific fields of an existing SIP outbound trunk.

Only provided fields will be updated.
)r   r   rj   rk   rl   rm   Nr   rr   )r   rt   r   rg   ru   rv   rw   rx   rA   rB   rC   r   rD   r   )
r7   rX   r   r   rg   rj   rk   rl   rm   rs   s
   &&$$$$$$$ r0   update_outbound_trunk_fields'SipService.update_outbound_trunk_fieldsG  s       (''
 ':..""))'++6""))'++6%%,,W^^<""))'2\\))$)% ! 	
 	
 		
 	
s   D"D+$D)%D+c               <    V ^8  d   QhRRRRRRRRR	RR
RRRRRRR/	# )r(   rX   r+   r   r   r   r   rg   zlist[str] | Nonerj   rk   rl   rm   r=   r   r.   )r/   s   "r0   r1   r2   r  sd     !
 !
!
 	!

 '!
 "!
 "!
 "!
 !
 !
 
!
r3   c                  "   \         P                  ! R\        ^R7       V P                  VVVVVVVVR7      G Rj  xL
 #  L5i)zUpdates specific fields of an existing SIP outbound trunk.

.. deprecated::
   Use :meth:`update_outbound_trunk_fields` instead.

Only provided fields will be updated.
zXupdate_sip_outbound_trunk_fields is deprecated, use update_outbound_trunk_fields insteadrM   )r   r   rg   rj   rk   rl   rm   N)rO   rP   rQ   r   )	r7   rX   r   r   rg   rj   rk   rl   rm   s	   &&$$$$$$$r0    update_sip_outbound_trunk_fields+SipService.update_sip_outbound_trunk_fieldsr  sX     & 	f	

 66'' 7 	
 	
 		
 	
r   c                    V ^8  d   QhRRRR/# r(   listr   r=   r   r.   )r/   s   "r0   r1   r2          
 
.
	$
r3   c                   "   V P                   P                  \        RVV P                  4       \        4      G Rj  xL
 #  L5i)zList SIP inbound trunks with optional filtering.

Args:
    list: Request with optional filtering parameters

Returns:
    Response containing list of SIP inbound trunks
ListSIPInboundTrunkN)rA   rB   rC   rD   r   r7   r   s   &&r0   list_inbound_trunkSipService.list_inbound_trunk  @      \\))!!'
 
 	
 
rI   c                    V ^8  d   QhRRRR/# r   r.   )r/   s   "r0   r1   r2          3 3.3	$3r3   c                z   "   \         P                  ! R\        ^R7       V P                  V4      G Rj  xL
 #  L5i)zList SIP inbound trunks with optional filtering.

.. deprecated::
   Use :meth:`list_inbound_trunk` instead.

Args:
    list: Request with optional filtering parameters

Returns:
    Response containing list of SIP inbound trunks
zDlist_sip_inbound_trunk is deprecated, use list_inbound_trunk insteadrM   N)rO   rP   rQ   r   r   s   &&r0   list_sip_inbound_trunk!SipService.list_sip_inbound_trunk  5      	R	

 ,,T2222rU   c                    V ^8  d   QhRRRR/# r(   r   r   r=   r   r.   )r/   s   "r0   r1   r2     s     
 
/
	%
r3   c                   "   V P                   P                  \        RVV P                  4       \        4      G Rj  xL
 #  L5i)zList SIP outbound trunks with optional filtering.

Args:
    list: Request with optional filtering parameters

Returns:
    Response containing list of SIP outbound trunks
ListSIPOutboundTrunkN)rA   rB   rC   rD   r   r   s   &&r0   list_outbound_trunkSipService.list_outbound_trunk  s@      \\))"!(
 
 	
 
rI   c                    V ^8  d   QhRRRR/# r   r.   )r/   s   "r0   r1   r2     s     4 4/4	%4r3   c                z   "   \         P                  ! R\        ^R7       V P                  V4      G Rj  xL
 #  L5i)zList SIP outbound trunks with optional filtering.

.. deprecated::
   Use :meth:`list_outbound_trunk` instead.

Args:
    list: Request with optional filtering parameters

Returns:
    Response containing list of SIP outbound trunks
zFlist_sip_outbound_trunk is deprecated, use list_outbound_trunk insteadrM   N)rO   rP   rQ   r   r   s   &&r0   list_sip_outbound_trunk"SipService.list_sip_outbound_trunk  s5      	T	

 --d3333rU   c                    V ^8  d   QhRRRR/# r(   deleter   r=   r   r.   )r/   s   "r0   r1   r2     s     
 
)> 
< 
r3   c                   "   V P                   P                  \        RVV P                  4       \        4      G Rj  xL
 #  L5i)zuDelete a SIP trunk.

Args:
    delete: Request containing trunk ID to delete

Returns:
    Deleted trunk information
DeleteSIPTrunkN)rA   rB   rC   rD   r   r7   r   s   &&r0   delete_trunkSipService.delete_trunk  s@      \\))!
 
 	
 
rI   c                    V ^8  d   QhRRRR/# r   r.   )r/   s   "r0   r1   r2     s     / /-B /| /r3   c                z   "   \         P                  ! R\        ^R7       V P                  V4      G Rj  xL
 #  L5i)zDelete a SIP trunk.

.. deprecated::
   Use :meth:`delete_trunk` instead.

Args:
    delete: Request containing trunk ID to delete

Returns:
    Deleted trunk information
z8delete_sip_trunk is deprecated, use delete_trunk insteadrM   N)rO   rP   rQ   r   r   s   &&r0   delete_sip_trunkSipService.delete_sip_trunk  s5      	F	

 &&v....rU   c                    V ^8  d   QhRRRR/# r(   r<   r   r=   r   r.   )r/   s   "r0   r1   r2   	  r>   r3   c                   "   V P                   P                  \        RVV P                  4       \        4      G Rj  xL
 #  L5i)z{Create a new SIP dispatch rule.

Args:
    create: Request containing rule details

Returns:
    Created SIP dispatch rule
CreateSIPDispatchRuleNrA   rB   rC   rD   r   rE   s   &&r0   create_dispatch_ruleSipService.create_dispatch_rule	  rH   rI   c                    V ^8  d   QhRRRR/# r   r.   )r/   s   "r0   r1   r2     rK   r3   c                z   "   \         P                  ! R\        ^R7       V P                  V4      G Rj  xL
 #  L5i)zCreate a new SIP dispatch rule.

.. deprecated::
   Use :meth:`create_dispatch_rule` instead.

Args:
    create: Request containing rule details

Returns:
    Created SIP dispatch rule
zHcreate_sip_dispatch_rule is deprecated, use create_dispatch_rule insteadrM   N)rO   rP   rQ   r   rE   s   &&r0   create_sip_dispatch_rule#SipService.create_sip_dispatch_rule  rT   rU   c               $    V ^8  d   QhRRRRRR/# r(   rule_idr+   ruler   r=   r.   )r/   s   "r0   r1   r2   1  s(     
 

 "
 
	
r3   c           	        "   V P                   P                  \        R\        WR7      V P	                  4       \
        4      G Rj  xL
 #  L5i)zUpdates an existing SIP dispatch rule by replacing it entirely.

Args:
    rule_id: ID of the SIP dispatch rule to update
    rule: SIP dispatch rule to update with

Returns:
    Updated SIP dispatch rule
UpdateSIPDispatchRule)sip_dispatch_rule_idr^   N)rA   rB   rC   r   rD   r   r7   r   r   s   &&&r0   update_dispatch_ruleSipService.update_dispatch_rule1  sE      \\))#(gT!
 
 	
 
s   AAA
Ac               $    V ^8  d   QhRRRRRR/# r   r.   )r/   s   "r0   r1   r2   G  s(     > >> "> 
	>r3   c                z   "   \         P                  ! R\        ^R7       V P                  W4      G Rj  xL
 #  L5i)a  Updates an existing SIP dispatch rule by replacing it entirely.

.. deprecated::
   Use :meth:`update_dispatch_rule` instead.

Args:
    rule_id: ID of the SIP dispatch rule to update
    rule: SIP dispatch rule to update with

Returns:
    Updated SIP dispatch rule
zHupdate_sip_dispatch_rule is deprecated, use update_dispatch_rule insteadrM   N)rO   rP   rQ   r   r   s   &&&r0   update_sip_dispatch_rule#SipService.update_sip_dispatch_ruleG  s5     " 	V	

 ..w====rU   	trunk_idsr   
attributesc               4    V ^8  d   QhRRRRRRRRR	RR
RRR/# )r(   r   r+   r   ro   r   Optional[SIPDispatchRule]rl   rp   rm   r   Optional[dict[str, str]]r=   r   r.   )r/   s   "r0   r1   r2   _  sP     "
 "
"
 4	"

 ("
 "
  "
 -"
 
"
r3   c          	     T  "   \        VVVVR7      pVe   \        V\        4      '       d   VP                  P                  P                  VP                  4       VP                  P                  P                  VP                  4       VP                  P                  P                  VP                  4       M%VP                  P                  P                  V4       V P                  P                  \        R\        WR7      V P                  4       \        4      G Rj  xL
 #  L5i)zaUpdates specific fields of an existing SIP dispatch rule.

Only provided fields will be updated.
)rl   rm   r   r   Nr   )r   rs   )r   rt   r   r   ru   rv   rw   rx   rA   rB   rC   r   rD   r   )r7   r   r   r   rl   rm   r   rs   s   &&$$$$$ r0   update_dispatch_rule_fields&SipService.update_dispatch_rule_fields_  s      '!	
  )Z00  $$++IMM:  $$++IMM:  ''..y/?/?@  $$++I6\\))#(gU!
 
 	
 
s   DD(!D&"D(c               4    V ^8  d   QhRRRRRRRRR	RR
RRR/# )r(   r   r+   r   r|   r   r   rl   rp   rm   r   r   r=   r   r.   )r/   s   "r0   r1   r2     sP     
 

 '	

 (
 
  
 -
 

r3   c          	        "   \         P                  ! R\        ^R7       V P                  VVVVVVR7      G Rj  xL
 #  L5i)zUpdates specific fields of an existing SIP dispatch rule.

.. deprecated::
   Use :meth:`update_dispatch_rule_fields` instead.

Only provided fields will be updated.
zVupdate_sip_dispatch_rule_fields is deprecated, use update_dispatch_rule_fields insteadrM   )r   r   rl   rm   r   N)rO   rP   rQ   r   )r7   r   r   r   rl   rm   r   s   &&$$$$$r0   update_sip_dispatch_rule_fields*SipService.update_sip_dispatch_rule_fields  sR     " 	d	

 55! 6 
 
 	
 
s   8A?Ac                    V ^8  d   QhRRRR/# r(   r   r   r=   r   r.   )r/   s   "r0   r1   r2     r   r3   c                   "   V P                   P                  \        RVV P                  4       \        4      G Rj  xL
 #  L5i)zList SIP dispatch rules with optional filtering.

Args:
    list: Request with optional filtering parameters

Returns:
    Response containing list of SIP dispatch rules
ListSIPDispatchRuleN)rA   rB   rC   rD   r   r   s   &&r0   list_dispatch_ruleSipService.list_dispatch_rule  r   rI   c                    V ^8  d   QhRRRR/# r   r.   )r/   s   "r0   r1   r2     r   r3   c                z   "   \         P                  ! R\        ^R7       V P                  V4      G Rj  xL
 #  L5i)zList SIP dispatch rules with optional filtering.

.. deprecated::
   Use :meth:`list_dispatch_rule` instead.

Args:
    list: Request with optional filtering parameters

Returns:
    Response containing list of SIP dispatch rules
zDlist_sip_dispatch_rule is deprecated, use list_dispatch_rule insteadrM   N)rO   rP   rQ   r   r   s   &&r0   list_sip_dispatch_rule!SipService.list_sip_dispatch_rule  r   rU   c                    V ^8  d   QhRRRR/# r(   r   r   r=   r   r.   )r/   s   "r0   r1   r2     r>   r3   c                   "   V P                   P                  \        RVV P                  4       \        4      G Rj  xL
 #  L5i)z{Delete a SIP dispatch rule.

Args:
    delete: Request containing rule ID to delete

Returns:
    Deleted rule information
DeleteSIPDispatchRuleNr   r   s   &&r0   delete_dispatch_ruleSipService.delete_dispatch_rule  rH   rI   c                    V ^8  d   QhRRRR/# r   r.   )r/   s   "r0   r1   r2     rK   r3   c                z   "   \         P                  ! R\        ^R7       V P                  V4      G Rj  xL
 #  L5i)zDelete a SIP dispatch rule.

.. deprecated::
   Use :meth:`delete_dispatch_rule` instead.

Args:
    delete: Request containing rule ID to delete

Returns:
    Deleted rule information
zHdelete_sip_dispatch_rule is deprecated, use delete_dispatch_rule insteadrM   N)rO   rP   rQ   r   r   s   &&r0   delete_sip_dispatch_rule#SipService.delete_sip_dispatch_rule  rT   rU   timeoutrX   outbound_trunk_configc          
     ,    V ^8  d   QhRRRRRRRRR	R
/# )r(   r<   r   r   zOptional[float]rX   rp   r  zOptional[SIPOutboundConfig]r=   r   r.   )r/   s   "r0   r1   r2     s<     0
 0
+0
 !	0

  0
  ;0
 
0
r3   c                 "   RpV'       d   \         P                  ! VR7      pMVP                  '       d   V P                  P                  P
                  '       dw   V P                  P                  P
                  P                  '       dG   V P                  P                  P
                  P                  ^8  d   \         P                  ! ^R7      pV'       d   W1n        V'       d   WAn        V P                  P                  \        RVV P                  \        4       \        RR7      R7      \        VR7      G Rj  xL
 #  L5i)au  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_config: Optional outbound trunk configuration for the participant

Returns:
    Created SIP participant

Raises:
    SIPError: If the SIP operation fails
N)totalCreateSIPParticipantTcallsip)r   )aiohttpClientTimeoutwait_until_answeredrA   _sessionr   r  r]   rY   rB   rC   _auth_headerr"   r#   r   )r7   r<   r   rX   r  client_timeouts   &&$$$ r0   create_sip_participant!SipService.create_sip_participant  s     , ;?$22AN''' %%---LL))11777LL))1177"<!(!6!6R!@"* 0L\\))"km1EF" * 
 
 	
 
s0   4E%E/EAEE)AE>E?Ec                    V ^8  d   QhRRRR/# )r(   transferr   r=   r   r.   )r/   s   "r0   r1   r2   $  s     
 
5
	
r3   c                   "   V P                   P                  \        RVV P                  \	        RVP
                  R7      \        RR7      R7      \        4      G Rj  xL
 #  L5i)zTransfer a SIP participant to a different room.

Args:
    transfer: Request containing transfer details

Returns:
    Updated SIP participant information
TransferSIPParticipantT)
room_adminroomr  r  N)rA   rB   rC   r  r"   	room_namer#   r   )r7   r  s   &&r0   transfer_sip_participant#SipService.transfer_sip_participant$  sg      \\))$#!++ 4(   
 
 	
 
s   AA$A"A$c                   V ^8  d   QhRR/# )r(   r=   zdict[str, str]r.   )r/   s   "r0   r1   r2   =  s     K K Kr3   c                	L    V P                  \        4       \        R R7      R7      # )T)adminr  )r  r"   r#   )r7   s   &r0   rD   SipService._admin_headers=  s      ID4I JJr3   r.   )'__name__
__module____qualname____firstlineno____doc__r6   rF   rR   r`   re   ry   r~   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r  r  rD   __static_attributes____classcell__)r8   s   @r0   r&   r&   ,   sY   	< <
&7*
2@05
 59	5

 ?C5
 =A5
 (,5
 (,5
 #5
 #'5
n!
 (,	!

 26!
 04!
 (,!
 (,!
 #!
 #'!
F
&8*
2A0)
 #	)

 *.)
 59)
 %))
 %))
  )
  $)
V!
 #	!

 *.!
 %)!
 %)!
 %)!
  !
  $!
F
&3*
&4*
"/&
&7*
,>0"
 7;	"

 +/"
 #"
 #'"
 04"
H
 *.	

 +/
 #
 #'
 04
>
&3*
&7*0
 $(	0

 #'0
 >B0
d
2K Kr3   r&   )+
__future__r   r
  rO   typingr   livekit.protocol.modelsr   livekit.protocol.sipr   r   r   r	   r
   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r    _servicer!   access_tokenr"   r#   rC   r&   r.   r3   r0   <module>r,     s\    "    .       :  0 RK RKr3   