What your organization’s network must allow for the Proview SDK to work inside an enterprise environment. Written for client-side IT and network administrators configuring firewalls, proxies and whitelists — refer to it during initial onboarding and at periodic IT security audits.For the specification of the test-taker’s machine itself, see System Requirements.
The Proview SDK communicates with Talview’s application and media services to enable real-time proctoring, secure content delivery, analytics, and user authentication. To ensure full platform functionality, the following domains and ports must be whitelisted at your organization’s firewall and proxy gateways.
Secure Browser and the SDK both require uninterrupted access to Talview’s domains. Blocking these may prevent Secure Browser or the SDK from launching sessions, or from streaming video/audio correctly.
The following IPs power Talview’s backend services, including proctoring infrastructure, media handling, and secure test access. These should be unblocked for both egress (outbound) and ingress (inbound) communication as specified.
Proctoring’s media transport routes audio/video/screen-share through a dynamic global edge network rather than fixed per-region IP ranges. Because edge nodes and their IPs can change without notice, whitelist by domain and port, not by static IP — do not attempt to pin specific IP ranges for media traffic.Minimum requirement: allow TCP on port 443 (signaling, ICE-TCP fallback, and TURN relay over TLS) and UDP on port 3478 and the 10000–20000 range for vr.talview.com and turn-vr.talview.com.
Port
Protocol
Purpose
443
TCP
Signaling (WSS), ICE-TCP fallback, TURN relay over TLS
10000–20000
UDP
Media, direct (primary)
3478
UDP
STUN + TURN/UDP
If a test-taker is connecting from a mobile network (e.g., for Secondary Camera use), ensure mobile data providers or local firewalls do not restrict these ports. For enterprise environments, opening TCP 443 and UDP 3478 plus the 10000–20000 UDP media range is required for signaling/STUN/TURN/media traffic to succeed when direct peer connections are blocked.
If clients enable Secondary Camera (mobile), the second device must also have open internet access to the same domains listed above — no separate domains or IPs are required for mobile, it connects to the same infrastructure over HTTPS/WebRTC.
For IT teams: for bulk deployments or managed environments, request Secure Browser installers in advance and test on representative machines with firewall exceptions configured.
Was this page helpful?
{"docsConfig":{"theme":"mint","$schema":"https://mintlify.com/docs.json","name":"Talview Docs","colors":{"primary":"#1D4ED8","light":"#2059f5","dark":"#1741b3"},"logo":{"light":"https://mintcdn.com/talview-f3acd66d/4nxeCBiNgVZtoctt/logo/light.png?fit=max\u0026auto=format\u0026n=4nxeCBiNgVZtoctt\u0026q=85\u0026s=5c272fb59a6d1ae9d78a98e6ba767eba","dark":"https://mintcdn.com/talview-f3acd66d/4nxeCBiNgVZtoctt/logo/dark.png?fit=max\u0026auto=format\u0026n=4nxeCBiNgVZtoctt\u0026q=85\u0026s=c0ace49b68ee35fc864942b4c5bb93df"},"favicon":"https://mintcdn.com/talview-f3acd66d/auUfq4nfNITfsnOi/favicon.ico?fit=max\u0026auto=format\u0026n=auUfq4nfNITfsnOi\u0026q=85\u0026s=ec54f9b1628c75468c025b6ac0a8db6e","footer":{"socials":{"x":"https://x.com/talview","linkedin":"https://www.linkedin.com/company/talview","website":"https://www.talview.com/"},"links":[{"header":"Resources","items":[{"label":"Our Ethical AI Practices","href":"https://www.talview.com/en/ethical-ai-practices"},{"label":"Zero Code Integration","href":"https://www.talview.com/en/zero-code-integration"},{"label":"Our Integration Partners","href":"https://www.talview.com/en/integrations"}]},{"header":"Support","items":[{"label":"Seven Layer Security Framework","href":"https://www.talview.com/en/seven-layer-security-framework"},{"label":"The Empathy Advantage","href":"https://www.talview.com/en/empathy-advantage"},{"label":"Frequently Asked Questions","href":"https://www.talview.com/en/faq"}]},{"header":"Contact Us","items":[{"label":"Talk to Sales","href":"https://www.talview.com/talk-to-sales?utm_source=docs.talview.com\u0026utm_medium=footer\u0026utm_campaign=talk_to_sales"}]}]},"seo":{"metatags":{"google-site-verification":"-YCNNWMi1t69X2myeM5WhTLU005LRJLmthsEQ59RcRs"}},"integrations":{"mixpanel":{"projectToken":"1c7c27fca7274aadf357a735e3979cc0"}},"contextual":{"options":["copy","view"],"display":"header"},"styling":{"latex":false},"navigation":{"pages":[]}},"deployment":{"deploymentMetadataValue":{"subdomain":"talview-f3acd66d","hasAudioNarration":false,"actualSubdomain":"talview-f3acd66d","customDomains":["docs.talview.com"],"gitSource":{"type":"github","owner":"talview","repo":"docs","deployBranch":"main","contentDirectory":"","isPrivate":true,"mountPath":"","label":""},"chroma":{"liveDeploymentHistoryId":"6aec2d2e4c75a873192ca962","collectionId":"53dd4602-b704-4ca4-b9a8-a8f2e82c3dfe","schemaVersion":"v3","latestBuiltDeploymentHistoryId":"6aec2d2e4c75a873192ca962"},"feedback":{"thumbs":true},"entitlements":{"AI_CHAT":{"status":"ENABLED"},"WEB_MCP":{"status":"ENABLED"},"NARRATION":{"status":"ENABLED"}},"buildId":"6aed9d2661234cac2656b92d","clientVersion":"0.0.4076","searchFilterCounts":[{"language":"default","tag":"Candidates","count":248},{"language":"default","tag":"Hiring Teams","count":213},{"language":"default","tag":"Diagnostics","count":176},{"language":"default","tag":"How-tos","count":159},{"language":"default","tag":"Recruiter","count":133},{"language":"default","tag":"System Diagnostics","count":117},{"language":"default","tag":"Admin","count":109},{"language":"default","tag":"Interviews","count":94},{"language":"default","tag":"Evaluator","count":79},{"language":"default","tag":"Configurations","count":65}],"searchSettings":{"isFiltersEnabled":true}},"assistantConfig":{"enableAskAiButton":true,"enableStarterQuestions":false,"enableAskAiSearchBar":false,"deflection":{"enabled":true,"type":"link","email":"support@talview.com","url":"https://talview.freshdesk.com/support/tickets/new","showHelpButton":true}},"basePath":"","hasChatPermissions":true,"hasWebMcpPermissions":true,"toggles":[{"name":"kill-isr","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"agent-mintlify-slack","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"agent-integrations-settings","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"rbac-expansion","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"automations-pr-grouping","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"custom-prefix","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"analytics-v7","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"user-flows-analytics","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"no-publish-flow","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"workos-onboarding","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"llms-txt-v2","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"snapshot-serving-live","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"stripTemperatureMiddleware","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"support-platform-pylon-zendesk","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"snapshot-serving","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"instant-rollback","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"granular-notifications-server","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"granular-notifications","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"automations-fable","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"fixed-ai-action-pricing","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"automation-resolve-merge-conflict","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"scoped-publishing","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"mintql","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"page-level-analytics","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"editor-version-history-v2","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"billing-page-v2","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"full-page-search","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"workspace-projects","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"assistant-v5","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"fork-pr-previews","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"revalidation-jwt","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"workos-sso-scim","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"hobby-abuse-scan","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"dashboard-inbox","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"workos-signup","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"turbopuffer-dual-write","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"workos-enabled","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"approve-review-flow","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"sso-setup-deadline-banner","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"turbopuffer-serve","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"live-agents","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"comment-mode","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false}],"googleFontsInlined":false},"customCss":[],"page":{"pagePath":"sdk/network-requirements","slug":"/sdk/network-requirements","pageMetadata":{"title":"Network Requirements","sidebarTitle":"Network Requirements","description":null,"href":"/sdk/network-requirements"},"pageType":"default","mdx":{"mdxSource":{"compiledSource":"\"use strict\";const{Fragment:_Fragment,jsx:_jsx,jsxs:_jsxs}=arguments[0];const{useMDXComponents:_provideComponents}=arguments[0];function _createMdxContent(props){const _components={a:`a`,blockquote:`blockquote`,code:`code`,em:`em`,li:`li`,p:`p`,strong:`strong`,tbody:`tbody`,td:`td`,th:`th`,thead:`thead`,tr:`tr`,ul:`ul`,..._provideComponents(),...props.components},{Heading,Table,Tip,Warning}=_components;if(!Heading)_missingMdxReference(`Heading`,true);if(!Table)_missingMdxReference(`Table`,true);if(!Tip)_missingMdxReference(`Tip`,true);if(!Warning)_missingMdxReference(`Warning`,true);return _jsxs(_Fragment,{children:[_jsx(_components.p,{children:`What your organization’s network must allow for the Proview SDK to work inside an enterprise environment. Written for client-side IT and network administrators configuring firewalls, proxies and whitelists — refer to it during initial onboarding and at periodic IT security audits.`}),`\n`,_jsxs(_components.p,{children:[`For the specification of the test-taker’s machine itself, see `,_jsx(_components.a,{href:`/sdk/system-requirements`,children:`System Requirements`}),`.`]}),`\n`,_jsx(Heading,{level:`2`,id:`network-\u0026-bandwidth-requirements`,children:`Network \u0026 Bandwidth Requirements`}),`\n`,_jsxs(Table,{children:[_jsx(_components.thead,{children:_jsxs(_components.tr,{children:[_jsx(_components.th,{children:`Use Case`}),_jsx(_components.th,{children:`Minimum Requirement`}),_jsx(_components.th,{children:`Recommended Requirement`})]})}),_jsxs(_components.tbody,{children:[_jsxs(_components.tr,{children:[_jsx(_components.td,{children:_jsx(_components.strong,{children:`Proctoring`})}),_jsx(_components.td,{children:`Upload \u0026 Download: 512 Kbps`}),_jsx(_components.td,{children:`Upload \u0026 Download: 5 Mbps`})]}),_jsxs(_components.tr,{children:[_jsxs(_components.td,{children:[_jsx(_components.strong,{children:`Proctoring - Secondary Camera`}),` `,_jsx(_components.em,{children:`(mobile device, if enabled)`})]}),_jsx(_components.td,{children:`Upload \u0026 Download: 512 Kbps`}),_jsx(_components.td,{children:`Upload \u0026 Download: 5 Mbps`})]}),_jsxs(_components.tr,{children:[_jsx(_components.td,{children:_jsx(_components.strong,{children:`Latency`})}),_jsx(_components.td,{children:`\u003c 150ms`}),_jsx(_components.td,{children:`\u003c 80ms`})]}),_jsxs(_components.tr,{children:[_jsx(_components.td,{children:_jsx(_components.strong,{children:`Jitter`})}),_jsx(_components.td,{children:`\u003c 30ms`}),_jsx(_components.td,{children:`\u003c 20ms`})]}),_jsxs(_components.tr,{children:[_jsx(_components.td,{children:_jsx(_components.strong,{children:`Packet Loss`})}),_jsx(_components.td,{children:`\u003c 1%`}),_jsx(_components.td,{\"data-numeric\":`true`,children:`0%`})]}),_jsxs(_components.tr,{children:[_jsx(_components.td,{children:_jsx(_components.strong,{children:`Connection Type`})}),_jsx(_components.td,{children:`Wi-Fi acceptable, Ethernet preferred`}),_jsx(_components.td,{children:`Ethernet strongly recommended`})]})]})]}),`\n`,_jsx(Tip,{children:_jsxs(_components.ul,{children:[`\n`,_jsx(_components.li,{children:`If a secondary camera is enabled, it streams a parallel video feed for the full test duration — budget bandwidth for both streams.`}),`\n`,_jsx(_components.li,{children:`For proctoring, wired (Ethernet) connections are preferred for the primary device to minimize video transmission issues.`}),`\n`,_jsx(_components.li,{children:`Secure Browser sessions are sensitive to latency, jitter, and bandwidth dips — encourage test-takers to use a wired connection wherever possible.`}),`\n`]})}),`\n`,_jsx(Heading,{level:`2`,id:`firewall-and-proxy-configuration`,children:`Firewall and Proxy Configuration`}),`\n`,_jsxs(_components.blockquote,{children:[`\n`,_jsx(_components.p,{children:`The Proview SDK communicates with Talview’s application and media services to enable real-time proctoring, secure content delivery, analytics, and user authentication. To ensure full platform functionality, the following domains and ports must be whitelisted at your organization’s firewall and proxy gateways.`}),`\n`]}),`\n`,_jsx(Warning,{children:_jsx(_components.p,{children:`Secure Browser and the SDK both require uninterrupted access to Talview’s domains. Blocking these may prevent Secure Browser or the SDK from launching sessions, or from streaming video/audio correctly.`})}),`\n`,_jsx(Heading,{level:`3`,id:`domain-whitelisting`,children:`Domain Whitelisting`}),`\n`,_jsx(_components.p,{children:`Ensure the following domains and ports are accessible over HTTPS (443) and HTTP (80) from all candidate machines:`}),`\n`,_jsxs(Table,{children:[_jsx(_components.thead,{children:_jsxs(_components.tr,{children:[_jsx(_components.th,{children:`Host`}),_jsx(_components.th,{children:`Ports`}),_jsx(_components.th,{children:`Purpose/Service`})]})}),_jsxs(_components.tbody,{children:[_jsxs(_components.tr,{children:[_jsx(_components.td,{children:_jsx(_components.code,{children:`*.talview.com`})}),_jsx(_components.td,{\"data-numeric\":`true`,children:`443, 80`}),_jsxs(_components.td,{children:[`Talview assessment service, booking service, proctoring services (backend: `,_jsx(_components.code,{children:`supergraph.talview.com/v1/graphql`}),`), live video/audio infrastructure`]})]}),_jsxs(_components.tr,{children:[_jsx(_components.td,{children:_jsx(_components.code,{children:`*.talview.app`})}),_jsx(_components.td,{\"data-numeric\":`true`,children:`443, 80`}),_jsx(_components.td,{children:`Proctoring secondary device`})]}),_jsxs(_components.tr,{children:[_jsx(_components.td,{children:_jsx(_components.code,{children:`*.tlv.cx`})}),_jsx(_components.td,{\"data-numeric\":`true`,children:`443, 80`}),_jsx(_components.td,{children:`Content delivery \u0026 secure access`})]}),_jsxs(_components.tr,{children:[_jsx(_components.td,{children:_jsx(_components.code,{children:`turn-vr.talview.com`})}),_jsx(_components.td,{children:`443 (TCP), 3478 (UDP)`}),_jsx(_components.td,{children:`TURN relay fallback for restrictive firewalls — required when direct/STUN connections are blocked`})]}),_jsxs(_components.tr,{children:[_jsx(_components.td,{children:_jsx(_components.code,{children:`*.firebasedatabase.app`})}),_jsx(_components.td,{\"data-numeric\":`true`,children:`443, 80`}),_jsx(_components.td,{children:`Backend data access`})]}),_jsxs(_components.tr,{children:[_jsxs(_components.td,{children:[_jsx(_components.code,{children:`*.freshdesk.com`}),`, `,_jsx(_components.code,{children:`*.freshchat.com`})]}),_jsx(_components.td,{\"data-numeric\":`true`,children:`443, 80`}),_jsx(_components.td,{children:`Help center access`})]})]})]}),`\n`,_jsx(Heading,{level:`3`,id:`ip-whitelisting`,children:`IP Whitelisting`}),`\n`,_jsx(_components.p,{children:_jsx(_components.strong,{children:`Talview Infra IPs – Active Clusters`})}),`\n`,_jsxs(_components.blockquote,{children:[`\n`,_jsx(_components.p,{children:`The following IPs power Talview’s backend services, including proctoring infrastructure, media handling, and secure test access. These should be unblocked for both egress (outbound) and ingress (inbound) communication as specified.`}),`\n`]}),`\n`,_jsxs(Table,{children:[_jsx(_components.thead,{children:_jsxs(_components.tr,{children:[_jsx(_components.th,{children:`IP`}),_jsx(_components.th,{children:`Description`})]})}),_jsxs(_components.tbody,{children:[_jsxs(_components.tr,{children:[_jsx(_components.td,{\"data-numeric\":`true`,children:_jsx(_components.code,{children:`51.136.86.154`})}),_jsx(_components.td,{children:`Core [tv-prod-16] — Ingress`})]}),_jsxs(_components.tr,{children:[_jsx(_components.td,{\"data-numeric\":`true`,children:_jsx(_components.code,{children:`20.16.66.17`})}),_jsx(_components.td,{children:`Core [tv-prod-16] — Ingress`})]}),_jsxs(_components.tr,{children:[_jsx(_components.td,{\"data-numeric\":`true`,children:_jsx(_components.code,{children:`20.101.160.199`})}),_jsx(_components.td,{children:`Core [tv-prod-16] — Egress`})]}),_jsxs(_components.tr,{children:[_jsx(_components.td,{\"data-numeric\":`true`,children:_jsx(_components.code,{children:`51.105.132.215`})}),_jsx(_components.td,{children:`Platform [tv-prod-platform-01] — Ingress`})]}),_jsxs(_components.tr,{children:[_jsx(_components.td,{\"data-numeric\":`true`,children:_jsx(_components.code,{children:`50.85.186.100`})}),_jsx(_components.td,{children:`Platform [tv-prod-platform-01] — Egress`})]}),_jsxs(_components.tr,{children:[_jsx(_components.td,{\"data-numeric\":`true`,children:_jsx(_components.code,{children:`135.236.56.144`})}),_jsx(_components.td,{children:`VR server/egress — Ingress`})]}),_jsxs(_components.tr,{children:[_jsx(_components.td,{\"data-numeric\":`true`,children:_jsx(_components.code,{children:`108.143.41.13`})}),_jsx(_components.td,{children:`VR server/egress — Egress`})]}),_jsxs(_components.tr,{children:[_jsx(_components.td,{\"data-numeric\":`true`,children:_jsx(_components.code,{children:`172.201.191.250`})}),_jsx(_components.td,{children:`VR server/egress — Egress`})]}),_jsxs(_components.tr,{children:[_jsx(_components.td,{\"data-numeric\":`true`,children:_jsx(_components.code,{children:`20.234.211.87`})}),_jsx(_components.td,{children:`VR server/egress — Egress`})]})]})]}),`\n`,_jsx(Heading,{level:`3`,id:`video-service`,children:`Video Service`}),`\n`,_jsxs(_components.p,{children:[`Proctoring’s media transport routes audio/video/screen-share through a `,_jsx(_components.strong,{children:`dynamic global edge network`}),` rather than fixed per-region IP ranges. Because edge nodes and their IPs can change without notice, `,_jsx(_components.strong,{children:`whitelist by domain and port, not by static IP`}),` — do not attempt to pin specific IP ranges for media traffic.`]}),`\n`,_jsxs(_components.p,{children:[_jsx(_components.strong,{children:`Minimum requirement:`}),` allow `,_jsx(_components.strong,{children:`TCP`}),` on port `,_jsx(_components.strong,{children:`443`}),` (signaling, ICE-TCP fallback, and TURN relay over TLS) and `,_jsx(_components.strong,{children:`UDP`}),` on port `,_jsx(_components.strong,{children:`3478`}),` and the `,_jsx(_components.strong,{children:`10000–20000`}),` range for `,_jsx(_components.code,{children:`vr.talview.com`}),` and `,_jsx(_components.code,{children:`turn-vr.talview.com`}),`.`]}),`\n`,_jsxs(Table,{children:[_jsx(_components.thead,{children:_jsxs(_components.tr,{children:[_jsx(_components.th,{children:`Port`}),_jsx(_components.th,{children:`Protocol`}),_jsx(_components.th,{children:`Purpose`})]})}),_jsxs(_components.tbody,{children:[_jsxs(_components.tr,{children:[_jsx(_components.td,{\"data-numeric\":`true`,children:`443`}),_jsx(_components.td,{children:`TCP`}),_jsx(_components.td,{children:`Signaling (WSS), ICE-TCP fallback, TURN relay over TLS`})]}),_jsxs(_components.tr,{children:[_jsx(_components.td,{\"data-numeric\":`true`,children:`10000–20000`}),_jsx(_components.td,{children:`UDP`}),_jsx(_components.td,{children:`Media, direct (primary)`})]}),_jsxs(_components.tr,{children:[_jsx(_components.td,{\"data-numeric\":`true`,children:`3478`}),_jsx(_components.td,{children:`UDP`}),_jsx(_components.td,{children:`STUN + TURN/UDP`})]})]})]}),`\n`,_jsx(Tip,{children:_jsx(_components.p,{children:`If a test-taker is connecting from a mobile network (e.g., for Secondary Camera use), ensure mobile data providers or local firewalls do not restrict these ports. For enterprise environments, opening TCP 443 and UDP 3478 plus the 10000–20000 UDP media range is required for signaling/STUN/TURN/media traffic to succeed when direct peer connections are blocked.`})}),`\n`,_jsx(Heading,{level:`3`,id:`proctoring-secondary-camera-if-enabled`,children:`Proctoring - Secondary Camera (if enabled)`}),`\n`,_jsx(_components.p,{children:`If clients enable Secondary Camera (mobile), the second device must also have open internet access to the same domains listed above — no separate domains or IPs are required for mobile, it connects to the same infrastructure over HTTPS/WebRTC.`}),`\n`,_jsx(Heading,{level:`2`,id:`support`,children:`Support`}),`\n`,_jsxs(_components.p,{children:[`For support, contact Talview at `,_jsx(_components.a,{href:`mailto:support@talview.com`,children:`support@talview.com`}),` or via `,_jsx(_components.a,{href:`https://certification.talview.com/support/tickets/new`,children:`Submit a ticket : Proctoring \u0026 Certification Support`})]}),`\n`,_jsx(Tip,{children:_jsxs(_components.p,{children:[_jsx(_components.strong,{children:`For IT teams:`}),` for bulk deployments or managed environments, request Secure Browser installers in advance and test on representative machines with firewall exceptions configured.`]})})]})}function MDXContent(props={}){const{wrapper:MDXLayout}={..._provideComponents(),...props.components};return MDXLayout?_jsx(MDXLayout,{...props,children:_jsx(_createMdxContent,{...props})}):_createMdxContent(props)}return{default:MDXContent};function _missingMdxReference(id,component){throw new Error(`Expected `+(component?`component`:`object`)+\" `\"+id+\"` to be defined: you likely forgot to import, pass, or provide it.\")}","frontmatter":{},"scope":{"config":{},"pageMetadata":{"title":"Network Requirements","sidebarTitle":"Network Requirements","description":null,"href":"/sdk/network-requirements"}}},"mdxSourceWithNoJs":null},"mdxExtracts":{"tableOfContents":[{"title":"Network \u0026 Bandwidth Requirements","slug":"network-\u0026-bandwidth-requirements","depth":2,"children":[]},{"title":"Firewall and Proxy Configuration","slug":"firewall-and-proxy-configuration","depth":2,"children":[{"title":"Domain Whitelisting","slug":"domain-whitelisting","depth":3,"children":[]},{"title":"IP Whitelisting","slug":"ip-whitelisting","depth":3,"children":[]},{"title":"Video Service","slug":"video-service","depth":3,"children":[]},{"title":"Proctoring - Secondary Camera (if enabled)","slug":"proctoring-secondary-camera-if-enabled","depth":3,"children":[]}]},{"title":"Support","slug":"support","depth":2,"children":[]}],"codeExamples":{}},"jsLinks":[],"subdomain":"talview-f3acd66d","siteName":"Talview Docs","title":"Network Requirements - Talview Docs","navMaps":{"firstHrefInVersion":{},"firstHrefInLanguage":{}},"lastModified":"2026-11-05T07:16:20.334Z","originalFileLocation":"sdk/network-requirements.mdx"},"headHtml":"\u003cscript data-mint-head>(function(){var d=document.documentElement,p=null;if(!p){try{p=localStorage.getItem(\"isDarkMode\")}catch(e){}if(p==='true')p='dark';else if(p==='false')p='light';if(p!=='light'\u0026\u0026p!=='dark'\u0026\u0026p!=='system')p=\"system\"}var r=p==='system'?(matchMedia(\"(prefers-color-scheme: dark)\").matches?'dark':'light'):p;d.classList.remove(r==='dark'?'light':'dark');d.classList.add(r);d.setAttribute(\"data-theme-preference\",p)})();\u003c/script>\u003cmeta data-mint-head name=\"application-name\" content=\"Talview Docs\">\u003cmeta data-mint-head name=\"generator\" content=\"Mintlify\">\u003clink data-mint-head rel=\"icon\" type=\"image/png\" sizes=\"192x192\" href=\"/mintlify-assets/_mintlify/favicons/talview-f3acd66d/oP3MBQjW12IuBTni/_generated/favicon/android-chrome-192x192.png\" media=\"(prefers-color-scheme: light)\">\u003clink data-mint-head rel=\"apple-touch-icon\" type=\"image/png\" sizes=\"180x180\" href=\"/mintlify-assets/_mintlify/favicons/talview-f3acd66d/oP3MBQjW12IuBTni/_generated/favicon/apple-touch-icon.png\">\u003clink data-mint-head rel=\"icon\" type=\"image/png\" sizes=\"16x16\" href=\"/mintlify-assets/_mintlify/favicons/talview-f3acd66d/oP3MBQjW12IuBTni/_generated/favicon/favicon-16x16.png\" media=\"(prefers-color-scheme: light)\">\u003clink data-mint-head rel=\"icon\" type=\"image/png\" sizes=\"32x32\" href=\"/mintlify-assets/_mintlify/favicons/talview-f3acd66d/oP3MBQjW12IuBTni/_generated/favicon/favicon-32x32.png\" media=\"(prefers-color-scheme: light)\">\u003clink data-mint-head rel=\"shortcut icon\" type=\"image/x-icon\" href=\"/mintlify-assets/_mintlify/favicons/talview-f3acd66d/oP3MBQjW12IuBTni/_generated/favicon/favicon.ico\" media=\"(prefers-color-scheme: light)\">\u003clink data-mint-head rel=\"icon\" type=\"image/png\" sizes=\"192x192\" href=\"/mintlify-assets/_mintlify/favicons/talview-f3acd66d/oP3MBQjW12IuBTni/_generated/favicon-dark/android-chrome-192x192.png\" media=\"(prefers-color-scheme: dark)\">\u003clink data-mint-head rel=\"icon\" type=\"image/png\" sizes=\"16x16\" href=\"/mintlify-assets/_mintlify/favicons/talview-f3acd66d/oP3MBQjW12IuBTni/_generated/favicon-dark/favicon-16x16.png\" media=\"(prefers-color-scheme: dark)\">\u003clink data-mint-head rel=\"icon\" type=\"image/png\" sizes=\"32x32\" href=\"/mintlify-assets/_mintlify/favicons/talview-f3acd66d/oP3MBQjW12IuBTni/_generated/favicon-dark/favicon-32x32.png\" media=\"(prefers-color-scheme: dark)\">\u003clink data-mint-head rel=\"shortcut icon\" type=\"image/x-icon\" href=\"/mintlify-assets/_mintlify/favicons/talview-f3acd66d/oP3MBQjW12IuBTni/_generated/favicon-dark/favicon.ico\" media=\"(prefers-color-scheme: dark)\">\u003cmeta data-mint-head property=\"og:title\" content=\"Network Requirements - Talview Docs\">\u003cmeta data-mint-head property=\"og:site_name\" content=\"Talview Docs\">\u003cmeta data-mint-head property=\"og:url\" content=\"https://docs.talview.com/sdk/network-requirements\">\u003cmeta data-mint-head property=\"og:type\" content=\"website\">\u003cmeta data-mint-head property=\"og:image\" content=\"https://talview-f3acd66d.mintlify.site/_mintlify/api/og/v2?division=System+and+Network+Requirements\u0026amp;title=Network+Requirements\u0026amp;theme=cc5ff9daf6f714b6f0bf4c33\u0026amp;signature=2e1b5bac9a107782076cf2f1de974a01a1494a2ce12bf6759b3bbc0485d72767\">\u003cmeta data-mint-head property=\"og:image:width\" content=\"1200\">\u003cmeta data-mint-head property=\"og:image:height\" content=\"630\">\u003cmeta data-mint-head name=\"twitter:card\" content=\"summary_large_image\">\u003cmeta data-mint-head name=\"twitter:title\" content=\"Network Requirements - Talview Docs\">\u003cmeta data-mint-head name=\"twitter:image\" content=\"https://talview-f3acd66d.mintlify.site/_mintlify/api/og/v2?division=System+and+Network+Requirements\u0026amp;title=Network+Requirements\u0026amp;theme=cc5ff9daf6f714b6f0bf4c33\u0026amp;signature=2e1b5bac9a107782076cf2f1de974a01a1494a2ce12bf6759b3bbc0485d72767\">\u003cmeta data-mint-head name=\"twitter:image:width\" content=\"1200\">\u003cmeta data-mint-head name=\"twitter:image:height\" content=\"630\">\u003cmeta data-mint-head name=\"msapplication-config\" content=\"/mintlify-assets/_mintlify/favicons/talview-f3acd66d/oP3MBQjW12IuBTni/_generated/favicon/browserconfig.xml\">\u003cmeta data-mint-head name=\"apple-mobile-web-app-title\" content=\"Talview Docs\">\u003cmeta data-mint-head name=\"msapplication-TileColor\" content=\"#1D4ED8\">\u003cmeta data-mint-head name=\"google-site-verification\" content=\"-YCNNWMi1t69X2myeM5WhTLU005LRJLmthsEQ59RcRs\">\u003clink data-mint-head rel=\"canonical\" href=\"https://docs.talview.com/sdk/network-requirements\">\u003clink data-mint-head rel=\"alternate\" type=\"application/xml\" href=\"/sitemap.xml\">\u003clink data-mint-head rel=\"alternate\" type=\"text/markdown\" href=\"/sdk/network-requirements.md\">\u003cscript data-mint-head type=\"application/ld+json\">{\"@context\":\"https://schema.org\",\"@graph\":[{\"@type\":\"Organization\",\"@id\":\"https://docs.talview.com/#organization\",\"name\":\"Talview Docs\",\"url\":\"https://docs.talview.com\",\"logo\":{\"@type\":\"ImageObject\",\"url\":\"https://mintcdn.com/talview-f3acd66d/4nxeCBiNgVZtoctt/logo/light.png?fit=max\u0026auto=format\u0026n=4nxeCBiNgVZtoctt\u0026q=85\u0026s=5c272fb59a6d1ae9d78a98e6ba767eba\"}},{\"@type\":\"WebSite\",\"@id\":\"https://docs.talview.com#website\",\"name\":\"Talview Docs\",\"url\":\"https://docs.talview.com\",\"publisher\":{\"@id\":\"https://docs.talview.com/#organization\"}},{\"@type\":\"WebPage\",\"@id\":\"https://docs.talview.com/sdk/network-requirements#webpage\",\"url\":\"https://docs.talview.com/sdk/network-requirements\",\"name\":\"Network Requirements\",\"dateModified\":\"2026-11-05T07:16:20.334Z\",\"isPartOf\":{\"@id\":\"https://docs.talview.com#website\"},\"breadcrumb\":{\"@id\":\"https://docs.talview.com/sdk/network-requirements#breadcrumb\"}},{\"@type\":\"BreadcrumbList\",\"@id\":\"https://docs.talview.com/sdk/network-requirements#breadcrumb\",\"itemListElement\":[{\"@type\":\"ListItem\",\"position\":1,\"name\":\"SDK\",\"item\":\"https://docs.talview.com/sdk/getting-started\"},{\"@type\":\"ListItem\",\"position\":2,\"name\":\"System and Network Requirements\",\"item\":\"https://docs.talview.com/sdk/system-requirements\"},{\"@type\":\"ListItem\",\"position\":3,\"name\":\"Network Requirements\",\"item\":\"https://docs.talview.com/sdk/network-requirements\"}]},{\"@type\":[\"Article\",\"TechArticle\"],\"@id\":\"https://docs.talview.com/sdk/network-requirements#article\",\"headline\":\"Network Requirements\",\"name\":\"Network Requirements\",\"url\":\"https://docs.talview.com/sdk/network-requirements\",\"mainEntityOfPage\":{\"@id\":\"https://docs.talview.com/sdk/network-requirements#webpage\"},\"dateModified\":\"2026-11-05T07:16:20.334Z\",\"publisher\":{\"@id\":\"https://docs.talview.com/#organization\"},\"isPartOf\":{\"@id\":\"https://docs.talview.com#website\"}}]}\u003c/script>\u003cscript data-mint-head type=\"application/ld+json\">{\"@context\":\"https://schema.org\",\"@type\":\"WebSite\",\"name\":\"Talview Docs\",\"creator\":{\"@type\":\"Organization\",\"name\":\"Mintlify\",\"url\":\"https://mintlify.com\"}}\u003c/script>","siteName":"Talview Docs","nav":{"global":null,"tabs":[{"tab":"Home","pages":[{"title":"Home","href":""}]},{"tab":"Candidates","pages":[{"title":"Candidates","href":"/candidates/getting-started"}]},{"tab":"Hiring Teams","pages":[{"title":"Hiring Teams","href":"/hiring-teams/getting-started"}]},{"tab":"Content and Exam Admins","pages":[{"title":"Content and Exam Admins","href":"/content-and-exam-admins/getting-started"}]},{"tab":"Center and Proctor Administration","hidden":true,"pages":[{"title":"Center and Proctor Administration","href":"/center-and-proctor-administration/center-getting-started"}]},{"tab":"Releases","pages":[{"title":"Releases","href":"/releasenotes/q4-2026/october-2026-release-updates"}]},{"tab":"Developer Docs","groups":[{"group":"SDK","pages":[{"title":"Getting Started","href":"/sdk/getting-started"},{"title":"Authentication","href":"/sdk/authentication"},{"title":"Form","href":"/sdk/forms"},{"title":"Scheduler","href":"/sdk/scheduler"},{"group":"Proctoring","pages":[{"title":"Getting Started","href":"/sdk/proctoring/getting-started"},{"group":"Installation","pages":[{"title":"Installation Methods","href":"/sdk/proctoring/installation/overview"},{"title":"Loader Script","href":"/sdk/proctoring/installation/loader-script"},{"title":"NPM","href":"/sdk/proctoring/installation/npm"}]},{"title":"Interfaces","href":"/sdk/proctoring/configuration"},{"title":"Event Callbacks","href":"/sdk/proctoring/callbacks"},{"title":"SDK Types","href":"/sdk/proctoring/types"},{"title":"Error Reference","href":"/sdk/errors"},{"title":"Secure Browser","sidebarTitle":"Secure Browser","href":"/sdk/proctoring/secure-browser"},{"title":"Proview SDK — v7 to v8 Migration Guide","sidebarTitle":"Migration Guide v7 to v8","href":"/sdk/proctoring/migrations/v7-to-v8"}]},{"group":"System and Network Requirements","pages":[{"title":"System Requirements","sidebarTitle":"System Requirements","description":null,"href":"/sdk/system-requirements"},{"title":"Network Requirements","sidebarTitle":"Network Requirements","href":"/sdk/network-requirements"}]},{"title":"Troubleshooting","description":"Diagnose and resolve common Proview SDK integration issues across all modules","href":"/sdk/troubleshooting"},{"title":"Best Practices","href":"/sdk/best-practices"}]},{"group":"Graph API","pages":[{"title":"Getting Started","href":"/graph-api-reference/getting-started"},{"title":"Authentication","href":"/graph-api-reference/authentication"},{"title":"Pagination","href":"/graph-api-reference/pagination"},{"title":"Filtering","href":"/graph-api-reference/filtering"},{"title":"Rate Limiting","href":"/graph-api-reference/rate-limiting"},{"title":"Error Codes","href":"/graph-api-reference/error-codes"},{"group":"Webhooks","pages":[{"title":"Overview","href":"/graph-api-reference/webhooks/overview"},{"title":"Webhook Concepts","href":"/graph-api-reference/webhooks/concepts"},{"title":"Subscribing to Webhooks","href":"/graph-api-reference/webhooks/subscribing"},{"title":"Unsubscribing from Webhooks","href":"/graph-api-reference/webhooks/unsubscribing"},{"group":"Assessment Engine","pages":[{"title":"Test Instance Created","href":"/graph-api-reference/webhooks/ae/test-instance-created"},{"title":"Test Instance Updated","href":"/graph-api-reference/webhooks/ae/test-instance-updated"}]},{"group":"Auth","pages":[{"title":"User Created","href":"/graph-api-reference/webhooks/auth/user-created"},{"title":"User Updated","href":"/graph-api-reference/webhooks/auth/user-updated"}]},{"group":"Candidate","pages":[{"title":"Candidate Created","href":"/graph-api-reference/webhooks/candidate/candidate-created"},{"title":"Candidate Updated","href":"/graph-api-reference/webhooks/candidate/candidate-updated"}]},{"group":"Coordinator","pages":[{"title":"Exam Created","href":"/graph-api-reference/webhooks/coordinator/exam-created"},{"title":"Exam Updated","href":"/graph-api-reference/webhooks/coordinator/exam-updated"}]},{"group":"Form","pages":[{"title":"Form Instance Created","href":"/graph-api-reference/webhooks/form/form-instance-created"},{"title":"Form Instance Updated","href":"/graph-api-reference/webhooks/form/form-instance-updated"}]},{"group":"Incident","pages":[{"title":"Incident Instance Created","href":"/graph-api-reference/webhooks/incident/instance-created"},{"title":"Incident Instance Updated","href":"/graph-api-reference/webhooks/incident/instance-updated"}]},{"group":"Payment","pages":[{"title":"Transaction Created","href":"/graph-api-reference/webhooks/payment/transaction-created"},{"title":"Transaction Updated","href":"/graph-api-reference/webhooks/payment/transaction-updated"}]},{"group":"Proctoring Management","pages":[{"title":"Center Created","href":"/graph-api-reference/webhooks/pm/center-created"},{"title":"Center Updated","href":"/graph-api-reference/webhooks/pm/center-updated"}]},{"group":"Scheduler","pages":[{"title":"Meeting Created","href":"/graph-api-reference/webhooks/scheduler/meeting-created"},{"title":"Meeting Updated","href":"/graph-api-reference/webhooks/scheduler/meeting-updated"}]}]},{"title":"Graph API Reference","url":"https://studio.apollographql.com/public/talview/variant/current/home","href":"/graph-api-reference/reference"}]}]},{"tab":"Admin","pages":[{"title":"Admin","href":"/admin/configurations/forms/diagnostics/forms-application-missing-from-platform-dashboard"}]}]},"basePath":"","title":"Network Requirements - Talview Docs","buildId":"dpl_8LJbrAiZvr1K98WQNZXCyY5AvT34","deploymentId":"dpl_8LJbrAiZvr1K98WQNZXCyY5AvT34","dynamics":[],"chunks":[]}