라이브킷 에이젼트 통화에서 최대 통화시간을 제한할수 있는 방법이 있을까?
# ask-ai
l
라이브킷 에이젼트 통화에서 최대 통화시간을 제한할수 있는 방법이 있을까?
t
Thanks for reaching out, Dan(송희웅). I'm an AI assistant and I'm here to help. Give me a moment while I research this topic.
라이브킷에서 최대 통화 시간을 제한하는 기능에 대해 궁금해 하셨군요! 현재 이 기능은 SIP(Session Initiation Protocol) 참가자에게만 적용되고 있어요. SIP 설정에서
max_call_duration
매개변수를 사용해 SIP 통화의 최대 허용 시간을 정할 수 있답니다. 예를 들어, Node.js SDK를 사용하신다면 `CreateSipParticipantOptions`에서 초 단위로 `maxCallDuration`을 지정하시면 돼요. 하지만 일반 WebRTC 참가자나 SDK를 통해 참여하는 사용자에 대해서는 아직 통화 시간 제한 기능이 문서화되어 있지 않아요. 혹시 더 궁금한 점이나 도움이 필요하시면 언제든지 말씀해 주세요. 함께 해결해 나가요! Sources: protobufs/livekit_sip.proto | SIP APIs | LiveKit Docs | packages/livekit-server-sdk/src/SipClient.ts | pkg/sip/participant.go
l
Maxcallduration 방법이 전혀 작동되지 않아!
t
현재
max_call_duration
설정이 작동하지 않는다고 하셨는데, 도움을 드리기 위해 몇 가지 추가 정보를 여쭤봐도 될까요? • 어떤 SDK 또는 API를 사용하여 설정을 적용하고 계신가요? (예: Node.js SDK, REST API 등) • 설정하신
max_call_duration
값과 이를 적용한 SIP 참가자 또는 트렁크에 대한 자세한 정보를 알려주실 수 있을까요? • 혹시 오류 메시지나 예상과 다른 동작이 있었다면, 그 내용도 함께 공유해 주시면 정말 감사하겠습니다.
l
Python 으로 agent worker 에서 사용하고 있고 오류메세지 없이 전화는 잘 걸리고 있어
t
Python에서 `max_call_duration`이 작동하지 않는 문제로 고민하고 계시군요. 함께 차근차근 확인해 보면서 해결해 볼까요? 1. 올바른 지속 시간 형식 확인: `max_call_duration`은
google.protobuf.Duration
형식으로 설정되어야 해요. Python에서는
duration_pb2.Duration()
클래스를 사용해 초 또는 나노초 단위로 설정할 수 있답니다. 예를 들어:
Copy code
from google.protobuf import duration_pb2

max_duration = duration_pb2.Duration()
max_duration.FromSeconds(3600)  # 1시간
만약 형식이 맞지 않으면 값이 무시될 수 있으니 꼭 확인해 주세요. 1. 매개변수 위치 확인: `max_call_duration`이 올바른 요청 객체에 포함되어 있는지 확인해 주세요. 예를 들어: • 아웃바운드 통화 시: `CreateSIPParticipantRequest`에 설정 • 인바운드 통화 시: SIP 트렁크 설정의 `SIPInboundTrunkInfo`에 설정 1. 서버 측 적용 확인: `max_call_duration`은 LiveKit 서버에서 적용되는 부분이에요. 최대 24시간으로 제한되어 있으니 설정한 값이 이 범위를 넘지 않는지 꼭 확인해 주세요. 2. SDK 및 API 사용 확인: 사용 중인 Python SDK 버전이
max_call_duration
필드를 지원하는지도 점검해 보시면 좋아요. 3. 로깅 및 디버깅: 통화가 시작된 후 `SIPCallInfo`를 통해 `max_call_duration`이 제대로 설정되었는지 확인해 보세요. 만약 여전히 문제가 해결되지 않는다면, LiveKit 서버 버전이나 중간에 있는 SIP 프록시, 공급자가 세션 타이머를 재정의하는지, 또는
ringing_timeout
같은 다른 타임아웃 설정으로 인해 통화가 조기에 종료되는 것은 아닌지 살펴보는 것도 도움이 될 거예요. 언제든지 궁금한 점 있으시면 편하게 말씀해 주세요! Sources: SIP APIs | LiveKit Docs | rpc/io.pb.go | pkg/sip/participant.go
l
통화가 진행중에 해당 초를 넘으면 통화가 종료되길 기대했는데 전혀 작동하지 않아
t
통화가 지정된 시간을 초과해도 종료되지 않는 문제를 함께 해결해 나가고자 몇 가지 추가 정보를 부탁드려도 될까요? • 현재 설정하신
max_call_duration
값이 몇 초인지 알려주실 수 있을까요? • 통화가 종료되지 않는 SIP 참가자가 아웃바운드 통화인지, 인바운드 통화인지도 함께 알려주시면 큰 도움이 될 것 같아요. • 사용 중인 LiveKit 서버 버전과 Python SDK 버전도 공유해 주시면 감사하겠습니다. • 또한, 통화가 종료되지 않는 동안 발생한 로그나 관련 이벤트가 있다면 제공해 주시면 문제를 더 잘 이해하는 데 큰 도움이 됩니다. 이 정보를 주시면 문제를 더 정확히 파악하고 빠르게 해결 방안을 찾아드릴 수 있을 거예요. 언제든지 편하게 말씀해 주세요!
l
아웃바운드 통화고 120초로 지정했어
t
I don't have the answer you're looking for. You could also try asking your question: • in one of the other Slack channels or • to https://deepwiki.com/livekit/livekit_composite which is trained on all LiveKit source code If you find the answer, please post it here to help others!