{"ariConnection":{"status":"OK","bodyLength":536},"asteriskInfo":"{\n  \"build\": {\n    \"os\": \"Linux\",\n    \"kernel\": \"5.14.21-150500.55.88-default\",\n    \"machine\": \"x86_64\",\n    \"options\": \"OPTIONAL_API\",\n    \"date\": \"2024-12-20 03:06:17 UTC\",\n    \"user\": \"abuild\"\n  },\n  \"system\": {\n    \"version\": \"16.30.0-vici\",\n    \"entity_id\": \"bc:24:11:1b:6c:d4\"\n  },\n  \"config\": {\n    \"name\": \"\",\n    \"default_language\": \"en\",\n    \"setid\": {\n      \"user\": \"\",\n      \"group\": \"\"\n    }\n  },\n  \"status\": {\n    \"startup_time\": \"2026-04-09T09:51:36.098+0600\",\n    \"last_reload_time\": \"2026-04-09T15:43:09.056+0600\"\n  }\n}","channels":{"status":"OK","body":"[\n  {\n    \"id\": \"1775737282.134\",\n    \"name\": \"UnicastRTP/103.108.62.91:9092-0x7fd42c01fb10\",\n    \"state\": \"Up\",\n    \"protocol_id\": \"\",\n    \"caller\": {\n      \"name\": \"\",\n      \"number\": \"\"\n    },\n    \"connected\": {\n      \"name\": \"\",\n      \"number\": \"\"\n    },\n    \"accountcode\": \"\",\n    \"dialplan\": {\n      \"context\": \"default\",\n      \"exten\": \"s\",\n      \"priority\": 1,\n      \"app_name\": \"Stasis\",\n      \"app_data\": \"incomdb-voice-ai\"\n    },\n    \"creationtime\": \"2026-04-09T18:21:22.859+0600\",\n    \"language\": \"en\"\n  },\n  {\n    \"id\": \"1775755098.153\",\n    \"name\": \"UnicastRTP/103.108.62.91:9092-0x7fd43800bc00\",\n    \"state\": \"Up\",\n    \"protocol_id\": \"\",\n    \"caller\": {\n      \"name\": \"\",\n      \"number\": \"\"\n    },\n    \"connected\": {\n      \"name\": \"\",\n      \"number\": \"\"\n    },\n    \"accountcode\": \"\",\n    \"dialplan\": {\n      \"context\": \"default\",\n      \"exten\": \"s\",\n      \"priority\": 1,\n      \"app_name\": \"Stasis\",\n      \"app_data\": \"incomdb-voice-ai\"\n    },\n    \"creationtime\": \"2026-04-09T23:18:18.977+0600\",\n    \"language\": \"en\"\n  }\n]"},"bridges":{"status":"OK","body":"[]"},"externalMediaRtpTest":{"url":"/ari/channels/externalMedia?app=incomdb-voice-ai&external_host=103.108.62.91:9092&format=ulaw&encapsulation=rtp&transport=udp&connection_type=client","status":"OK","statusCode":200,"body":"{\n  \"id\": \"1775815647.186\",\n  \"name\": \"UnicastRTP/103.108.62.91:9092-0x7fd624002f20\",\n  \"state\": \"Down\",\n  \"protocol_id\": \"\",\n  \"caller\": {\n    \"name\": \"\",\n    \"number\": \"\"\n  },\n  \"connected\": {\n    \"name\": \"\",\n    \"number\": \"\"\n  },\n  \"accountcode\": \"\",\n  \"dialplan\": {\n    \"context\": \"default\",\n    \"exten\": \"s\",\n    \"priority\": 1,\n    \"app_name\": \"AppDial2\",\n    \"app_data\": \"(Outgoing Line)\"\n  },\n  \"creationtime\": \"2026-04-10T16:07:27.034+0600\",\n  \"language\": \"en\",\n  \"channelvars\": {\n    \"UNICASTRTP_LOCAL_PORT\": \"16568\",\n    \"UNICASTRTP_LOCAL_ADDRESS\": \"103.108.62.7\"\n  }\n}","note":"✅ ExternalMedia RTP/UDP is supported and working!"},"ariServiceDiagnostics":{"stasisStartCount":2,"externalMediaAttempts":2,"externalMediaSuccesses":2,"externalMediaFailures":0,"lastExternalMediaResult":"OK: channel=1775814949.183, name=UnicastRTP/103.108.62.91:9092-0x7fd59c014b70","bridgeAttempts":2,"bridgeSuccesses":2,"isConnected":true,"approach":"ARI Bridge + ExternalMedia RTP/UDP — universally supported, no AudioSocket modules needed"},"rtpListener":{"isListening":true,"totalRtpPacketsReceived":14841,"totalRtpPacketsSent":8066,"totalSendErrors":0,"totalGreetingsSent":2,"totalBytesReceived":2374560,"totalBytesSent":1289697,"totalPacketsDiscardedDuringSend":9524,"activeRtpSessions":2,"activeSessionId":"85b804be39c14ef590fc7a0a60c78b50","lastPacketTime":"2026-04-10T09:59:44.693617Z","lastSendTime":"2026-04-10T09:59:43.2896523Z","asteriskEndpoint":"103.108.62.7:10084","asteriskPayloadType":0,"isSendingAudio":false,"lastError":null},"config":{"ariBaseUrl":"http://103.108.62.7:8088","audioSocketHost":"103.108.62.91","audioSocketPort":9092,"stasisApp":"incomdb-voice-ai","note":"Port is now UDP for RTP (not TCP AudioSocket)"}}