AgentStream
StreamKit
StreamKit Cloud
20 min
streamkit developer quickstart guide bridge your contact centre (sip) and voicebot (wss) using exotel streamkit cloud connector 1\ overview streamkit is exotel’s cloud based sip ↔ wss connector that allows you to connect any sip based contact centre (like avaya, genesys, ameyo, or custom pbx) with any wss based ai platform (dialogflow cx, openai, aws lex, etc ) in real time this document will help you set up an end to end integration using exotel dynamic sip trunking apis agentstream applets (stream and voicebot / passthru) custom sip header and routing configuration voicebot and agent assist integration flows 2\ prerequisites requirement description exotel account sign up for an exotel account by selecting browser calling and get your account sid, auth key, and auth token virtual number buy or provision a virtual number/exophone (did) from exotel by reaching out to hello\@exotel com and requesting for voip exophone in case, you need the ip<>pstn intermix request for veeno exophone sip/ivr system a contact centre or pbx that supports sip invite routing voicebot endpoint wss server endpoint or ai provider url (e g , websocket url\ ws\ //127 0 0 1 5001/media) ip whitelisting your contact centre pbx/server ips must be whitelisted on exotel exotel singaling and media ips your contact centre firewall must whitelist exotel ips and ports test do test calls, routing, and in case any support is required, reach out to exotel phone system 3\ step by step setup step 1 create an account and virtual number signup on exotel link and select browser calling while signing up reach out to hello\@exotel com to procurethe voip exophone once done, note api settings link account sid subdomain auth key auth token virtual number/exophone link step 2 create trunk and whitelist your ips create trunk (/trunks) whitelist ips (/trunks/{trunk sid}/whitelisted ips) — optional reach out to hello\@exotel com to verify trunk and ip whitelisting whitelisting ensures exotel can securely send/receive sip traffic from your servers you can add multiple ips use get /trunks/{trunk sid}/whitelisted ips to verify reference docid\ augsbf7lgztxpqadgn2gn step 3 set up your call flow use exotel flow builder to define how the call moves from pstn → sip → wss log into exotel dashboard → create a flow add voicebot applet to connect sip calls to your voicebot reference docid\ uwzovqavqzwbq0iuqls0u if you plan to integrate agent assist ,use stream applet passthru applet reference passthru applet docid\ ey4pwuojakmxmczuxndis in case you want to route a call back to the contact centre step 4 send sip invite at the right stage from your contact centre or pbx, trigger a sip invite to the exotel sip domain with required headers please do followthe mandatory headers as per the setup guide use this flow customer → contact center (sip pbx) → sip invite → exotel streamkit → voicebot (wss) detailed setup guide docid\ isncc7d7o7klw70n8 moy please do send x account sid for correct routing and cli capture mandate step 5 add custom headers in sip invite contact center can pass custom headers , custom headers help streamkit voicebot applet decide which bot or campaign to route the call to sample headers x customer header salesbot x uui xxxxxx supports upto 45 bytes docs flow and api configuration guide for voice ai & contact centre platforms docid\ m7zpgwzi9ytz1tfhza6z9 step 6 talk to the voicebot (wss) once the sip invite is accepted streamkit opens a wss connection to your voicebot rtp ↔ pcm16 media is exchanged bot starts real time asr/tts or speech to speech conversation reference doc voicebot applet and bidirectional integration guide step 7 notify or escalate via passthru applet use passthru applet to notify your contact center or escalate to an agent supported modes notification mode bot triggers webhook via passthru applet transfer mode bot requests sip transfer to transfer call to agent by creating another trunk at exotel api steps to create a trunk create trunk (/trunks) map dids (/trunks/{trunk sid}/phone numbers) whitelist ips (/trunks/{trunk sid}/whitelisted ips) add destination uris ( tcp, tls) docid\ augsbf7lgztxpqadgn2gn create a flow using connect applet in app bazaar use sip \<trunkid> in the dial whom field for custom routing, use a dynamic url to fetch the destination uri and pass headers supports up to 3 custom sip headers , e g , x param1=value1 (max 200 bytes total) headers prefixed with exotel or veeno are platform reserved connect applet – dynamic url response example { "fetch after attempt" false, "destination" { "trunk" "trunk 2134" }, "custom params" "param1=value1\¶m2=value2", "record" true, "recording channels" "dual" } reference programmable connect working with connect applet (dynamic url) docid\ ey4pwuojakmxmczuxndis docs passthru applet (agentstream beta) 4\ special scenarios scenario description voicebot mode sip ↔ wss full duplex bot handles asr + tts or speech to speech using voicebot applet agent assist mode unidirectional wss stream from caller to ai (for analysis, not speech output) using stream start and stop applet agent monitored bot hybrid – bot monitors conversation and provides insights post call notify streamkit triggers the passthru applet after call completion for analytics or crm updates 5\ example flow voicebot scenario pstn call → cc (sip pbx) → exotel streamkit → wss voicebot agent assist scenario pstn call → cc → exotel streamkit (passthru) → wss bot (listen only) bot → notify api → crm / dashboard 6\ compliance & data localization all media and logs stay within india (local pops) dot and trai voice compliance is ready optional encrypted call recording with region specific storage 7\ quick links resource url dynamic sip trunking https //docs exotel com/dynamic sip trunking virtual sip trunk to flow guide https //docs exotel com/dynamic sip trunking/exotel virtual sip trunking to flow integration guide agentstream applet https //docs exotel com/exotel agentstream/agentstream applets passthru applet https //docs exotel com/exotel agentstream/passthru applet flow & api config https //docs exotel com/dynamic sip trunking/flow and api configuration guide for voice ai and contact centre platforms
🤔
Have a question?
Our knowledgeable support team and an awesome community will get you an answer in a flash.
To ask a question or participate in discussions, you'll need to authenticate first.