여기에 Twilio 전도사가 있습니다.
이것은 use some <Conference>
s에 좋은 장소 인 것처럼 들립니다.
시나리오의 액터를 Agent1, Agent2, Field로 정의 할 수 있습니다.
Field는 Agent1을 호출합니다. 두 개를 직접 <Dial>
에 연결하는 대신 <Dial>
필드를 <Conference>
(ConferenceA)으로 호출 한 다음 REST API를 사용하여 Agent1에 대한 아웃 바운드 호출을 시작할 수 있습니다. 그들이 대답 <Dial>
그들에게 같은 <Conference>
로 대답하면. 시스템은 Agent1과 Field의 CallSid와 <Conference>
의 Sid를 가져와 나중에 사용할 수 있도록 일부 유형의 저장소에 유지해야합니다.
이 시나리오에서 <Conference>
을 사용하면 <Dial>
을 사용하여 Field와 Agent1을 연결하는 경우와는 별도로 호출의 각 레그를보다 유연하게 조작 할 수 있습니다.
이제 Agent2가 Field를 호출합니다. Agent2는 동일한 프로세스를 거치며 역순으로 진행됩니다. Agent2는 <Conference>
으로 전화를 걸었고 (ConferenceB로 전화를 걸 수 있음) 시스템에서 REST API를 사용하여 Field를 호출했습니다. 필드가 응답하면 <Dial>
이 Agent2와 같은 회의에 참가하게됩니다. 다시 시스템은 Agent2와 Field의 CallSid와 <Conference>
의 Sid를 가져 와서 나중에 사용할 수있는 저장 장치 유형으로 유지해야합니다.
이제 필드에는 Agent1과 Agent2를 연결하도록 시스템에 지시하는 방법이 필요합니다. 이를 위해 ConferenceB에 필드를 다이얼 할 때 TwilIO를 TwiML에서 hangupOnStar 속성 인 <Dial>
을 사용할 수 있습니다.
이
<Dial hangupOnStar="true" action="[process_hangup_url]">
<Conference>ConferenceB</Conference>
</Dial>
hangupOnStar들이 <Dial>
에드 (회의)가, 여전히 <Dial>
동사의 action 속성에 정의 된 URL에 요청을 누구로부터 호출 (필드)을 분리 Twilio을 알려줍니다 것처럼 <Dial>
동사가 보일 것입니다 . 이는 Field가 Agent1을 통해 Conference2로 Agent2를 리다이렉트하도록 시스템에 알려야 할 때 중요하며, action 속성의 URL에 대한 요청은 시스템이 Field에 프롬프트하여 원하는 작업인지 확인하도록합니다. 이 필드를 하나의 시스템 (여기에 관련 당사자 모두의 CallSids을 모두 알고 있으며, 회의 실용 기자재)를 누르면
<Response>
<Gather action=[gather_handler]>
<Say>Press 1 to connect this caller to another<Say>
</Gather>
</Response>
경우, REST를 사용할 수 있습니다 그래서 당신은 Twilio는 다음과 같이 몇 가지 TwiML을 실행해야 할 수도 있습니다 상담원 2를 ConferenceB에서 ConferenceA로 리디렉션하는 API입니다.
시스템의 복잡성은 조금 더 복잡해 지지만 제대로 작동해야합니다.
을하는 데 도움이
희망이 코드는 미래의 독자를 지원하기 위해 작동하는 이유를 설명 할 수? – WhatsThePoint