{"id":12150,"date":"2025-02-11T16:56:40","date_gmt":"2025-02-12T00:56:40","guid":{"rendered":"https:\/\/www.xh86.me\/?p=12150"},"modified":"2025-02-11T17:16:08","modified_gmt":"2025-02-12T01:16:08","slug":"freepbx-%e5%af%b9%e6%8e%a5-twilio-sip-trunk-ivr-%e8%af%ad%e9%9f%b3%e5%af%bc%e8%88%aa-%e6%b3%a8%e5%86%8c%e7%ab%af%e5%8f%a3%e4%bf%ae%e6%94%b9-%e5%87%ba%e5%b1%80%e8%b7%af%e7%94%b1-%e5%88%86","status":"publish","type":"post","link":"https:\/\/www.xh86.me\/?p=12150","title":{"rendered":"FreePBX \u5bf9\u63a5 Twilio SIP Trunk + IVR \u8bed\u97f3\u5bfc\u822a + \u6ce8\u518c\u7aef\u53e3\u4fee\u6539 + \u51fa\u5c40\u8def\u7531 + \u5206\u7ec4\u632f\u94c3 + \u8fdc\u7a0b\u8bdd\u673a\u6ce8\u518c\u5b8c\u6574\u914d\u7f6e\u6307\u5357"},"content":{"rendered":"<p>&nbsp;<\/p>\n<h2><strong>\u4e00\u3001\u5bf9\u63a5 Twilio SIP Trunk<\/strong><\/h2>\n<p>Twilio \u63d0\u4f9b\u57fa\u4e8e SIP Trunk \u7684\u7535\u8bdd\u670d\u52a1\uff0cFreePBX \u9700\u8981\u6b63\u786e\u914d\u7f6e Trunk \u4ee5\u63a5\u5165 Twilio \u7f51\u7edc\u3002<\/p>\n<h3><strong>1. \u521b\u5efa Twilio SIP Trunk<\/strong><\/h3>\n<ol>\n<li><strong>\u767b\u5f55 FreePBX Web \u754c\u9762<\/strong>\u3002<\/li>\n<li><strong>\u8fdb\u5165 &#8220;Connectivity&#8221; \u2192 &#8220;Trunks&#8221;<\/strong>\u3002<\/li>\n<li><strong>\u70b9\u51fb &#8220;Add Trunk&#8221; \u2192 &#8220;Add SIP (PJSIP) Trunk&#8221;<\/strong>\u3002<\/li>\n<\/ol>\n<h3><strong>2. \u914d\u7f6e\u57fa\u672c\u4fe1\u606f<\/strong><\/h3>\n<ul>\n<li><strong>Trunk Name:<\/strong> <code>Twilio<\/code><\/li>\n<li><strong>Outbound CallerID:<\/strong> <code>\u4f60\u7684 Twilio \u53f7\u7801<\/code><\/li>\n<li><strong>Maximum Channels:<\/strong> <code>\u6839\u636e\u9700\u8981\u586b\u5199\uff08\u4e00\u822c 10-20\uff09<\/code><\/li>\n<\/ul>\n<h3><strong>3. \u914d\u7f6e PJSIP \u8bbe\u7f6e<\/strong><\/h3>\n<ul>\n<li><strong>SIP Server:<\/strong> <code>your_twilio_domain.pstn.twilio.com<\/code><\/li>\n<li><strong>SIP Server Port:<\/strong> <code>5060<\/code>\uff08Twilio \u9ed8\u8ba4\uff09<\/li>\n<li><strong>Authentication:<\/strong> <code>Outbound<\/code><\/li>\n<li><strong>SIP Username:<\/strong> <code>Twilio \u63d0\u4f9b\u7684\u8d26\u53f7<\/code><\/li>\n<li><strong>SIP Password:<\/strong> <code>Twilio \u63d0\u4f9b\u7684\u5bc6\u7801<\/code><\/li>\n<li><strong>SIP Transport:<\/strong> <code>UDP<\/code>\uff08\u6216\u6839\u636e Twilio \u9700\u6c42\u8c03\u6574\uff09<\/li>\n<\/ul>\n<h3><strong>4. \u914d\u7f6e &#8220;Advanced&#8221;\uff08\u9ad8\u7ea7\uff09<\/strong><\/h3>\n<ul>\n<li><strong>Rewrite Contact:<\/strong> <code>Yes<\/code><\/li>\n<li><strong>From Domain:<\/strong> <code>your_twilio_domain.pstn.twilio.com<\/code><\/li>\n<li><strong>From User:<\/strong> <code>\u4f60\u7684 Twilio \u8d26\u53f7<\/code><\/li>\n<li><strong>Send RPID\/PAI:<\/strong> <code>Send P-Asserted-Identity header<\/code><\/li>\n<\/ul>\n<h3><strong>5. \u914d\u7f6e &#8220;Codecs&#8221;\uff08\u7f16\u89e3\u7801\uff09<\/strong><\/h3>\n<ul>\n<li><strong>\u5141\u8bb8\u7684 Codecs:<\/strong> <code>ulaw, alaw, g729, opus<\/code><\/li>\n<\/ul>\n<h3><strong>6. \u4fdd\u5b58 &amp; \u5e94\u7528<\/strong><\/h3>\n<ul>\n<li>\u70b9\u51fb <strong>Submit<\/strong> \u5e76 <strong>Apply Config<\/strong>\u3002<\/li>\n<\/ul>\n<hr \/>\n<h2><strong>\u4e8c\u3001\u4e0a\u4f20 IVR \u8bed\u97f3\u5bfc\u822a<\/strong><\/h2>\n<p>IVR\uff08Interactive Voice Response\uff09\u5141\u8bb8\u6765\u7535\u8005\u9009\u62e9\u4e0d\u540c\u7684\u5206\u673a\u6216\u90e8\u95e8\u3002<\/p>\n<h3><strong>1. \u5f55\u5236\u5e76\u4e0a\u4f20\u8bed\u97f3<\/strong><\/h3>\n<ol>\n<li>\u8fdb\u5165 <strong>&#8220;Admin&#8221; \u2192 &#8220;System Recordings&#8221;<\/strong>\u3002<\/li>\n<li>\u70b9\u51fb <strong>&#8220;Upload Recording&#8221;<\/strong>\u3002<\/li>\n<li>\u4e0a\u4f20 <strong>.wav \u6216 .mp3<\/strong> \u8bed\u97f3\u6587\u4ef6\uff08\u683c\u5f0f\u5efa\u8bae 16-bit, 8kHz, Mono\uff09\u3002<\/li>\n<li>\u5f55\u97f3\u540d\u79f0\u53ef\u8bbe\u4e3a <code>Main_IVR<\/code>\u3002<\/li>\n<\/ol>\n<h3><strong>2. \u521b\u5efa IVR<\/strong><\/h3>\n<ol>\n<li>\u8fdb\u5165 <strong>&#8220;Applications&#8221; \u2192 &#8220;IVR&#8221;<\/strong>\u3002<\/li>\n<li>\u70b9\u51fb <strong>&#8220;Add IVR&#8221;<\/strong>\uff0c\u8bbe\u7f6e\uff1a\n<ul>\n<li><strong>IVR Name:<\/strong> <code>Main_Menu<\/code><\/li>\n<li><strong>Announcement:<\/strong> <code>Main_IVR<\/code><\/li>\n<li><strong>Timeout:<\/strong> <code>5s<\/code><\/li>\n<li><strong>Invalid Retries:<\/strong> <code>3<\/code><\/li>\n<\/ul>\n<\/li>\n<li><strong>\u914d\u7f6e\u6309\u952e\u6620\u5c04<\/strong>\n<ul>\n<li><code>1 \u2192 \u4e1a\u52a1\u90e8<\/code><\/li>\n<li><code>2 \u2192 \u5ba2\u670d<\/code><\/li>\n<li><code>3 \u2192 \u6280\u672f\u652f\u6301<\/code><\/li>\n<li><code>0 \u2192 \u8bed\u97f3\u4fe1\u7bb1<\/code><\/li>\n<\/ul>\n<\/li>\n<li><strong>\u4fdd\u5b58\u5e76\u5e94\u7528<\/strong>\u3002<\/li>\n<\/ol>\n<hr \/>\n<h2><strong>\u4e09\u3001\u4fee\u6539 FreePBX SIP \u76d1\u542c\u7aef\u53e3 5060 \u2192 7080<\/strong><\/h2>\n<ol>\n<li>\u8fdb\u5165 <strong>&#8220;Settings&#8221; \u2192 &#8220;Asterisk SIP Settings&#8221;<\/strong>\u3002<\/li>\n<li>\u5728 <strong>Chan PJSIP Settings<\/strong>\uff1a\n<ul>\n<li><strong>Port to Listen On<\/strong> \u2192 <strong>7080<\/strong><\/li>\n<\/ul>\n<\/li>\n<li><strong>\u7981\u7528 Chan_SIP<\/strong>\n<ul>\n<li>\u5728 <strong>Chan SIP Settings<\/strong> \u2192 \u76d1\u542c\u7aef\u53e3\u6539\u4e3a <code>0<\/code><\/li>\n<\/ul>\n<\/li>\n<li><strong>\u91cd\u542f Asterisk<\/strong>\n<pre><code class=\"language-bash\">fwconsole restart\r\n<\/code><\/pre>\n<\/li>\n<\/ol>\n<hr \/>\n<h2><strong>\u56db\u3001\u914d\u7f6e\u51fa\u5c40\u8def\u7531<\/strong><\/h2>\n<h3><strong>1. \u521b\u5efa\u51fa\u5c40\u8def\u7531<\/strong><\/h3>\n<ol>\n<li>\u8fdb\u5165 <strong>&#8220;Connectivity&#8221; \u2192 &#8220;Outbound Routes&#8221;<\/strong>\u3002<\/li>\n<li>\u70b9\u51fb <strong>&#8220;Add Outbound Route&#8221;<\/strong>\u3002<\/li>\n<\/ol>\n<h3><strong>2. \u914d\u7f6e\u57fa\u672c\u4fe1\u606f<\/strong><\/h3>\n<ul>\n<li><strong>Route Name:<\/strong> <code>Twilio_Out<\/code><\/li>\n<li><strong>Trunk Sequence:<\/strong> <code>Twilio<\/code><\/li>\n<\/ul>\n<h3><strong>3. \u914d\u7f6e\u62e8\u53f7\u6a21\u5f0f<\/strong><\/h3>\n<p>\u5728 <strong>Dial Patterns<\/strong> \u4e2d\u6dfb\u52a0\uff1a<\/p>\n<ul>\n<li><strong>Match Pattern:<\/strong> <code>X.<\/code>\uff08\u5339\u914d\u6240\u6709\u5916\u90e8\u53f7\u7801\uff09<\/li>\n<li><strong>Prefix:<\/strong> \uff08\u7559\u7a7a\uff09<\/li>\n<\/ul>\n<h3><strong>4. \u4fdd\u5b58 &amp; \u5e94\u7528<\/strong><\/h3>\n<p>\u70b9\u51fb <strong>Submit<\/strong> \u5e76 <strong>Apply Config<\/strong>\u3002<\/p>\n<hr \/>\n<h2><strong>\u4e94\u3001\u8bbe\u7f6e\u5206\u673a\u5206\u7ec4 &amp; \u5206\u7ec4\u632f\u94c3<\/strong><\/h2>\n<h3><strong>1. \u521b\u5efa Ring Group<\/strong><\/h3>\n<ol>\n<li>\u8fdb\u5165 <strong>&#8220;Applications&#8221; \u2192 &#8220;Ring Groups&#8221;<\/strong>\u3002<\/li>\n<li>\u70b9\u51fb <strong>&#8220;Add Ring Group&#8221;<\/strong>\uff1a\n<ul>\n<li><strong>Ring Group Number:<\/strong> <code>600<\/code><\/li>\n<li><strong>Ring Strategy:<\/strong> <code>Ring All<\/code><\/li>\n<li><strong>Extensions:<\/strong> <code>100, 101, 102<\/code><\/li>\n<li><strong>Destination if no answer:<\/strong> <code>Voicemail<\/code><\/li>\n<\/ul>\n<\/li>\n<\/ol>\n<h3><strong>2. \u7ed1\u5b9a\u5230 IVR<\/strong><\/h3>\n<ul>\n<li>\u8fdb\u5165 <strong>IVR<\/strong> \u8bbe\u7f6e\uff0c\u5c06 <code>\u6309\u952e 2<\/code> \u7ed1\u5b9a\u5230 <strong>Ring Group 600<\/strong>\u3002<\/li>\n<\/ul>\n<hr \/>\n<h2><strong>\u516d\u3001\u9650\u5236\u5206\u673a\u53ea\u80fd\u901a\u8fc7\u57df\u540d\u6ce8\u518c<\/strong><\/h2>\n<h3><strong>1. \u4fee\u6539 FreePBX \u7f51\u7edc\u8bbe\u7f6e<\/strong><\/h3>\n<ol>\n<li>\u8fdb\u5165 <strong>&#8220;Settings&#8221; \u2192 &#8220;Asterisk SIP Settings&#8221;<\/strong>\u3002<\/li>\n<li>\u5728 <strong>General SIP Settings<\/strong>\uff1a\n<ul>\n<li><strong>External Address:<\/strong> <code>pbx.yourdomain.com<\/code><\/li>\n<li><strong>Local Networks:<\/strong> <strong>\u5220\u9664\u6240\u6709 IP\uff0c\u4ec5\u4fdd\u7559\u516c\u7f51 IP<\/strong><\/li>\n<li><strong>Allow Anonymous Inbound SIP Calls:<\/strong> <code>No<\/code><\/li>\n<\/ul>\n<\/li>\n<li><strong>\u4ec5\u5141\u8bb8\u57df\u540d\u6ce8\u518c<\/strong>\n<ul>\n<li>\u8fdb\u5165 <strong>Firewall<\/strong>\uff0c\u5c4f\u853d\u6240\u6709\u975e <code>pbx.yourdomain.com<\/code> \u7684\u6ce8\u518c\u8bf7\u6c42\u3002<\/li>\n<\/ul>\n<\/li>\n<\/ol>\n<hr \/>\n<h2><strong>\u4e03\u3001\u4f01\u4e1a\u5185\u7f51\u8bdd\u673a\u6ce8\u518c\u9632\u706b\u5899\u8bbe\u7f6e<\/strong><\/h2>\n<p>\u5982\u679c\u8bdd\u673a\u5728\u4f01\u4e1a\u5185\u7f51\uff0c\u800c FreePBX \u5728\u516c\u7f51\uff0c\u53ef\u80fd\u4f1a\u88ab NAT \u6216\u9632\u706b\u5899\u62e6\u622a\u3002<\/p>\n<h3><strong>1. \u786e\u4fdd FreePBX \u5141\u8bb8\u5185\u7f51 IP<\/strong><\/h3>\n<ul>\n<li>\u5728 <strong>&#8220;Asterisk SIP Settings&#8221; \u2192 &#8220;Local Networks&#8221;<\/strong> \u6dfb\u52a0\uff1a\n<pre><code>192.168.1.0\/24\r\n10.0.0.0\/8\r\n<\/code><\/pre>\n<\/li>\n<\/ul>\n<h3><strong>2. \u914d\u7f6e\u4f01\u4e1a\u9632\u706b\u5899<\/strong><\/h3>\n<ul>\n<li><strong>\u5141\u8bb8\u4ee5\u4e0b\u7aef\u53e3\u51fa\u5165<\/strong>\uff1a\n<ul>\n<li><code>7080\/UDP<\/code>\uff08SIP\uff09<\/li>\n<li><code>10000-20000\/UDP<\/code>\uff08RTP\uff09<\/li>\n<li><code>443\/TCP<\/code>\uff08HTTPS Web \u63a5\u53e3\uff09<\/li>\n<\/ul>\n<\/li>\n<\/ul>\n<h3><strong>3. \u914d\u7f6e STUN &amp; NAT<\/strong><\/h3>\n<ul>\n<li>\u8fdb\u5165 <strong>&#8220;Asterisk SIP Settings&#8221;<\/strong>\uff1a\n<ul>\n<li><strong>NAT Mode:<\/strong> <code>Yes<\/code><\/li>\n<li><strong>STUN Server:<\/strong> <code>stun.l.google.com:19302<\/code><\/li>\n<li><strong>Media Address:<\/strong> <code>pbx.yourdomain.com<\/code><\/li>\n<\/ul>\n<\/li>\n<\/ul>\n<h3><strong>4. \u5185\u7f51\u8bdd\u673a\u8bbe\u7f6e<\/strong><\/h3>\n<p>\u5728\u8bdd\u673a\u7684 <strong>SIP Server<\/strong> \u8bbe\u7f6e\uff1a<\/p>\n<ul>\n<li><strong>SIP Server:<\/strong> <code>pbx.yourdomain.com<\/code><\/li>\n<li><strong>Outbound Proxy:<\/strong> <code>pbx.yourdomain.com:7080<\/code><\/li>\n<li><strong>Transport:<\/strong> <code>TLS<\/code>\uff08\u63a8\u8350\uff09<\/li>\n<\/ul>\n<p>&nbsp;<\/p>\n","protected":false},"excerpt":{"rendered":"<p>&nbsp; \u4e00\u3001\u5bf9\u63a5 Twilio SIP Trunk Twilio \u63d0\u4f9b\u57fa\u4e8e SIP Trunk \u7684\u7535\u8bdd\u670d [&hellip;]<\/p>\n","protected":false},"author":1,"featured_media":0,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"footnotes":""},"categories":[12,3],"tags":[],"class_list":["post-12150","post","type-post","status-publish","format-standard","hentry","category-linux","category-system"],"_links":{"self":[{"href":"https:\/\/www.xh86.me\/index.php?rest_route=\/wp\/v2\/posts\/12150","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/www.xh86.me\/index.php?rest_route=\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/www.xh86.me\/index.php?rest_route=\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/www.xh86.me\/index.php?rest_route=\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/www.xh86.me\/index.php?rest_route=%2Fwp%2Fv2%2Fcomments&post=12150"}],"version-history":[{"count":2,"href":"https:\/\/www.xh86.me\/index.php?rest_route=\/wp\/v2\/posts\/12150\/revisions"}],"predecessor-version":[{"id":12160,"href":"https:\/\/www.xh86.me\/index.php?rest_route=\/wp\/v2\/posts\/12150\/revisions\/12160"}],"wp:attachment":[{"href":"https:\/\/www.xh86.me\/index.php?rest_route=%2Fwp%2Fv2%2Fmedia&parent=12150"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/www.xh86.me\/index.php?rest_route=%2Fwp%2Fv2%2Fcategories&post=12150"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/www.xh86.me\/index.php?rest_route=%2Fwp%2Fv2%2Ftags&post=12150"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}