Open in
Свързване чрез SIP (без телефонен номер)
Изпращайте обаждания към агент на ThunderPhone директно от вашата PBX система, доставчик или SIP приложение чрез еднократен SIP URI за всяко обаждане или постоянен SIP адрес.
Ако вашата собствена система вече обработва телефонни номера (PBX, платформа за контактен център или акаунт при телекомуникационен оператор, в който ротирате номера), можете да изпращате обаждания към агент на ThunderPhone чрез стандартен SIP. Не импортирате и не купувате номер в ThunderPhone. Вашата система набира SIP адрес и агентът отговаря.
Има два вида SIP адреси:
| SIP URI за всяко обаждане | SIP крайна точка | |
|---|---|---|
| Изглежда като | sip:c-<token>@sip.thunderphone.com | sip:agent-<id>-<letters>@sip.thunderphone.com |
| Създава се с | POST /v1/calls/register-sip, веднъж за всяко обаждане | POST /v1/sip-endpoints, веднъж |
| Удостоверяване | Еднократният токен в адреса | SIP digest потребителско име + парола (и по избор списък с разрешени IP адреси на източника) |
| Подходящо за | Приложения, които вече извикват API преди прехвърляне на обаждане; променливи за всяко обаждане | PBX системи и телекомуникационни оператори, които трябва просто да „насочат trunk“ към ThunderPhone |
| Валидност | 5 минути, едно обаждане | Докато не я изтриете |
И двата вида насочват към един агент във вашата организация и и двата се показват в историята на обажданията като всяко друго входящо обаждане.
SIP URI за всяко обаждане
1. Регистрирайте обаждането
curl -X POST https://api.thunderphone.com/v1/calls/register-sip \
-H "Authorization: Bearer sk_live_YOUR_API_KEY" \
-H "Content-Type: application/json" \
-d '{
"agent_id": 12,
"to_number": "+14155550142",
"variables": {"customer_name": "Ada"}
}'{
"call_id": 862197007562,
"sip_uri": "sip:c-1790372992.Qm3xT8vLk2PzR7nYw4HbJa.uF6sD1gK9eW2cX5vB8nM0q@sip.thunderphone.com",
"expires_at": "2026-09-25T21:49:52Z",
"agent_id": 12,
"to_number": "+14155550142"
}to_number(по избор) е номерът, който обаждащият се е набрал от ваша страна. Той се съхранява като дестинация на обаждането в историята на обажданията, а агентът го вижда като свой собствен номер.variables(по избор) попълват{{placeholders}}в подканата на агента по същия начин, както при изходящи обаждания.call_idе идентификаторът, който обаждането ще има в историята на обажданията (GET /v1/calls/{call_id}), след като се свърже.
2. Наберете URI
Изпратете обаждането към sip_uri в рамките на 5 минути. URI работи само за едно обаждане: след като бъде използван от обаждане, той вече не е валиден, дори ако това обаждане приключи бързо.
Например с Twilio върнете този TwiML за обаждането, което искате да прехвърлите:
<Response>
<Dial>
<Sip>sip:c-1790372992.Qm3xT8vLk2PzR7nYw4HbJa.uF6sD1gK9eW2cX5vB8nM0q@sip.thunderphone.com;transport=tcp</Sip>
</Dial>
</Response>От PBX наберете URI като SIP дестинация. Не са нужни потребителско име или парола; токенът е идентификационните данни, затова третирайте URI като парола, докато не бъде използван.
SIP крайна точка (постоянен адрес)
1. Създайте крайната точка
curl -X POST https://api.thunderphone.com/v1/sip-endpoints \
-H "Authorization: Bearer sk_live_YOUR_API_KEY" \
-H "Content-Type: application/json" \
-d '{"agent_id": 12, "name": "Main PBX"}'{
"id": 7,
"name": "Main PBX",
"agent_id": 12,
"sip_uri": "sip:agent-12-jhxmginwjx@sip.thunderphone.com",
"username": "tp409667538f83",
"password": "8mJ0…",
"allowed_source_cidrs": [],
"status": "active",
"created_at": "2026-09-25T21:46:18Z"
}2. Насочете системата си към нея
Конфигурирайте SIP trunk или дестинация със следното:
| Настройка | Стойност |
|---|---|
| SIP URI | sip_uri на крайната точка |
| Потребителско име / парола | username / password (digest удостоверяване; ThunderPhone изпраща заявка за удостоверяване при всяко обаждане) |
| Транспорт | TCP на порт 5060 или TLS на порт 5061 (препоръчително), или UDP на порт 5060 |
| Кодеци | G.711 (PCMU/PCMA) или G.722 |
Тези настройки за транспорт и кодеци се прилагат и за URI адресите за отделни обаждания. Два мрежови детайла са важни и за двата типа адреси:
- Следвайте Record-Route. След първия INVITE останалата сигнализация на
обаждането (ACK, прекратяване, прехвърляния) се изпраща до конкретния сървър на
ThunderPhone, който е отговорил и е посочен в заглавката
Record-Route(sip-1.thunderphone.comилиsip-2.thunderphone.com, или неговия IP адрес). Ако ограничавате изходящата SIP сигнализация, разрешете и тези хостове наред сsip.thunderphone.com:172.170.39.202(sip),13.86.104.121(sip-1) и20.80.98.90(sip-2). - Аудиото се предава другаде.
sip.thunderphone.comпренася само сигнализацията. Разрешете медията (RTP) към адресите и портовете в SDP отговора.
Всяко обаждане до адреса достига агента на крайната точка, независимо кой номер е набрал обаждащият се във вашата система. Никога не импортирате номера, така че смяната им от ваша страна не изисква промяна в ThunderPhone.
Предайте набрания номер (по избор)
За да запишете кой от вашите номера е набрал обаждащият се, изпратете го в INVITE
заявката чрез заглавка X-Original-To (например X-Original-To: +14155550142)
или чрез стандартна заглавка Diversion. ThunderPhone го съхранява като
дестинация на обаждането.
Дестинацията се избира в следния ред: to_number, подаден при регистриране на
URI за отделно обаждане, след това номер в X-Original-To, след това номер в
Diversion. Ако никое от тях не съдържа номер, за крайна точка се показва
sip:agent-12-jhxmginwjx (адресът на крайната точка), а за URI за отделно
обаждане — sip:call.
С Twilio можете да добавите заглавката към SIP URI адреса:
sip:agent-12-jhxmginwjx@sip.thunderphone.com;transport=tcp?X-Original-To=%2B14155550142.
Ограничете IP адресите на източника (по избор)
Задайте allowed_source_cidrs, за да приемате обаждания само от собствените си
адреси за сигнализация, в допълнение към потребителското име и паролата:
curl -X PATCH https://api.thunderphone.com/v1/sip-endpoints/7 \
-H "Authorization: Bearer sk_live_YOUR_API_KEY" \
-H "Content-Type: application/json" \
-d '{"allowed_source_cidrs": ["203.0.113.0/28"]}'Обажданията от всеки друг адрес се отказват, преди да достигнат до агента. Използвайте адресите, от които вашата система изпраща SIP сигнализацията (за доставчик като Twilio — публикуваните от него диапазони IP адреси за сигнализация), а не адресите за медия.
Какво виждат обаждащите се и вашата система
- Идентификатор на обаждащия се: потребителската част на заглавката
Fromсе съхранява като обаждащ се. Телефонен номер (цифри, по избор с+, интервали, тирета, точки или скоби) се нормализира до E.164; всичко останало, като SIP потребителско име, се запазва както е изпратено. Запазват се най-много 32 знака, а липсващ обаждащ се се съхранява катоanonymous. - Отказани обаждания: непознат или изтекъл URI за отделно обаждане получава SIP
404 Not Found. Вече използван URI за отделно обаждане, деактивирана крайна точка или източник извън списъка с разрешени адреси (включително всяко UDP обаждане към крайна точка със списък с разрешени адреси) се прекъсва преди стартирането на агента: вашата система може да отчете неуспешно обаждане или да се свърже и след това веднага да прекрати връзката. Тези откази не създават запис в хронологията на обажданията. Ако организацията ви няма наличен кредит или е достигнала лимита си за разходи, обаждането се отказва и се показва в хронологията на обажданията като неуспешно обаждане без такса. За да опитате отново обаждане към URI за отделно обаждане, регистрирайте нов URI. - Прехвърляния: студените прехвърляния на агента работят (ThunderPhone изпраща SIP
REFER, който вашата система трябва да приеме). Топлите прехвърляния не са налични при обаждания към SIP адреси, защото няма номер на ThunderPhone, който да се показва като идентификатор на обаждащия се за второто направление. При Twilio TwiML по-горе свързва агента, но не обработва прехвърляния: добаветеreferUrl="https://YOUR_SERVER/sip-transfer"към<Dial>и накарайте тази уеб кука да прочетеReferTransferTargetи да върне TwiML, който набира дестинацията за прехвърляне (вижте ръководството на Twilio за SIP REFER). - Текстови съобщения: SIP адресът и набраният номер не могат да изпращат текстови съобщения. Агентът може да изпраща текстови съобщения по време на обаждане към SIP адрес само ако има отделен номер с възможност за SMS, настроен за изпращане на съобщения; в противен случай неговият SMS инструмент е недостъпен.
- Регистрация: ThunderPhone не приема SIP
REGISTER. Изпращайте обаждания към адреса; не се регистрирайте към него.
Ценообразуване
Обажданията към SIP адреси се таксуват по обичайната цена на агента за минута. Няма такса за телефонен номер, защото обаждането не се осъществява чрез номер на ThunderPhone. Вашият собствен оператор таксува своята страна на обаждането както обикновено. Вижте Ценообразуване.
Тествайте
- Създайте URI за отделно обаждане или крайна точка, както е описано по-горе.
- Наберете го от вашата система или от който и да е SIP софтуерен телефон (за крайна точка въведете потребителското име и паролата).
- След като затворите, отворете обаждането в Обаждания в таблото за управление или го извлечете
с
GET /v1/calls/{call_id}. Показват се обаждащият се, дестинацията (вижте реда в „Подайте набрания номер“) и транскрипцията.
Подробности за API: Справочник за API за SIP адреси.