ThunderPhone 2.0을 출시했습니다.셀프서비스로, 분당 2¢부터.출시 소식 보기

Connect tools & data

VoIP 제공업체 연결

이미 사용 중인 제공업체를 연결합니다(API 키로 Twilio 또는 Telnyx, SIP를 통해 SignalWire, Vonage, Plivo 또는 모든 SIP 트렁크). 또는 가이드 설정으로 새 Telnyx 계정을 개설합니다.

프로덕션 트래픽은 자체 VoIP 제공업체를 통해 보유한 번호에서 실행해야 합니다. 대시보드의 연결 → VoIP 페이지 (/dashboard/voip-connections)에서 제공업체 계정을 연결한 후, 수신 및 발신 통화를 지원하는 번호를 가져옵니다.

새 연결을 클릭하고 다음 두 경로 중 하나를 선택합니다. 이미 사용 중인 공급업체 연결 또는 새 Telnyx 계정 설정.

이미 사용 중인 공급업체 연결

번호가 등록된 공급업체를 선택합니다.

공급업체연결 방식
TwilioAPI 키: Account SID와 Auth Token을 붙여넣습니다
TelnyxAPI 키: v2 API 키를 붙여넣습니다
SignalWireSIP 설정
VonageSIP 설정
PlivoSIP 설정
기타 공급업체다른 통신사 또는 운영 중인 PBX를 위한 ThunderPhone 설정 지원 도구를 사용한 SIP 설정

Twilio 및 Telnyx의 경우 자격 증명을 붙여넣고 연결 및 테스트를 클릭합니다. ThunderPhone이 자격 증명을 확인하고 공급업체 측을 자동으로 구성합니다. Telnyx의 경우 ThunderPhone은 Telnyx 계정에 자체 SIP 연결 하나를 추가하고 (thunderphone-production-<org>-outbound-<id>라는 이름) 이를 통해 발신 전화를 걸므로 Telnyx에서 해당 통화 비용을 청구합니다. 번호가 연결된 Telnyx 연결의 발신 음성 프로필을 사용하므로 해당 프로필의 허용 국가 및 지출 한도가 적용됩니다. 해당 연결에 발신 음성 프로필이 없고 계정에 활성화된 프로필이 정확히 하나만 있으면 ThunderPhone은 그 프로필을 사용합니다. 다른 프로필을 사용하려면 Telnyx 포털에서 해당 연결에 프로필을 할당한 후 ThunderPhone 연결을 다시 저장합니다. 계정에 활성화된 프로필이 없거나 여러 개 있는 경우 Telnyx 포털에서 연결에 프로필 하나를 할당한 후 ThunderPhone 연결을 다시 저장합니다. 그때까지 발신 통화는 outbound_trunk_unavailable 오류와 함께 실패하며, 수신 통화는 계속 작동합니다.

Telnyx가 발신 통화를 거부하는 경우(예: SIP 403 Forbidden), 그 거부는 사용자의 Telnyx 계정에서 발생한 것입니다. 일반적인 원인은 사용 가능한 크레딧이 없거나, 발신자 번호가 해당 Telnyx 계정에 없거나, 발신 음성 프로필에서 목적지 국가를 허용하지 않는 경우입니다.

SignalWire, Vonage 및 Plivo의 SIP 설정

이 세 공급업체를 선택하면 상단에 해당 공급업체의 단계, 공급업체 자체 설정 가이드 링크 및 예시 SIP 도메인이 있는 수동 SIP 양식이 열립니다.

  • SignalWire: 발신 통화용 SIP 자격 증명을 생성하고 SIP 도메인, 사용자 이름 및 비밀번호를 입력한 다음, 각 번호에 수신 통화를 ThunderPhone SIP 엔드포인트로 연결하는 SWML 스크립트를 지정합니다.
  • Vonage: SIP Trunking 대시보드에서 발신 자격 증명이 있는 트렁크를 생성하고 해당 도메인(예: your-trunk.sip-us.vonage.com)과 자격 증명을 입력한 후, ThunderPhone SIP 엔드포인트를 트렁크의 수신 SIP URI로 추가하고 번호를 트렁크에 연결합니다.
  • Plivo: 자격 증명이 있는 발신 트렁크를 생성하고 해당 종료 SIP 도메인(<trunk-id>.zt.plivo.com), 사용자 이름 및 비밀번호를 입력합니다. 기본 URI가 ;transport=tcp가 뒤에 추가된 ThunderPhone SIP 엔드포인트인 수신 트렁크를 생성한 다음, 각 번호의 애플리케이션 유형을 해당 트렁크로 설정합니다.

그 결과 손으로 입력한 연결과 동일하게 테스트 및 검증되는 수동 SIP 연결이 생성됩니다(API에서 provider: "manual"). 연결 카드에는 공급업체 이름이 표시됩니다. 예: SignalWire · SIP.

새 Telnyx 계정 설정

아직 공급업체가 없으신가요? 가이드 흐름에 따라 Telnyx 계정을 개설하고 연결할 수 있습니다:

  1. 계정 만들기

    Telnyx 가입 열기를 클릭하고 계정을 만든 다음 "계정을 만들었습니다."를 선택합니다.

  2. API 키 받기

    API 키 페이지 열기를 클릭하고 키를 생성한 후 API 키(v2) 필드에 붙여넣습니다. 필요에 따라 연결 이름을 지정합니다.

  3. 연결 및 테스트

    연결 및 테스트를 클릭합니다 — ThunderPhone이 자격 증명을 확인하고 저장하기 전에 Telnyx 측에서 필요한 항목을 프로비저닝합니다.

Telnyx에서 ThunderPhone이 설정하는 항목

자체 연결 ID를 입력하지 않는 한, Telnyx의 두 경로(가이드 설정 및 API 키 붙여넣기)는 Telnyx 계정에 동일한 항목을 남깁니다. 즉, thunderphone-<your organization id>라는 이름의 SIP 연결 하나입니다. 이 연결은 FQDN 레코드가 ThunderPhone의 SIP 엔드포인트를 가리키는 FQDN 연결이며, 가져오는 모든 번호가 이 연결에 할당됩니다. Telnyx는 해당 번호의 통화를 SIP를 통해 ThunderPhone으로 직접 보냅니다.

  • 웹훅 필드는 의도적으로 비어 있습니다. 웹훅, Call Control 애플리케이션, TeXML 애플리케이션 또는 등록된 SIP 전화는 사용되지 않습니다.
  • 가져온 번호를 다른 연결 또는 애플리케이션으로 옮기지 말고, 해당 연결에 기기를 등록하지 마십시오.
  • 연결할 때 자체 연결 ID를 입력한 경우 ThunderPhone은 대신 해당 연결을 사용하며 절대 변경하지 않습니다. 이 연결은 ThunderPhone SIP 엔드포인트를 가리키는 FQDN 연결이어야 합니다.

2026년 8월 30일 이전에 ThunderPhone이 생성한 thunderphone-… 연결은 통화를 수신할 수 없는 자격 증명 연결이었습니다. 연결이 아직도 자격 증명 연결로 표시되면 지원팀에 문의하면 변환해 드립니다.

수동 SIP 구성

SignalWire, Vonage 및 Plivo 타일에서 이 양식이 열리며, 기타 제공업체 아래의 모든 설정을 직접 입력하겠습니다를 선택해도 열립니다. DIDWW 또는 직접 운영하는 PBX를 포함해 모든 SIP 트렁크를 사용할 수 있습니다. 연결 이름, SIP 도메인 / URI, 선택 사항인 사용자 이름과 비밀번호, 포트 및 전송 방식을 입력합니다. 고급 설정에서 미디어 암호화(SRTP)를 추가할 수 있습니다. 이 양식에는 트렁크가 수신 전화를 보내야 하는 SIP 주소도 표시됩니다. sip.thunderphone.com이며, UDP 또는 TCP는 포트 5060, TLS는 포트 5061을 사용합니다. TLS를 사용하면 SIP 시그널링은 ThunderPhone이 통화를 처리하는 LiveKit Cloud까지 암호화된 상태로 유지됩니다. 오디오는 sip.thunderphone.com을 거치지 않으므로 SRTP는 이전과 동일하게 작동합니다. 각 통화는 E.164 형식의 발신 번호로 지정하며, 요청 줄과 To 헤더 모두에 +를 포함한 동일한 번호를 사용합니다. 예: sip:+14155550142@sip.thunderphone.com. +가 있어야 ThunderPhone이 올바른 리전에서 통화를 처리할 수 있습니다(IP 허용 목록 아래 참고). 이전에 <your-project>.sip.livekit.cloud 주소로 설정한 트렁크는 허용된 소스 IP가 비어 있는 동안 계속 작동하므로 변경할 필요가 없습니다. ThunderPhone은 이 설정을 LiveKit Cloud의 전용 SIP 트렁크 쌍으로 변환합니다. 연결 번호에서 발신하는 통화는 자격 증명을 사용하여 SIP 도메인으로 연결되며, 해당 번호로 수신되는 통화는 선택 사항인 허용된 소스 IP 필드를 입력하지 않는 한 모든 주소에서 허용됩니다. 이동통신사가 고정 시그널링 IP를 게시하는 경우에만 이 필드를 입력합니다. 목록이 잘못되었거나 불완전하면 ThunderPhone이 이동통신사의 수신 통화를 거부합니다. 두 개의 버튼이 주요 작업을 수행합니다:

  • AI 설정 가이드 생성 — 필요한 트렁크 측 구성에 관한 제공업체별 지침을 작성합니다.
  • 연결 테스트 및 저장 — SIP 엔드포인트가 공용 주소로 확인되는지, TCP/TLS의 경우 선택한 포트에서 연결을 수락하는지 확인한 후 저장합니다(UDP 호스트는 DNS 확인만 수행). 연결에 아직 번호가 없으므로 아직 전화를 걸 수 없습니다. 실제 검증은 가져오기 시점에 이루어집니다(아래 참조).

나중에 연결을 수정하면 저장하기 전에 변경한 설정에 대해 동일한 검사를 다시 실행한 다음 트렁크를 다시 구축하고, 백그라운드에서 짧은 테스트 통화로 연결의 모든 번호를 다시 검증합니다. 테스트 통화가 성공할 때까지 번호는 프로비저닝 중으로 표시됩니다. 연결됨 상태의 연결에서 허용된 소스 IP만 변경하는 경우는 다릅니다. 발신 통화에는 전혀 영향을 주지 않으므로 ThunderPhone이 즉시 수신 트렁크의 목록을 업데이트하고 번호는 활성 상태로 유지됩니다. 해당 번호의 수신 통화 테스트는 테스트하지 않음으로 재설정됩니다. 새 목록이 통화를 허용하는지 확인하려면 테스트를 다시 실행하거나 이동통신사를 통해 실제 통화를 연결합니다. 목록에 따라 테스트 통화가 거부될 경우 테스트가 실패합니다. 저장된 비밀번호는 다시 표시되지 않습니다. 비밀번호를 유지하려면 비밀번호를 비워 두고, IP 인증 트렁크의 경우 "저장된 비밀번호 삭제"를 선택합니다.

IP 허용 목록 및 트렁크 인증

일부 통신사(DIDWW, Telnyx IP 인증 연결, 방화벽 뒤의 대부분의 PBX)는 허용 목록에 추가한 주소에서 발생하는 SIP 트래픽만 수락하거나 소스 IP로 발신 통화를 인증합니다. ThunderPhone은 두 가지 주소 집합을 사용합니다.

SIP 엣지. sip.thunderphone.com으로 보내는 수신 통화는 SIP 시그널링만 처리하는 ThunderPhone의 SIP 엣지를 통과합니다. 첫 번째 INVITE는 sip.thunderphone.com으로 전송되며, 나머지 통화 시그널링(ACK, 통화 종료, 전송)은 통신사와 통화를 수신한 엣지 서버인 sip-1 또는 sip-2 사이에서 이루어집니다. 방화벽에서 SIP 시그널링을 필터링하는 경우 UDP 및 TCP 포트 5060과 TLS 포트 5061에서 세 주소를 모두 허용하세요.

호스트IP 주소
sip.thunderphone.com172.170.39.202
sip-1.thunderphone.com13.86.104.121
sip-2.thunderphone.com20.80.98.90

LiveKit Cloud. 모든 통화의 오디오(RTP)와 발신 통화의 SIP 시그널링은 SIP 엣지를 거치지 않고 통신사와 LiveKit Cloud 사이에서 처리됩니다. SIP 시그널링과 미디어 모두에 대해 아래의 모든 범위를 허용하세요.

IP 범위
143.223.88.0/21
161.115.160.0/19
153.57.128.0/18

LiveKit은 이러한 범위를 Realtime, SIP 시그널링 및 미디어, 웹훅에 적용하며, 캐나다, EU, 인도, 일본 및 미국 리전에서 처리되는 통화를 포함합니다. 고정된 엔드포인트의 리전 이름은 canada, eu, india, japan, us입니다.

트렁크 자체에 대한 몇 가지 일반적인 원칙은 다음과 같습니다.

  • ThunderPhone은 등록하지 않습니다. ThunderPhone은 통신사에 SIP REGISTER를 전송하지 않으므로, 트렁크를 등록 방식이 아닌 IP 기반 및/또는 자격 증명(사용자 이름 + 비밀번호) 인증으로 구성하세요.
  • 발신 통화에는 자격 증명을 사용해야 합니다. 통신사 측에서 사용자 이름/비밀번호 인증을 활성화하고 수동 SIP 양식에 동일한 값을 입력하세요. IP 허용 목록은 유일한 수단이 아니라 두 번째 계층으로 취급하세요. 지원되는 리전 외부의 대상에 대한 발신 통화는 다른 주소에서 시작될 수 있습니다.
  • 수신은 반대 방향입니다. 양식의 선택 사항인 허용된 소스 IP 필드에 통신사의 시그널링 주소를 입력하면 ThunderPhone은 해당 주소에서 온 통화만 수락합니다. IP 주소 또는 CIDR 범위를 입력하세요. 호스트 이름은 일치하지 않습니다. 통신사가 고정 목록을 제공하는 경우가 아니면 비워 두세요. ThunderPhone은 모든 수신 통화에서 SIP 엣지가 확인하는 주소와 목록을 대조하므로, 목록을 설정한 후에는 통화를 sip.thunderphone.com으로 보내세요. 목록에 없는 주소에서 온 통화 또는 <your-project>.sip.livekit.cloud 주소로 직접 전송된 통화는 거부됩니다. 통화가 실패하거나 연결된 직후 종료됩니다.

이 범위는 LiveKit의 리전, 리전별 엔드포인트 및 고정 IP에서 게시합니다. ThunderPhone은 매주 해당 페이지를 확인하고 변경 시 이 가이드를 업데이트합니다.

연결 후

Phone Numbers → Add number → Connect VoIP provider에서 번호를 가져오거나 연결에서 바로 가져옵니다. 가져온 각 번호는 활성화되기 전에 검증됩니다. 수동 SIP 연결의 경우, 검증 과정에서 해당 번호에서 SIP 트렁크를 거쳐 ThunderPhone 번호로 짧은(몇 초) 테스트 전화를 발신합니다. 이를 통해 사용자 이름, 비밀번호, 전송 방식 및 통신사의 발신 라우팅이 모두 실제로 작동하는지 확인합니다. 통신사는 이 통화를 다른 통화와 동일하게 청구합니다.

통신사가 이를 거부하면 번호는 Provisioning 상태로 유지되며, 전화번호 페이지에 통신사의 응답이 표시됩니다(예: "ThunderPhone의 자격 증명을 거부했습니다(SIP 401)"). 연결을 수정한 후 다시 검증합니다. 통신사가 트렁크를 수락하지만 라우팅 요금제가 ThunderPhone의 테스트 번호를 지원하지 않는 경우(DIDWW가 "라우팅 요금제에서 대상 번호를 차단했습니다"라고 응답), 번호는 Verified · carrier accepted 상태로 표시됩니다. 이 번호는 사용할 수 있지만 다른 대상 번호로의 통화는 테스트되지 않았습니다. 이 통화는 트렁크가 해당 번호로 통화를 발신할 수 있음을 증명하지만, 해당 번호의 소유권을 증명하지는 않으며 번호로 수신되는 통화도 테스트하지 않습니다. 아래의 선택적 수신 테스트에서 이를 확인합니다. 검증된 번호는 수신 및 발신을 지원하므로 아웃바운드 캠페인과 프로그래밍 방식의 아웃바운드 통화를 사용할 수 있습니다.

수신 통화 테스트

번호 확인을 선택하면 수신 통화도 테스트할 수 있는 대화 상자가 열립니다. 이 테스트는 번호로 전화를 걸어 통화가 ThunderPhone에 도달하는지 확인한 뒤 에이전트를 시작하지 않고 전화를 끊습니다.

  • 자체 발신 SIP 트렁크가 있는 번호(수동 SIP 번호 및, ThunderPhone이 Twilio 계정에서 발신 통화를 설정한 후의 Twilio 번호)는 먼저 자기 자신에게 전화합니다. ThunderPhone은 해당 트렁크를 통해 그 번호에서 그 번호로 전화를 겁니다. 대화 상자는 전화를 걸기 전에 이를 안내합니다. 통화는 이동통신사를 통해 나가며, 수신 라우팅이 올바르면 ThunderPhone으로 바로 돌아옵니다. 번호 자체의 발신자 ID로 돌아오는 이 한 통화는 이동통신사가 ThunderPhone의 통화를 해당 번호로 수락하는지와 해당 번호로 걸려온 통화가 어느 국가에서나 ThunderPhone에 도달하는지를 모두 증명합니다. 일부 이동통신사는 번호가 자기 자신에게 거는 통화를 거부하거나 연결하지 않습니다. 이는 라우팅과 무관하므로, ThunderPhone은 대신 자체 번호 중 하나에서 전화를 겁니다. 번호가 다른 곳으로 착신 전환되는 경우 해당 전화는 두 번 울릴 수 있습니다. 먼저 번호 자체의 발신자 ID가 표시되고, 그다음 ThunderPhone의 테스트 번호가 표시됩니다.
  • 그 외 번호(및 위의 대체 방식)는 ThunderPhone 자체 번호 중 하나에서 전화를 받습니다. 현재 ThunderPhone은 이러한 통화를 미국 및 캐나다 번호로만 걸 수 있습니다. 그 외 번호의 경우 테스트는 실행할 수 없었다고 보고하며, 자기 자신에게 거는 통화가 거부된 경우 이동통신사의 응답도 함께 표시합니다.

이동통신사가 중간에 발신자 ID를 변경하면 ThunderPhone은 통화를 인식할 수 없으므로 에이전트가 잠시 통화에 응답할 수 있습니다. 수신 테스트는 선택 사항입니다. 건너뛰어도 번호는 계속 작동합니다. 그러면 전화번호 페이지에 수신 테스트 안 됨으로 표시되며, 나중에 테스트 또는 번호의 수신 통화 테스트 메뉴 항목으로 실행할 수 있습니다. 번호를 가져온 직후 전화번호 페이지에서도 새 번호의 수신 통화를 테스트하라는 메시지가 표시됩니다. 대화 상자에서 확인하기 전까지는 아무 번호에도 전화를 걸지 않습니다.

제공업체가 번호를 다른 곳으로 보내는 경우 ThunderPhone이 전화를 끊기 전까지 해당 대상이 통화당 최대 8초 동안 울릴 수 있습니다. 무언가가 먼저 응답하면(Twilio 앱이 응답한 후 전달하는 경우, 전화 메뉴) 테스트는 전달된 통화가 ThunderPhone에 도달할 때까지 기다립니다. 자기 자신에게 거는 통화는 최대 8초, ThunderPhone 번호에서 거는 통화는 최대 15초 동안 기다립니다. 연결을 변경하거나 번호를 다시 가져올 때까지 결과는 번호에 유지됩니다(수신 통과 또는 실패). 이 경우 상태는 테스트 안 됨으로 재설정됩니다. 연결을 변경하면 백그라운드에서 발신 통화를 다시 확인하지만, 요청 없이 번호로 전화하지는 않습니다.

수신 통화 문제 해결

연결의 테스트 버튼은 자격 증명을 확인하고, 검증은 발신 다이얼링을 확인합니다. 수신을 확인하려면 위의 수신 통화 테스트를 실행하거나 전화기로 해당 번호에 전화를 건 후 통화 기록에서 통화를 찾으십시오. 브라우저 통화 테스트와 봇 간 시뮬레이션은 통신사를 거치지 않으므로 수신이 작동하는지 보여주지 않습니다. 전화번호를 대상으로 하는 시뮬레이션(SIP 루프백)은 통신사를 통해 해당 번호로 실제 전화를 걸므로, 응답된 통화는 수신 라우팅도 테스트합니다.

  • 자신의 이동통신사 안내 메시지가 들림(예: "Verizon에 오신 것을 환영합니다" 또는 "연결하신 번호는 서비스되지 않습니다"): 통화가 ThunderPhone에 도달하기 전에 실패했습니다. 번호가 제공업체 계정에서 활성 상태이며 ThunderPhone 연결 또는 트렁크에 할당되어 있는지 확인하십시오.
  • 통화 중 신호가 들리거나 통화가 응답 없이 종료됨: 제공업체가 통화를 수락했지만 전달하지 못했습니다. Telnyx를 사용하는 경우 Telnyx 포털에서 번호의 연결을 확인하십시오. 위에서 설명한 thunderphone-… FQDN 연결이거나 ThunderPhone SIP 엔드포인트를 가리키는 자체 FQDN 연결이어야 합니다. Twilio를 사용하는 경우 번호는 Voice 웹훅 또는 TwiML 앱이 아니라 ThunderPhone SIP 트렁크에 연결되어 있어야 합니다.
  • 통신사 로그에 404 No trunk found가 표시됨(수동 SIP): 통화는 ThunderPhone에 도달했지만 일치하는 트렁크가 없습니다. 번호가 이 연결로 가져와졌는지, 그리고 트렁크가 sip.thunderphone.com을 가리키는지 확인하십시오. 트렁크가 <your-project>.sip.livekit.cloud 주소를 가리키는 경우 허용된 소스 IP는 비어 있어야 합니다. 목록이 설정되어 있으면 sip.thunderphone.com으로 전송된 통화만 수락됩니다.
  • sip.thunderphone.com의 404 Not Found(수동 SIP): 통화가 전화번호로 주소 지정되지 않았거나 요청 줄과 To 헤더에 서로 다른 번호가 지정되어 있습니다. 위와 같이 두 위치 모두에 다이얼한 번호를 전송하십시오.
  • sip.thunderphone.com의 403 Forbidden: 요청 줄에 다른 호스트가 지정되어 있습니다. 예를 들어 sip:+14155550142@sip.thunderphone.com처럼 통화를 sip.thunderphone.com으로 주소 지정하십시오.
  • 통화가 ThunderPhone에 도달했지만 잘못된 에이전트가 응답하거나 아무도 응답하지 않음: 전화번호에서 해당 번호의 수신 에이전트를 확인하십시오.

앱 내 코파일럿이 번호를 확인할 수 있습니다. 해당 번호로의 통화가 실패하는 이유를 물어보십시오. Telnyx 연결의 경우 조직 관리자에게만 읽기 전용으로 Telnyx가 번호에 할당한 연결도 조회합니다.


다음 단계