Sun'iy intellekt

OpenAI GPT-Live uchun SIP trunk orqali chiqish qo'ngiroqlari hamma tashkilotlarga ochildi

7-noyabr, 2026, 06:374 ko'rish5 daqiqa o'qish
OpenAI GPT-Live uchun SIP trunk orqali chiqish qo'ngiroqlari hamma tashkilotlarga ochildi

OpenAI yaqinda GPT-Live platformasiga yangi imkoniyat qo'shdi: SIP trunk orqali chiqish (outbound) telefon qo'ngiroqlarini amalga oshirish. Bu yangilik nafaqat korporativ mijozlar, balki kichik startaplar ham o'z ovozli xizmatlarini AI bilan birlashtirishga imkon beradi.

Texnik kontekst va asosiy tamoyillar

SIP (Session Initiation Protocol) - internet orqali ovozli va video aloqalarni boshqarish uchun keng qo'llaniladigan protokol. OpenAI bu protokolni TLS (Transport Layer Security) bilan himoyalangan signalizatsiya va SRTP (Secure Real-time Transport Protocol) bilan shifrlangan audio oqimi uchun qo'llaydi. Natijada, foydalanuvchi ma'lumotlari va ovozli kontent xavfsiz uzatiladi.

123456789101112131415{
  "object": "event",
  "id": "evt_abc123",
  "type": "live.transport.incoming",
  "created_at": 1750287018,
  "data": {
    "type": "sip",
    "session_id": "live_123",
    "sip_headers": [
      { "name": "From", "value": "sip:+14155550123@sip.example.com" },
      { "name": "To", "value": "sip:+18005550100@sip.example.com" },
      { "name": "Call-ID", "value": "call-123@example.com" }
    ]
  }
}

Kiruvchi va chiqish qo'ngiroqlarini boshqarish

Platforma ikki turdagi qo'ngiroqlarni qo'llab-quvvatlaydi: kiruvchi (incoming) va chiqish (outbound). Kiruvchi qo'ngiroq kelganda, OpenAI webhook orqali live.transport.incoming hodisasini yuboradi. Backend bu webhookni tasdiqlaydi, imzo tekshiradi va qo'ngiroqni qabul yoki rad etish qarorini beradi.

123456789{
  "session": {
    "type": "live",
    "model": "gpt-live-1",
    "instructions": "You are answering an inbound support call.",
    "audio": { "output": { "voice": "marin" } },
    "delegation": { "type": "client" }
  }
}

Chiqish qo'ngirogida esa, backend /v1/live/sessions endpointiga POST so'rovi yuboradi, telefon raqamini E.164 formatida ko'rsatadi va SIP trunk ma'lumotlarini birga uzatadi. Bu jarayonda kiruvchi webhook yoki qabul so'rovi talab qilinmaydi.

123456789101112131415161718192021222324252627jq -n \
  --arg username "$SIP_USERNAME" \
  --arg password "$SIP_PASSWORD" \
  '{
    "session": {
      "model": "gpt-live-1",
      "instructions": "Help the user schedule an appointment.",
      "audio": { "output": { "voice": "marin" } },
      "delegation": { "type": "client" }
    },
    "transport": {
      "type": "sip",
      "destination": "+14155550123",
      "trunk": {
        "provider_url": "sips:sip.example.com:5061",
        "auth": {
          "type": "digest",
          "username": $username,
          "password": $password
        },
        "caller_number": "+14155550100"
      }
    }
  }' | curl https://api.openai.com/v1/live/sessions \
    -H "Authorization: Bearer $OPENAI_API_KEY" \
    -H "Content-Type: application/json" \
    --data-binary @-

Integratsiya bosqichlari

  • Trunk sozlamalari – Twilio yoki boshqa SIP provayderidan telefon raqami sotib olib, uni OpenAI loyihasiga bog'lash. Provayderning SIP URI manzilini sip:PROJECT_ID@sip.api.openai.com;transport=tls shaklida kiritish kerak.
  • Webhook yaratish – OpenAI sozlamalarida live.transport.incoming hodisasiga obuna bo'ladigan endpointni belgilash.
  • Qo'ngiroqni qabul qilish – /v1/live/sessions/{session_id}/accept so'rovi bilan sessiyani tasdiqlash, ovoz modelini (gpt-live-1) va ovoz variantini (masalan, marin) belgilash.
  • Sideband WebSocket – wss://api.openai.com/v1/live/sessions/{session_id}/attach manziliga ulanib, transkript, delegatsiya, vositalar va qo'shimcha buyruqlarni uzatish.
  • Qo'ngiroqni yakunlash – kerak bo'lganda /reject endpointi orqali SIP status kodini (masalan, 486 – busy) yuborish.

Sideband aloqasi va vositalar

SIP audio oqimini tashiydi, lekin transkript, vosita chaqiruvlari va boshqa interaktiv elementlar sideband WebSocket orqali amalga oshiriladi. Bu ikki qatlamli arxitektura bir vaqtning o'zida real vaqtli ovozli suhbat va AI yordamchi funksiyalarini qo'llab-quvvatlaydi.

1234{
  "session": { "id": "live_123" },
  "transport": { "type": "sip" }
}

Raqobatchilar bilan taqqoslash

Avvalgi AI ovozli platformalar, masalan, Google Dialogflow yoki Amazon Connect, o'zlarining maxsus SIP gateway yoki telekom provayderi integratsiyasini talab qilgan. OpenAI ning yondashuvi standart SIP trunk va TLS/SRTP protokollariga asoslanadi, bu esa ko'proq provayderlar bilan mos keladi va qo'shimcha konfiguratsiya xarajatlarini kamaytiradi.

POST https://my_website.com/webhook_endpoint
user-agent: OpenAI/1.0 (+https://platform.openai.com/docs/webhooks)
content-type: application/json
webhook-id: wh_685342e6c53c8190a1be43f081506c52 # unique id for idempotency
webhook-timestamp: 1750287078 # timestamp of delivery attempt
webhook-signature: v1,K5oZfzN95Z9UVu1EsfQmfVNQhnkZ2pj9o9NDN/H/pI4= # signature to verify authenticity from OpenAI

{
  "object": "event",
  "id": "evt_685343a1381c819085d44c354e1b330e",
  "type": "realtime.call.incoming",
  "created_at": 1750287018, // Unix timestamp
  "data": {
    "call_id": "some_unique_id",
    "sip_headers": [
      { "name": "From", "value": "sip:+142555512112@sip.example.com" },
      { "name": "To", "value": "sip:+18005551212@sip.example.com" },
      { "name": "Call-ID", "value": "03782086-4ce9-44bf-8b0d-4e303d2cc590"}
    ]
  }
}

Cheklovlar va ochiq savollar

  • Trunk provayderi TLS signalizatsiya va SDES‑SRTP media qo'llab-quvvatlashi shart; ba'zi kichik provayderlar bu standartlarni taklif qilmasligi mumkin.
  • Audio formatini SIP darajasida kelishib olish kerak; OpenAI audio.format parametrini o'z ichiga olmaydi, shuning uchun provayderning codec sozlamalari muhim.
  • Webhook tasdiqlash jarayoni va duplikatlarni filtratsiya qilish uchun maxsus kod yozish talab etiladi.
  • Chiqish qo'ngirogida live.call.incoming kabi eskirgan hodisalar hali ham ba'zi integratsiyalarda ko'rinishi mumkin; migratsiya strategiyasi ishlab chiqilishi zarur.

Kimlarga foyda keltiradi?

Bu funksional imkoniyat quyidagi foydalanuvchilarga mo'ljallangan:

1
2
3
4
5
6
7
8curl -X POST "https://api.openai.com/v1/realtime/calls/$CALL_ID/accept" \
  -H "Authorization: Bearer $OPENAI_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{
        "type": "realtime",
        "model": "gpt-realtime-2.1",
        "instructions": "You are Alex, a friendly concierge for Example Corp."
      }'
  • Texnik qo'llab-quvvatlash markazlari – mijozlarga AI asosida real vaqtli ovozli yordam ko'rsatish.
  • Call‑center operatorlari – avtomatik transkript va AI tavsiyalarini qo'ngiroq davomida olish.
  • Dasturchilar – o'z backend tizimlarini GPT-Live bilan birlashtirib, ovozli botlar yaratish.
  • Startaplar – katta infratuzilmasiz, bulut asosidagi AI ovozli xizmatlarni tezda ishga tushirish.

Kelajakdagi rivojlanish yo'nalishlari

OpenAI kelajakda SIP trunk orqali video qo'ngiroqlarni ham qo'llab-quvvatlashni rejalashtirishi mumkin, bu esa multimediya asosidagi mijoz tajribasini yanada boyitadi. Shuningdek, SRTP o'rniga ZRTP yoki DTLS‑SRTP kabi yanada kuchli shifrlash protokollarini joriy etish xavfsizlik darajasini oshiradi.

1
2
3
4curl -X POST "https://api.openai.com/v1/realtime/calls/$CALL_ID/reject" \
  -H "Authorization: Bearer $OPENAI_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{"status_code": 486}'

Xulosa

OpenAI ning SIP trunk orqali chiqish qo'ngiroqlari funksiyasi AI ovozli xizmatlarni kengaytirish uchun muhim qadam hisoblanadi. Standart protokollar, xavfsiz TLS/SRTP aloqasi va sideband WebSocket integratsiyasi birgalikda kuchli, moslashuvchan va xavfsiz platformani yaratadi. Dasturchilar va biznes egalari bu imkoniyatni o'z tizimlariga qo'shish orqali mijozlarga yanada samarali va interaktiv ovozli tajriba taqdim etishlari mumkin.

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16import WebSocket from "ws";

const callId = "rtc_u1_9c6574da8b8a41a18da9308f4ad974ce";
const ws = new WebSocket(`wss://api.openai.com/v1/realtime?call_id=${callId}`, {
  headers: {
    Authorization: `Bearer ${process.env.OPENAI_API_KEY}`,
  },
});

ws.on("open", () => {
  ws.send(
    JSON.stringify({
      type: "response.create",
    })
  );
});

Asl manba: developers.openai.com

Manba: Hacker News
#OpenAI #GPT-Live #SIP #API #voice
Telegram da muhokama qilish