{"docsConfig":{"theme":"mint","$schema":"https://mintlify.com/docs.json","name":"STMLink Docs","description":"STMLink 开发者文档:SRTC 音视频 SDK(频道通信、云录制与直播、语音录制、语音识别)与 SMeeting 会议 SDK(房间、会议管理),覆盖 iOS / Android / Windows / Web / 微信小程序 / C(服务端·嵌入式)多端接入与服务端 API。 STMLink developer docs: the SRTC audio/video SDK (channels, cloud recording and live streaming, voice recording, speech recognition) and the SMeeting conferencing SDK (rooms and meetings), covering client integration on iOS, Android, Windows, Web, WeChat Mini Programs and C (server/embedded), plus the Server API.","colors":{"primary":"#0066FF","light":"#3385FF","dark":"#0052CC"},"logo":{"light":"https://mintcdn.com/freewind/-N23X1jpF3KMqIP_/logo/light.svg?fit=max\u0026auto=format\u0026n=-N23X1jpF3KMqIP_\u0026q=85\u0026s=c87be878176892b493466cf0647c68cc","dark":"https://mintcdn.com/freewind/-N23X1jpF3KMqIP_/logo/dark.svg?fit=max\u0026auto=format\u0026n=-N23X1jpF3KMqIP_\u0026q=85\u0026s=d6697b8422020261e5703917bcf26a6b"},"favicon":"https://mintcdn.com/freewind/-N23X1jpF3KMqIP_/favicon.svg?fit=max\u0026auto=format\u0026n=-N23X1jpF3KMqIP_\u0026q=85\u0026s=dcf59f85b4c1c24462b5f99c37ff73d4","footer":{"socials":{"website":"https://www.stmlink.com"},"links":[{"header":"产品","items":[{"label":"官网","href":"https://www.stmlink.com"},{"label":"SRTC 音视频 SDK","href":"https://docs.stmlink.com/zh/rtc/overview"},{"label":"SMeeting 会议 SDK","href":"https://docs.stmlink.com/zh/meeting/overview"}]},{"header":"支持","items":[{"label":"联系我们","href":"https://www.stmlink.com"}]}]},"contextual":{"options":["copy","view","chatgpt","claude"],"display":"header"},"markdown":{"instructions":["对外开放的服务端接口有两组前缀,都用同一套鉴权:`/server/v1/...`(SRTC 与 SMeeting 的主接口)和 `/stm/srvapi/v1/...`(SMeeting 的用户体系,服务端极简对接会用到)。鉴权是 app_id + nonce + timestamp + signature 四个请求头,用 app_key 做 HMAC-SHA256 签名,只能从业务方自己的后端调用。除这两组前缀外的接口均为内部接口,不要建议客户调用。 Public server APIs use two path prefixes with the same authentication: `/server/v1/...` (the main APIs of both SRTC and SMeeting) and `/stm/srvapi/v1/...` (the SMeeting user system, used by server-side low-code integration). Authenticate with four request headers, app_id + nonce + timestamp + signature, where signature is HMAC-SHA256 keyed with app_key; call these APIs only from the customer's own backend. Any other path is internal: never suggest calling it.","app_key 是服务端密钥,绝不能出现在客户端代码、前端配置或移动 App 里。客户端加入频道用的 token 必须由业务方后端签发后下发(SRTC 走 `/server/v1/channel/grant`,SMeeting 走 `/stm/srvapi/v1/member/grant`)。 app_key is a server-side secret and must never appear in client code, frontend config, or a mobile app. The token a client uses to join must be issued by the customer's backend and passed down to the client (SRTC: `/server/v1/channel/grant`; SMeeting: `/stm/srvapi/v1/member/grant`).","SRTC 与 SMeeting 是上下两层不同的产品,术语不通用:SRTC 是音视频底座,说「频道 channel」「加入 / 退出」;SMeeting 建在 SRTC 之上,说「房间 room」「会议 meeting」「进入 / 退出」。回答时按用户所在的层用对应术语,不要把「房间」「会议」安到 SRTC 的接口上,也不要用「频道」「加入 / 离开」描述 SMeeting 的概念(接口标识符原样保留)。 SRTC and SMeeting are two separate layers with different terminology. SRTC is the audio/video foundation: it has channels, and users join and leave a channel. SMeeting is built on top of SRTC: it has rooms and meetings, and members enter and exit a meeting. Answer in the terms of the layer the user is working with: never apply \"room\" or \"meeting\" to SRTC APIs, and never describe SMeeting concepts in prose with \"channel\", \"join\", or \"leave\" (API identifiers such as `force_join` keep their literal names).","同一能力在各端 SDK 里的包名、类名、方法名并不相同。写示例代码时请使用文档中该端自己的 API,不要把一个端的写法套到另一个端上。苹果平台每个产品都有两套 SDK(Swift 原生与 Objective-C),两套 API 不能混用。 Package, class, and method names differ between platform SDKs for the same capability. In sample code, use the API documented for that platform; never carry one platform's code over to another. On Apple platforms each product ships two SDKs (native Swift and Objective-C) whose APIs must not be mixed."]},"styling":{"latex":false},"navigation":{"languages":[{"language":"zh","href":"zh/rtc/overview"},{"language":"en","footer":{"socials":{"website":"https://www.stmlink.com/en"},"links":[{"header":"Products","items":[{"label":"Website","href":"https://www.stmlink.com/en"},{"label":"SRTC Audio \u0026 Video SDK","href":"https://docs.stmlink.com/en/rtc/overview"},{"label":"SMeeting Conferencing SDK","href":"https://docs.stmlink.com/en/meeting/overview"}]},{"header":"Support","items":[{"label":"Contact us","href":"https://www.stmlink.com/en"}]}]},"href":"en/rtc/overview"}]}},"deployment":{"deploymentMetadataValue":{"subdomain":"freewind","hasAudioNarration":false,"actualSubdomain":"freewind","customDomains":["docs.stmlink.com"],"gitSource":{"type":"github","owner":"seastart","repo":"stmlink-docs","deployBranch":"main","contentDirectory":"","isPrivate":true,"mountPath":"","label":""},"chroma":{"liveDeploymentHistoryId":"6ae0a0e48f66b62075d9f6d6","collectionId":"05c56cbd-b7bf-4654-89eb-3c91e3d1b633","schemaVersion":"v3","latestBuiltDeploymentHistoryId":"6ae0a0e48f66b62075d9f6d6"},"entitlements":{},"buildId":"6ae435eba5e160088bd3a3ba","clientVersion":"0.0.4021","searchFilterCounts":[{"language":"zh","tag":"SRTC 音视频 SDK","count":168},{"language":"en","tag":"SRTC Audio \u0026 Video SDK","count":153},{"language":"zh","tag":"SMeeting 会议 SDK","count":142},{"language":"en","tag":"SMeeting Conferencing SDK","count":116},{"language":"zh","tag":"接口文档","count":103},{"language":"en","tag":"API reference","count":101},{"language":"zh","tag":"进阶实践","count":69},{"language":"en","tag":"Android SDK","count":64},{"language":"zh","tag":"Android SDK","count":64},{"language":"en","tag":"Advanced","count":49},{"language":"en","tag":"Swift SDK (iOS/macOS)","count":44},{"language":"zh","tag":"Swift SDK(iOS/macOS)","count":44},{"language":"en","tag":"Windows SDK","count":41},{"language":"zh","tag":"HarmonyOS SDK","count":41},{"language":"zh","tag":"Windows SDK","count":41},{"language":"en","tag":"Web SDK","count":30},{"language":"zh","tag":"Web SDK","count":30},{"language":"en","tag":"iOS SDK (Objective-C)","count":27},{"language":"zh","tag":"iOS SDK","count":27},{"language":"en","tag":"Server API","count":22}]},"assistantConfig":{"enableAskAiButton":false,"enableStarterQuestions":false,"enableContextualStarterQuestions":false,"enableAskAiSearchBar":true},"basePath":"","hasChatPermissions":false,"hasWebMcpPermissions":false,"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":"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":"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":"byok-sep-25","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":"vite-origin","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"billing-updated-9-15","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}],"googleFontsInlined":false},"customCss":[],"page":{"pagePath":"zh/product/deploy/networks","slug":"/zh/product/deploy/networks","pageMetadata":{"title":"内外网与多线路","description":"一套私有化平台同时服务内网用户和外网用户怎么部署:什么是网络线路(内网/外网)、每条线路要准备的入口地址和媒体地址、入口与出口 IP 不同的机房要注意什么,以及业务系统如何让用户走对线路","href":"/zh/product/deploy/networks"},"description":{"compiledSource":"\"use strict\";\nconst {jsx: _jsx} = arguments[0];\nconst {useMDXComponents: _provideComponents} = arguments[0];\nfunction _createMdxContent(props) {\n const _components = {\n p: \"p\",\n ..._provideComponents(),\n ...props.components\n };\n return _jsx(_components.p, {\n children: \"一套私有化平台同时服务内网用户和外网用户怎么部署:什么是网络线路(内网/外网)、每条线路要准备的入口地址和媒体地址、入口与出口 IP 不同的机房要注意什么,以及业务系统如何让用户走对线路\"\n });\n}\nfunction MDXContent(props = {}) {\n const {wrapper: MDXLayout} = {\n ..._provideComponents(),\n ...props.components\n };\n return MDXLayout ? _jsx(MDXLayout, {\n ...props,\n children: _jsx(_createMdxContent, {\n ...props\n })\n }) : _createMdxContent(props);\n}\nreturn {\n default: MDXContent\n};\n","frontmatter":{},"scope":{}},"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`,hr:`hr`,li:`li`,ol:`ol`,p:`p`,strong:`strong`,tbody:`tbody`,td:`td`,th:`th`,thead:`thead`,tr:`tr`,ul:`ul`,..._provideComponents(),...props.components},{Heading,Mermaid,Table,Tip,Warning}=_components;if(!Heading)_missingMdxReference(`Heading`,true);if(!Mermaid)_missingMdxReference(`Mermaid`,true);if(!Table)_missingMdxReference(`Table`,true);if(!Tip)_missingMdxReference(`Tip`,true);if(!Warning)_missingMdxReference(`Warning`,true);return _jsxs(_Fragment,{children:[_jsx(_components.p,{children:`政企客户常见的情况:平台部署在内网机房,内网员工直接访问;出差、居家的同事从外网访问,\n走的是防火墙映射出去的公网地址。同一套平台、同一场会议,内外网用户要能互通。`}),`\n`,_jsxs(_components.p,{children:[`我们用`,_jsx(_components.strong,{children:`网络线路`}),`解决这个问题:平台为每条线路分别配置一组「客户端该连的地址」,\n用户进会时说明自己走哪条线路,平台就把对应的地址发给他。`]}),`\n`,_jsx(_components.hr,{}),`\n`,_jsx(Heading,{level:`2`,id:`网络线路是什么`,children:`网络线路是什么`}),`\n`,_jsx(Mermaid,{chart:`flowchart LR\n subgraph IN[\"内网\"]\n U1[\"内网用户\"]\n end\n subgraph OUT[\"外网\"]\n U2[\"外网用户\"]\n end\n FW[\"防火墙 / NAT\u003cbr/>公网 IP 203.0.113.10\"]\n P[\"平台服务器\u003cbr/>192.168.10.8\"]\n\n U1 -- \"线路:内网\u003cbr/>连 192.168.10.8\" --> P\n U2 -- \"线路:外网\u003cbr/>连 203.0.113.10\" --> FW\n FW --> P`}),`\n`,_jsx(_components.p,{children:`每条线路包含两类地址:`}),`\n`,_jsxs(Table,{children:[_jsx(_components.thead,{children:_jsxs(_components.tr,{children:[_jsx(_components.th,{children:`地址`}),_jsx(_components.th,{children:`作用`}),_jsx(_components.th,{children:`端口`})]})}),_jsxs(_components.tbody,{children:[_jsxs(_components.tr,{children:[_jsx(_components.td,{children:`入口地址`}),_jsx(_components.td,{children:`接口、信令、网页访问`}),_jsx(_components.td,{children:`443/TCP、18883/TCP`})]}),_jsxs(_components.tr,{children:[_jsx(_components.td,{children:`媒体地址`}),_jsx(_components.td,{children:`音视频`}),_jsx(_components.td,{children:`39001/UDP`})]})]})]}),`\n`,_jsxs(_components.p,{children:[`常见是两条线路:`,_jsx(_components.strong,{children:`内网`}),`、`,_jsx(_components.strong,{children:`外网`}),`。也可以按需配置更多(例如专网、另一个园区)。`]}),`\n`,_jsx(_components.hr,{}),`\n`,_jsx(Heading,{level:`2`,id:`部署时要准备什么`,children:`部署时要准备什么`}),`\n`,_jsxs(_components.ol,{children:[`\n`,_jsxs(_components.li,{children:[_jsx(_components.strong,{children:`每条线路的地址`}),`:内网线路用服务器内网地址;外网线路用防火墙映射出去的公网 IP 或域名`]}),`\n`,_jsxs(_components.li,{children:[_jsx(_components.strong,{children:`防火墙映射`}),`:外网线路的 443/TCP、18883/TCP、39001/UDP 映射到平台服务器,`,_jsx(_components.strong,{children:`端口号保持一致`})]}),`\n`,_jsxs(_components.li,{children:[_jsx(_components.strong,{children:`域名与证书`}),`:内外网通常使用不同的访问地址,证书要覆盖到用户实际访问的那个域名`]}),`\n`,_jsxs(_components.li,{children:[_jsx(_components.strong,{children:`在安装器中选择网络模式`}),`:仅内网、仅外网、或内外网都有。安装完成后,各线路的入口地址可以在管理后台 `,_jsx(_components.strong,{children:`系统配置 → 网络`}),` 中查看和修改`]}),`\n`]}),`\n`,_jsx(Warning,{children:_jsxs(_components.p,{children:[_jsx(_components.strong,{children:`入口 IP 和出口 IP 不同的机房要特别注意`}),`:很多机房用户访问进来的公网 IP,和服务器访问外网时出去的 IP 不是同一个。\n这种情况下必须把外网线路的媒体地址`,_jsx(_components.strong,{children:`明确配置成用户访问进来的那个公网 IP`}),`,否则外网用户能进会但没有画面和声音。`]})}),`\n`,_jsx(_components.hr,{}),`\n`,_jsx(Heading,{level:`2`,id:`用户怎么走对线路`,children:`用户怎么走对线路`}),`\n`,_jsx(_components.p,{children:`平台根据用户进会时带的「线路」决定发哪组地址给他。业务系统有两种做法:`}),`\n`,_jsxs(_components.ul,{children:[`\n`,_jsxs(_components.li,{children:[_jsx(_components.strong,{children:`让用户选`}),`:客户端列出「内网 / 外网」,用户自己选`]}),`\n`,_jsxs(_components.li,{children:[_jsx(_components.strong,{children:`服务端自动判断`}),`:按用户访问的域名、或用户的 IP 是否是内网地址来判断`]}),`\n`]}),`\n`,_jsxs(_components.p,{children:[`没有指定线路时默认按`,_jsx(_components.strong,{children:`内网`}),`处理。具体做法和代码示例见开发者文档`,_jsx(_components.a,{href:`/zh/rtc/network-line`,children:`多网络线路`}),`。`]}),`\n`,_jsx(Tip,{children:_jsx(_components.p,{children:`现象「内网用户正常、外网用户能进会但没画面」,十有八九是外网用户被当成了内网线路,或者外网线路的媒体地址配错。`})}),`\n`,_jsx(_components.hr,{}),`\n`,_jsx(Heading,{level:`2`,id:`与光闸的关系`,children:`与光闸的关系`}),`\n`,_jsxs(_components.p,{children:[`内外网之间是`,_jsx(_components.strong,{children:`光闸 / 网闸`}),`隔离、不能直接做防火墙映射时,外网线路的地址要指向光闸外侧的穿透网关,\n见`,_jsx(_components.a,{href:`/zh/product/deploy/optical-gap`,children:`光闸跨网接入`}),`。`]})]})}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":"内外网与多线路","description":"一套私有化平台同时服务内网用户和外网用户怎么部署:什么是网络线路(内网/外网)、每条线路要准备的入口地址和媒体地址、入口与出口 IP 不同的机房要注意什么,以及业务系统如何让用户走对线路","href":"/zh/product/deploy/networks"}}},"mdxSourceWithNoJs":null},"mdxExtracts":{"tableOfContents":[{"title":"网络线路是什么","slug":"网络线路是什么","depth":2,"children":[]},{"title":"部署时要准备什么","slug":"部署时要准备什么","depth":2,"children":[]},{"title":"用户怎么走对线路","slug":"用户怎么走对线路","depth":2,"children":[]},{"title":"与光闸的关系","slug":"与光闸的关系","depth":2,"children":[]}],"codeExamples":{}},"jsLinks":[],"subdomain":"freewind","siteName":"STMLink Docs","title":"内外网与多线路 - STMLink Docs","navMaps":{"firstHrefInVersion":{},"firstHrefInLanguage":{"zh":{"href":"/zh/product/deploy/networks","matchLevel":0},"en":{"href":"/en/product/deploy/networks","matchLevel":1}}},"lastModified":"2026-10-13T07:12:20.412Z","originalFileLocation":"zh/product/deploy/networks.md","locale":"zh"},"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=\"description\" content=\"一套私有化平台同时服务内网用户和外网用户怎么部署:什么是网络线路(内网/外网)、每条线路要准备的入口地址和媒体地址、入口与出口 IP 不同的机房要注意什么,以及业务系统如何让用户走对线路\">\u003cmeta data-mint-head name=\"application-name\" content=\"STMLink 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/freewind/ZKlibvJ7BVLSobx8/_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/freewind/ZKlibvJ7BVLSobx8/_generated/favicon/apple-touch-icon.png\">\u003clink data-mint-head rel=\"icon\" type=\"image/png\" sizes=\"16x16\" href=\"/mintlify-assets/_mintlify/favicons/freewind/ZKlibvJ7BVLSobx8/_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/freewind/ZKlibvJ7BVLSobx8/_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/freewind/ZKlibvJ7BVLSobx8/_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/freewind/ZKlibvJ7BVLSobx8/_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/freewind/ZKlibvJ7BVLSobx8/_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/freewind/ZKlibvJ7BVLSobx8/_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/freewind/ZKlibvJ7BVLSobx8/_generated/favicon-dark/favicon.ico\" media=\"(prefers-color-scheme: dark)\">\u003cmeta data-mint-head property=\"og:title\" content=\"内外网与多线路 - STMLink Docs\">\u003cmeta data-mint-head property=\"og:description\" content=\"一套私有化平台同时服务内网用户和外网用户怎么部署:什么是网络线路(内网/外网)、每条线路要准备的入口地址和媒体地址、入口与出口 IP 不同的机房要注意什么,以及业务系统如何让用户走对线路\">\u003cmeta data-mint-head property=\"og:site_name\" content=\"STMLink Docs\">\u003cmeta data-mint-head property=\"og:url\" content=\"https://docs.stmlink.com/zh/product/deploy/networks\">\u003cmeta data-mint-head property=\"og:type\" content=\"website\">\u003cmeta data-mint-head property=\"og:image\" content=\"https://freewind.mintlify.app/_mintlify/api/og/v2?division=%E7%A7%81%E6%9C%89%E5%8C%96%E9%83%A8%E7%BD%B2\u0026amp;title=%E5%86%85%E5%A4%96%E7%BD%91%E4%B8%8E%E5%A4%9A%E7%BA%BF%E8%B7%AF\u0026amp;description=%E4%B8%80%E5%A5%97%E7%A7%81%E6%9C%89%E5%8C%96%E5%B9%B3%E5%8F%B0%E5%90%8C%E6%97%B6%E6%9C%8D%E5%8A%A1%E5%86%85%E7%BD%91%E7%94%A8%E6%88%B7%E5%92%8C%E5%A4%96%E7%BD%91%E7%94%A8%E6%88%B7%E6%80%8E%E4%B9%88%E9%83%A8%E7%BD%B2%EF%BC%9A%E4%BB%80%E4%B9%88%E6%98%AF%E7%BD%91%E7%BB%9C%E7%BA%BF%E8%B7%AF%EF%BC%88%E5%86%85%E7%BD%91%2F%E5%A4%96%E7%BD%91%EF%BC%89%E3%80%81%E6%AF%8F%E6%9D%A1%E7%BA%BF%E8%B7%AF%E8%A6%81%E5%87%86%E5%A4%87%E7%9A%84%E5%85%A5%E5%8F%A3%E5%9C%B0%E5%9D%80%E5%92%8C%E5%AA%92%E4%BD%93%E5%9C%B0%E5%9D%80%E3%80%81%E5%85%A5%E5%8F%A3%E4%B8%8E%E5%87%BA%E5%8F%A3+IP+%E4%B8%8D%E5%90%8C%E7%9A%84%E6%9C%BA%E6%88%BF%E8%A6%81%E6%B3%A8%E6%84%8F%E4%BB%80%E4%B9%88%EF%BC%8C%E4%BB%A5%E5%8F%8A%E4%B8%9A%E5%8A%A1%E7%B3%BB%E7%BB%9F%E5%A6%82%E4%BD%95%E8%AE%A9%E7%94%A8%E6%88%B7%E8%B5%B0%E5%AF%B9%E7%BA%BF%E8%B7%AF\u0026amp;theme=654b2206dad3993961863283\u0026amp;signature=bee6ef871b421595dd25984f52cc92d8233d3a849dfeb4d8fc98444d6289f749\">\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=\"内外网与多线路 - STMLink Docs\">\u003cmeta data-mint-head name=\"twitter:description\" content=\"一套私有化平台同时服务内网用户和外网用户怎么部署:什么是网络线路(内网/外网)、每条线路要准备的入口地址和媒体地址、入口与出口 IP 不同的机房要注意什么,以及业务系统如何让用户走对线路\">\u003cmeta data-mint-head name=\"twitter:image\" content=\"https://freewind.mintlify.app/_mintlify/api/og/v2?division=%E7%A7%81%E6%9C%89%E5%8C%96%E9%83%A8%E7%BD%B2\u0026amp;title=%E5%86%85%E5%A4%96%E7%BD%91%E4%B8%8E%E5%A4%9A%E7%BA%BF%E8%B7%AF\u0026amp;description=%E4%B8%80%E5%A5%97%E7%A7%81%E6%9C%89%E5%8C%96%E5%B9%B3%E5%8F%B0%E5%90%8C%E6%97%B6%E6%9C%8D%E5%8A%A1%E5%86%85%E7%BD%91%E7%94%A8%E6%88%B7%E5%92%8C%E5%A4%96%E7%BD%91%E7%94%A8%E6%88%B7%E6%80%8E%E4%B9%88%E9%83%A8%E7%BD%B2%EF%BC%9A%E4%BB%80%E4%B9%88%E6%98%AF%E7%BD%91%E7%BB%9C%E7%BA%BF%E8%B7%AF%EF%BC%88%E5%86%85%E7%BD%91%2F%E5%A4%96%E7%BD%91%EF%BC%89%E3%80%81%E6%AF%8F%E6%9D%A1%E7%BA%BF%E8%B7%AF%E8%A6%81%E5%87%86%E5%A4%87%E7%9A%84%E5%85%A5%E5%8F%A3%E5%9C%B0%E5%9D%80%E5%92%8C%E5%AA%92%E4%BD%93%E5%9C%B0%E5%9D%80%E3%80%81%E5%85%A5%E5%8F%A3%E4%B8%8E%E5%87%BA%E5%8F%A3+IP+%E4%B8%8D%E5%90%8C%E7%9A%84%E6%9C%BA%E6%88%BF%E8%A6%81%E6%B3%A8%E6%84%8F%E4%BB%80%E4%B9%88%EF%BC%8C%E4%BB%A5%E5%8F%8A%E4%B8%9A%E5%8A%A1%E7%B3%BB%E7%BB%9F%E5%A6%82%E4%BD%95%E8%AE%A9%E7%94%A8%E6%88%B7%E8%B5%B0%E5%AF%B9%E7%BA%BF%E8%B7%AF\u0026amp;theme=654b2206dad3993961863283\u0026amp;signature=bee6ef871b421595dd25984f52cc92d8233d3a849dfeb4d8fc98444d6289f749\">\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/freewind/ZKlibvJ7BVLSobx8/_generated/favicon/browserconfig.xml\">\u003cmeta data-mint-head name=\"apple-mobile-web-app-title\" content=\"STMLink Docs\">\u003cmeta data-mint-head name=\"msapplication-TileColor\" content=\"#0066FF\">\u003clink data-mint-head rel=\"canonical\" href=\"https://docs.stmlink.com/zh/product/deploy/networks\">\u003clink data-mint-head rel=\"alternate\" type=\"application/xml\" href=\"/sitemap.xml\">\u003clink data-mint-head rel=\"alternate\" type=\"text/markdown\" href=\"/zh/product/deploy/networks.md\">\u003clink data-mint-head rel=\"alternate\" hreflang=\"zh\" href=\"https://docs.stmlink.com/zh/product/deploy/networks\">\u003clink data-mint-head rel=\"alternate\" hreflang=\"en\" href=\"https://docs.stmlink.com/en/product/deploy/networks\">\u003clink data-mint-head rel=\"alternate\" hreflang=\"x-default\" href=\"https://docs.stmlink.com/zh/product/deploy/networks\">\u003cscript data-mint-head type=\"application/ld+json\">{\"@context\":\"https://schema.org\",\"@graph\":[{\"@type\":\"Organization\",\"@id\":\"https://docs.stmlink.com/#organization\",\"name\":\"STMLink Docs\",\"url\":\"https://docs.stmlink.com\",\"logo\":{\"@type\":\"ImageObject\",\"url\":\"https://mintcdn.com/freewind/-N23X1jpF3KMqIP_/logo/light.svg?fit=max\u0026auto=format\u0026n=-N23X1jpF3KMqIP_\u0026q=85\u0026s=c87be878176892b493466cf0647c68cc\"}},{\"@type\":\"WebSite\",\"@id\":\"https://docs.stmlink.com#website\",\"name\":\"STMLink Docs\",\"url\":\"https://docs.stmlink.com\",\"publisher\":{\"@id\":\"https://docs.stmlink.com/#organization\"}},{\"@type\":\"WebPage\",\"@id\":\"https://docs.stmlink.com/zh/product/deploy/networks#webpage\",\"url\":\"https://docs.stmlink.com/zh/product/deploy/networks\",\"name\":\"内外网与多线路\",\"description\":\"一套私有化平台同时服务内网用户和外网用户怎么部署:什么是网络线路(内网/外网)、每条线路要准备的入口地址和媒体地址、入口与出口 IP 不同的机房要注意什么,以及业务系统如何让用户走对线路\",\"dateModified\":\"2026-10-13T07:12:20.412Z\",\"isPartOf\":{\"@id\":\"https://docs.stmlink.com#website\"},\"breadcrumb\":{\"@id\":\"https://docs.stmlink.com/zh/product/deploy/networks#breadcrumb\"}},{\"@type\":\"BreadcrumbList\",\"@id\":\"https://docs.stmlink.com/zh/product/deploy/networks#breadcrumb\",\"itemListElement\":[{\"@type\":\"ListItem\",\"position\":1,\"name\":\"私有化部署\",\"item\":\"https://docs.stmlink.com/zh/product/deploy/architecture\"},{\"@type\":\"ListItem\",\"position\":2,\"name\":\"内外网与多线路\",\"item\":\"https://docs.stmlink.com/zh/product/deploy/networks\"}]},{\"@type\":[\"Article\",\"TechArticle\"],\"@id\":\"https://docs.stmlink.com/zh/product/deploy/networks#article\",\"headline\":\"内外网与多线路\",\"name\":\"内外网与多线路\",\"description\":\"一套私有化平台同时服务内网用户和外网用户怎么部署:什么是网络线路(内网/外网)、每条线路要准备的入口地址和媒体地址、入口与出口 IP 不同的机房要注意什么,以及业务系统如何让用户走对线路\",\"url\":\"https://docs.stmlink.com/zh/product/deploy/networks\",\"mainEntityOfPage\":{\"@id\":\"https://docs.stmlink.com/zh/product/deploy/networks#webpage\"},\"dateModified\":\"2026-10-13T07:12:20.412Z\",\"publisher\":{\"@id\":\"https://docs.stmlink.com/#organization\"},\"isPartOf\":{\"@id\":\"https://docs.stmlink.com#website\"}}]}\u003c/script>\u003cscript data-mint-head type=\"application/ld+json\">{\"@context\":\"https://schema.org\",\"@type\":\"WebSite\",\"name\":\"STMLink Docs\",\"creator\":{\"@type\":\"Organization\",\"name\":\"Mintlify\",\"url\":\"https://mintlify.com\"}}\u003c/script>","siteName":"STMLink Docs","nav":{"global":null,"languages":[{"language":"zh","tabs":[{"tab":"SRTC 音视频 SDK","pages":[{"title":"SRTC 音视频 SDK","href":"/zh/rtc/overview"}]},{"tab":"SMeeting 会议 SDK","pages":[{"title":"SMeeting 会议 SDK","href":"/zh/meeting/overview"}]},{"tab":"产品与部署","groups":[{"group":"概览","pages":[{"title":"产品全景","href":"/zh/product/overview"},{"title":"管理后台功能一览","href":"/zh/product/admin-console"},{"title":"在线体验","href":"/zh/product/demos"}]},{"group":"设备接入(会议室连接器)","pages":[{"title":"设备接入概览","sidebarTitle":"概览","href":"/zh/product/device-access/overview"},{"title":"SIP / H.323 终端","href":"/zh/product/device-access/sip-h323"},{"title":"接入电话线路","sidebarTitle":"电话线路(SIP)","href":"/zh/product/device-access/phone-lines"},{"title":"GB28181 摄像头","href":"/zh/product/device-access/gb28181"},{"title":"RTSP 视频流","href":"/zh/product/device-access/rtsp"},{"title":"设备接入常见问题","sidebarTitle":"常见问题","href":"/zh/product/device-access/faq"}]},{"group":"终端产品","pages":[{"title":"软 SIP / H.323 终端","sidebarTitle":"软 SIP / H.323 终端","href":"/zh/product/terminals/softsip"},{"title":"STM Link Rooms(安卓 TV 大屏版)","sidebarTitle":"STM Link Rooms(TV 版)","href":"/zh/product/terminals/tv"}]},{"group":"私有化部署","pages":[{"title":"组件与架构","href":"/zh/product/deploy/architecture"},{"title":"网络与端口要求","description":"私有化部署要开放哪些端口:客户端必开的 443/TCP、18883/TCP、39001/UDP,设备网关的 SIP / H.323 / GB28181 端口与 RTP 端口段,多节点与 MCU 直播端口,哪些端口严禁对外,附防火墙命令。给客户网络、安全部门提开墙申请时直接用","href":"/zh/product/deploy/ports"},{"title":"内外网与多线路","href":"/zh/product/deploy/networks"},{"title":"多节点与就近接入","description":"一台媒体服务器不够用、或用户分布在多个机房/地区时怎么部署:多媒体节点如何按负载分配频道、节点满载后同一场会议如何溢出到其它节点、如何按地区分组让用户就近接入,以及容量配置、部署前提与限制。做大并发或多地域方案前读这页","href":"/zh/product/deploy/multi-node"},{"title":"光闸跨网接入","href":"/zh/product/deploy/optical-gap"}]}]}]},{"language":"en","footer":{"socials":{"website":"https://www.stmlink.com/en"},"links":[{"header":"Products","items":[{"label":"Website","href":"https://www.stmlink.com/en"},{"label":"SRTC Audio \u0026 Video SDK","href":"https://docs.stmlink.com/en/rtc/overview"},{"label":"SMeeting Conferencing SDK","href":"https://docs.stmlink.com/en/meeting/overview"}]},{"header":"Support","items":[{"label":"Contact us","href":"https://www.stmlink.com/en"}]}]},"pages":[{"title":"en","href":"/en/product/deploy/networks"}]}]},"title":"内外网与多线路 - STMLink Docs","buildId":"dpl_EnxDqhjaNc9a8MVa833TGULPd9uJ","deploymentId":"dpl_EnxDqhjaNc9a8MVa833TGULPd9uJ","dynamics":[],"chunks":[]}