<mxfile host="65bd71144e">
<diagram id="-TGdlIeuPAAU9olSj8nq" name="Page-1">
<mxGraphModel dx="1113" dy="732" grid="1" gridSize="10" guides="1" tooltips="1" connect="1" arrows="1" fold="1" page="1" pageScale="1" pageWidth="850" pageHeight="1100" math="0" shadow="0">
<root>
<mxCell id="0"/>
<mxCell id="1" parent="0"/>
<mxCell id="75" value="Webscoket" style="rounded=0;whiteSpace=wrap;html=1;fillColor=none;dashed=1;dashPattern=12 12;strokeColor=#FF0000;fontColor=#0000FF;fontSize=14;" vertex="1" parent="1">
<mxGeometry x="650" y="345" width="70" height="105" as="geometry"/>
</mxCell>
<mxCell id="33" value="Biz Server" style="rounded=1;whiteSpace=wrap;html=1;verticalAlign=top;fillColor=#dae8fc;strokeColor=#6c8ebf;fontSize=14;" vertex="1" parent="1">
<mxGeometry x="730" y="295" width="370" height="160" as="geometry"/>
</mxCell>
<mxCell id="2" value="SIP Proxy/WebRTC SBC/WebSocket" style="rounded=1;whiteSpace=wrap;html=1;fillColor=#fff2cc;strokeColor=#d6b656;fontSize=14;" vertex="1" parent="1">
<mxGeometry x="130" y="180" width="470" height="50" as="geometry"/>
</mxCell>
<mxCell id="4" value="" style="verticalLabelPosition=bottom;aspect=fixed;html=1;shape=mxgraph.salesforce.apps2;" vertex="1" parent="1">
<mxGeometry x="130" y="50" width="60" height="60" as="geometry"/>
</mxCell>
<mxCell id="5" value="" style="verticalLabelPosition=bottom;aspect=fixed;html=1;shape=mxgraph.salesforce.web;" vertex="1" parent="1">
<mxGeometry x="330" y="56.3" width="60" height="47.400000000000006" as="geometry"/>
</mxCell>
<mxCell id="6" value="" style="fontColor=#0066CC;verticalAlign=top;verticalLabelPosition=bottom;labelPosition=center;align=center;html=1;outlineConnect=0;fillColor=#CCCCCC;strokeColor=#6881B3;gradientColor=none;gradientDirection=north;strokeWidth=2;shape=mxgraph.networks.phone_2;" vertex="1" parent="1">
<mxGeometry x="530" y="56.3" width="60" height="55" as="geometry"/>
</mxCell>
<mxCell id="7" style="edgeStyle=none;html=1;entryX=0.062;entryY=-0.02;entryDx=0;entryDy=0;entryPerimeter=0;" edge="1" parent="1" source="4" target="2">
<mxGeometry relative="1" as="geometry"/>
</mxCell>
<mxCell id="8" value="WebRTC" style="edgeLabel;html=1;align=center;verticalAlign=middle;resizable=0;points=[];fontSize=14;" vertex="1" connectable="0" parent="7">
<mxGeometry x="-0.3034" relative="1" as="geometry">
<mxPoint y="19" as="offset"/>
</mxGeometry>
</mxCell>
<mxCell id="9" style="edgeStyle=none;html=1;entryX=0.487;entryY=-0.04;entryDx=0;entryDy=0;entryPerimeter=0;" edge="1" parent="1" source="5" target="2">
<mxGeometry relative="1" as="geometry"/>
</mxCell>
<mxCell id="10" value="WebRTC" style="edgeLabel;html=1;align=center;verticalAlign=middle;resizable=0;points=[];fontSize=14;" vertex="1" connectable="0" parent="9">
<mxGeometry x="-0.2517" y="1" relative="1" as="geometry">
<mxPoint y="11" as="offset"/>
</mxGeometry>
</mxCell>
<mxCell id="11" style="edgeStyle=none;html=1;" edge="1" parent="1" source="6">
<mxGeometry relative="1" as="geometry">
<mxPoint x="560" y="180" as="targetPoint"/>
</mxGeometry>
</mxCell>
<mxCell id="12" value="SIP/RTP" style="edgeLabel;html=1;align=center;verticalAlign=middle;resizable=0;points=[];fontSize=14;" vertex="1" connectable="0" parent="11">
<mxGeometry x="0.033" relative="1" as="geometry">
<mxPoint as="offset"/>
</mxGeometry>
</mxCell>
<mxCell id="13" value="APP" style="text;html=1;align=center;verticalAlign=middle;whiteSpace=wrap;rounded=0;fontSize=14;" vertex="1" parent="1">
<mxGeometry x="130" y="10" width="60" height="30" as="geometry"/>
</mxCell>
<mxCell id="14" value="Web" style="text;html=1;align=center;verticalAlign=middle;whiteSpace=wrap;rounded=0;fontSize=14;" vertex="1" parent="1">
<mxGeometry x="330" y="10" width="60" height="30" as="geometry"/>
</mxCell>
<mxCell id="15" value="Phone" style="text;html=1;align=center;verticalAlign=middle;whiteSpace=wrap;rounded=0;fontSize=14;" vertex="1" parent="1">
<mxGeometry x="530" y="10" width="60" height="30" as="geometry"/>
</mxCell>
<mxCell id="18" value="Audio Processing" style="rounded=1;whiteSpace=wrap;html=1;verticalAlign=top;fillColor=#d5e8d4;strokeColor=#82b366;fontSize=14;" vertex="1" parent="1">
<mxGeometry x="130" y="260" width="470" height="230" as="geometry"/>
</mxCell>
<mxCell id="28" style="edgeStyle=none;html=1;fontSize=14;" edge="1" parent="1" source="19" target="20">
<mxGeometry relative="1" as="geometry"/>
</mxCell>
<mxCell id="19" value="Noise Suppression&nbsp;" style="rounded=0;whiteSpace=wrap;html=1;fillColor=#ffe6cc;strokeColor=#d79b00;fontSize=14;" vertex="1" parent="1">
<mxGeometry x="370" y="290" width="90" height="40" as="geometry"/>
</mxCell>
<mxCell id="20" value="VAD Detector" style="rounded=0;whiteSpace=wrap;html=1;fillColor=#ffe6cc;strokeColor=#d79b00;fontSize=14;" vertex="1" parent="1">
<mxGeometry x="480" y="290" width="90" height="40" as="geometry"/>
</mxCell>
<mxCell id="27" style="edgeStyle=none;html=1;exitX=1;exitY=0.5;exitDx=0;exitDy=0;entryX=0;entryY=0.5;entryDx=0;entryDy=0;fontSize=14;" edge="1" parent="1" source="21" target="19">
<mxGeometry relative="1" as="geometry"/>
</mxCell>
<mxCell id="21" value="Resampler" style="rounded=0;whiteSpace=wrap;html=1;fillColor=#ffe6cc;strokeColor=#d79b00;fontSize=14;" vertex="1" parent="1">
<mxGeometry x="260" y="290" width="90" height="40" as="geometry"/>
</mxCell>
<mxCell id="26" style="edgeStyle=none;html=1;fontSize=14;" edge="1" parent="1" source="23" target="21">
<mxGeometry relative="1" as="geometry"/>
</mxCell>
<mxCell id="23" value="Decode" style="rounded=0;whiteSpace=wrap;html=1;fillColor=#ffe6cc;strokeColor=#d79b00;fontSize=14;" vertex="1" parent="1">
<mxGeometry x="150" y="290" width="90" height="40" as="geometry"/>
</mxCell>
<mxCell id="24" value="Processor" style="rounded=1;whiteSpace=wrap;html=1;verticalAlign=top;fillColor=#e1d5e7;strokeColor=#9673a6;fontSize=14;" vertex="1" parent="1">
<mxGeometry x="135" y="370" width="455" height="100" as="geometry"/>
</mxCell>
<mxCell id="25" value="Recorder" style="rounded=0;whiteSpace=wrap;html=1;fillColor=#f8cecc;strokeColor=#b85450;fontSize=14;" vertex="1" parent="1">
<mxGeometry x="160" y="410" width="90" height="40" as="geometry"/>
</mxCell>
<mxCell id="62" style="edgeStyle=orthogonalEdgeStyle;html=1;" edge="1" parent="1" source="29">
<mxGeometry relative="1" as="geometry">
<mxPoint x="730" y="375" as="targetPoint"/>
<Array as="points">
<mxPoint x="470" y="430"/>
<mxPoint x="470" y="375"/>
</Array>
</mxGeometry>
</mxCell>
<mxCell id="67" style="edgeStyle=orthogonalEdgeStyle;html=1;entryX=0.5;entryY=0;entryDx=0;entryDy=0;fontSize=14;" edge="1" parent="1" source="29" target="40">
<mxGeometry relative="1" as="geometry"/>
</mxCell>
<mxCell id="29" value="ASR" style="rounded=0;whiteSpace=wrap;html=1;fillColor=#f8cecc;strokeColor=#b85450;fontSize=14;" vertex="1" parent="1">
<mxGeometry x="370" y="410" width="90" height="40" as="geometry"/>
</mxCell>
<mxCell id="30" value="CDR" style="rounded=0;whiteSpace=wrap;html=1;fillColor=#f8cecc;strokeColor=#b85450;fontSize=14;" vertex="1" parent="1">
<mxGeometry x="267.5" y="410" width="90" height="40" as="geometry"/>
</mxCell>
<mxCell id="69" style="edgeStyle=orthogonalEdgeStyle;html=1;entryX=0.75;entryY=0;entryDx=0;entryDy=0;fontSize=14;" edge="1" parent="1" source="31" target="40">
<mxGeometry relative="1" as="geometry"/>
</mxCell>
<mxCell id="31" value="TTS" style="rounded=0;whiteSpace=wrap;html=1;fillColor=#f8cecc;strokeColor=#b85450;fontSize=14;" vertex="1" parent="1">
<mxGeometry x="487.5" y="410" width="90" height="40" as="geometry"/>
</mxCell>
<mxCell id="64" style="edgeStyle=none;html=1;entryX=0;entryY=0.5;entryDx=0;entryDy=0;" edge="1" parent="1" source="37" target="38">
<mxGeometry relative="1" as="geometry"/>
</mxCell>
<mxCell id="37" value="Intent Detection" style="rounded=0;whiteSpace=wrap;html=1;fillColor=#f5f5f5;fontColor=#333333;strokeColor=#666666;dashed=1;dashPattern=8 8;fontSize=14;" vertex="1" parent="1">
<mxGeometry x="790" y="355" width="110" height="40" as="geometry"/>
</mxCell>
<mxCell id="65" style="edgeStyle=orthogonalEdgeStyle;html=1;exitX=0.5;exitY=1;exitDx=0;exitDy=0;entryX=0.5;entryY=0;entryDx=0;entryDy=0;" edge="1" parent="1" source="38" target="46">
<mxGeometry relative="1" as="geometry"/>
</mxCell>
<mxCell id="38" value="LLM" style="rounded=0;whiteSpace=wrap;html=1;fillColor=#f5f5f5;fontColor=#333333;strokeColor=#666666;fontSize=14;" vertex="1" parent="1">
<mxGeometry x="955" y="355" width="110" height="40" as="geometry"/>
</mxCell>
<mxCell id="40" value="ASR/TTS Provider" style="rounded=1;whiteSpace=wrap;html=1;verticalAlign=top;fillColor=#dae8fc;strokeColor=#6c8ebf;fontSize=14;" vertex="1" parent="1">
<mxGeometry x="130" y="540" width="467.5" height="110" as="geometry"/>
</mxCell>
<mxCell id="41" value="Aliyun" style="rounded=1;whiteSpace=wrap;html=1;fillColor=#f5f5f5;fontColor=#333333;strokeColor=#666666;fontSize=14;" vertex="1" parent="1">
<mxGeometry x="142.5" y="580" width="100" height="40" as="geometry"/>
</mxCell>
<mxCell id="42" value="Coze" style="rounded=1;whiteSpace=wrap;html=1;fillColor=#f5f5f5;fontColor=#333333;strokeColor=#666666;fontSize=14;" vertex="1" parent="1">
<mxGeometry x="257.5" y="580" width="100" height="40" as="geometry"/>
</mxCell>
<mxCell id="43" value="Tencent" style="rounded=1;whiteSpace=wrap;html=1;fillColor=#f5f5f5;fontColor=#333333;strokeColor=#666666;fontSize=14;" vertex="1" parent="1">
<mxGeometry x="367.5" y="580" width="100" height="40" as="geometry"/>
</mxCell>
<mxCell id="44" value="Deepgram" style="rounded=1;whiteSpace=wrap;html=1;fillColor=#f5f5f5;fontColor=#333333;strokeColor=#666666;fontSize=14;" vertex="1" parent="1">
<mxGeometry x="477.5" y="580" width="100" height="40" as="geometry"/>
</mxCell>
<mxCell id="46" value="LLM Provider" style="rounded=1;whiteSpace=wrap;html=1;verticalAlign=top;fontSize=14;" vertex="1" parent="1">
<mxGeometry x="735" y="540" width="370" height="105" as="geometry"/>
</mxCell>
<mxCell id="48" value="Ollama" style="rounded=1;whiteSpace=wrap;html=1;fillColor=#f5f5f5;fontColor=#333333;strokeColor=#666666;fontSize=14;" vertex="1" parent="1">
<mxGeometry x="755" y="575" width="100" height="40" as="geometry"/>
</mxCell>
<mxCell id="49" value="OpenAI" style="rounded=1;whiteSpace=wrap;html=1;fillColor=#f5f5f5;fontColor=#333333;strokeColor=#666666;fontSize=14;" vertex="1" parent="1">
<mxGeometry x="865" y="575" width="100" height="40" as="geometry"/>
</mxCell>
<mxCell id="50" value="Qwen" style="rounded=1;whiteSpace=wrap;html=1;fillColor=#f5f5f5;fontColor=#333333;strokeColor=#666666;fontSize=14;" vertex="1" parent="1">
<mxGeometry x="975" y="575" width="100" height="40" as="geometry"/>
</mxCell>
<mxCell id="55" value="" style="endArrow=none;dashed=1;html=1;" edge="1" parent="1">
<mxGeometry width="50" height="50" relative="1" as="geometry">
<mxPoint x="640" y="660" as="sourcePoint"/>
<mxPoint x="640" y="70" as="targetPoint"/>
</mxGeometry>
</mxCell>
<mxCell id="70" value="Events" style="edgeLabel;html=1;align=center;verticalAlign=middle;resizable=0;points=[];fontSize=14;" vertex="1" connectable="0" parent="55">
<mxGeometry x="-0.0356" relative="1" as="geometry">
<mxPoint x="40" y="-6" as="offset"/>
</mxGeometry>
</mxCell>
<mxCell id="57" value="App server" style="text;html=1;align=center;verticalAlign=middle;whiteSpace=wrap;rounded=0;fontSize=14;" vertex="1" parent="1">
<mxGeometry x="815" y="250" width="180" height="30" as="geometry"/>
</mxCell>
<mxCell id="58" value="" style="shape=curlyBracket;whiteSpace=wrap;html=1;rounded=1;labelPosition=left;verticalLabelPosition=middle;align=right;verticalAlign=middle;" vertex="1" parent="1">
<mxGeometry x="80" y="200" width="20" height="300" as="geometry"/>
</mxCell>
<mxCell id="59" value="RustPBX" style="text;html=1;align=center;verticalAlign=middle;whiteSpace=wrap;rounded=0;fontSize=14;" vertex="1" parent="1">
<mxGeometry y="335" width="95" height="30" as="geometry"/>
</mxCell>
<mxCell id="63" style="edgeStyle=orthogonalEdgeStyle;html=1;exitX=0;exitY=0.75;exitDx=0;exitDy=0;" edge="1" parent="1" source="33" target="31">
<mxGeometry relative="1" as="geometry">
<mxPoint x="735" y="445" as="sourcePoint"/>
<Array as="points">
<mxPoint x="630" y="415"/>
<mxPoint x="630" y="430"/>
</Array>
</mxGeometry>
</mxCell>
<mxCell id="71" value="Command" style="edgeLabel;html=1;align=center;verticalAlign=middle;resizable=0;points=[];fontSize=14;" vertex="1" connectable="0" parent="63">
<mxGeometry x="-0.4489" y="-1" relative="1" as="geometry">
<mxPoint y="1" as="offset"/>
</mxGeometry>
</mxCell>
</root>
</mxGraphModel>
</diagram>
</mxfile>