<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 3.2//EN">
<HTML>
<HEAD>
<META HTTP-EQUIV="Content-Type" CONTENT="text/html; charset=us-ascii">
<META NAME="Generator" CONTENT="MS Exchange Server version 6.5.7654.12">
<TITLE>Connect two FreeSWITCH Boxes</TITLE>
</HEAD>
<BODY>
<!-- Converted from text/rtf format -->
<P DIR=LTR><SPAN LANG="en-us"><FONT FACE="Calibri">Hello newbie here. I</FONT></SPAN><SPAN LANG="en-us"><FONT FACE="Calibri">’</FONT></SPAN><SPAN LANG="en-us"><FONT FACE="Calibri">m having difficulty routing calls between 2 FreeSWITCH servers. I</FONT></SPAN><SPAN LANG="en-us"><FONT FACE="Calibri">’</FONT></SPAN><SPAN LANG="en-us"><FONT FACE="Calibri">m follow</FONT></SPAN><SPAN LANG="en-us"><FONT FACE="Calibri">ing the instructions on the Wiki titled</FONT></SPAN><SPAN LANG="en-us"> <FONT FACE="Calibri">“</FONT></SPAN><SPAN LANG="en-us"><FONT FACE="Calibri">Connect Two FreeSWITCH Boxes</FONT></SPAN><SPAN LANG="en-us"><FONT FACE="Calibri">”</FONT></SPAN><SPAN LANG="en-us"><FONT FACE="Calibri"> and I</FONT></SPAN><SPAN LANG="en-us"><FONT FACE="Calibri">’</FONT></SPAN><SPAN LANG="en-us"><FONT FACE="Calibri">m taking the IP authentication approach. When I originate a call from ser</FONT></SPAN><SPAN LANG="en-us"><FONT FACE="Calibri">ver</FONT></SPAN><SPAN LANG="en-us"> <FONT FACE="Calibri">“</FONT></SPAN><SPAN LANG="en-us"><FONT FACE="Calibri">B</FONT></SPAN><SPAN LANG="en-us"><FONT FACE="Calibri">”</FONT></SPAN><SPAN LANG="en-us"><FONT FACE="Calibri"></FONT></SPAN><SPAN LANG="en-us"> <FONT FACE="Calibri">the Regex matches</FONT></SPAN><SPAN LANG="en-us"><FONT FACE="Calibri"> and forwards the call onto</FONT></SPAN><SPAN LANG="en-us"><FONT FACE="Calibri"> Server</FONT></SPAN><SPAN LANG="en-us"> <FONT FACE="Calibri">“</FONT></SPAN><SPAN LANG="en-us"><FONT FACE="Calibri">A</FONT></SPAN><SPAN LANG="en-us"><FONT FACE="Calibri">”</FONT></SPAN><SPAN LANG="en-us"><FONT FACE="Calibri">. Server</FONT></SPAN><SPAN LANG="en-us"> <FONT FACE="Calibri">“</FONT></SPAN><SPAN LANG="en-us"><FONT FACE="Calibri">A</FONT></SPAN><SPAN LANG="en-us"><FONT FACE="Calibri">”</FONT></SPAN><SPAN LANG="en-us"><FONT FACE="Calibri"> isn</FONT></SPAN><SPAN LANG="en-us"><FONT FACE="Calibri">’</FONT></SPAN><SPAN LANG="en-us"><FONT FACE="Calibri">t matching in dialplan/default.xml</FONT></SPAN><SPAN LANG="en-us"><FONT FACE="Calibri"> (Local_Call) for some reason. Public.xml</FONT></SPAN><SPAN LANG="en-us"> <FONT FACE="Calibri">successfully</FONT></SPAN><SPAN LANG="en-us"><FONT FACE="Calibri"> transfers the call into the default context, but for some re</FONT></SPAN><SPAN LANG="en-us"><FONT FACE="Calibri">ason it skips over the Local_Call Regex. Anyone</FONT></SPAN><SPAN LANG="en-us"><FONT FACE="Calibri">’</FONT></SPAN><SPAN LANG="en-us"><FONT FACE="Calibri">s guidance would be greatly appreciated.</FONT></SPAN></P>
<P DIR=LTR><SPAN LANG="en-us"></SPAN></P>
<P DIR=LTR><SPAN LANG="en-us"><FONT FACE="Calibri">Server "B" (call origination dialing 10001 from 20001)</FONT></SPAN></P>
<P DIR=LTR><SPAN LANG="en-us"><FONT FACE="Calibri">10.3.3.10</FONT></SPAN><SPAN LANG="en-us"></SPAN></P>
<P DIR=LTR><SPAN LANG="en-us"><FONT FACE="Calibri">dialplan/default.xml</FONT></SPAN></P>
<P DIR=LTR><SPAN LANG="en-us"><FONT FACE="Calibri"> <extension name="Dial to BoxA"></FONT></SPAN></P>
<P DIR=LTR><SPAN LANG="en-us"><FONT FACE="Calibri"> <condition field="destination_number" expression="^(10\d\d\d)$"></FONT></SPAN></P>
<P DIR=LTR><SPAN LANG="en-us"><FONT FACE="Calibri"> <action application="bridge" data="sofia/internal/$1@10.1.1.10"/></FONT></SPAN></P>
<P DIR=LTR><SPAN LANG="en-us"><FONT FACE="Calibri"> </condition></FONT></SPAN></P>
<P DIR=LTR><SPAN LANG="en-us"><FONT FACE="Calibri"> </extension></FONT></SPAN></P>
<P DIR=LTR><SPAN LANG="en-us"><FONT FACE="Calibri">outbound call trace from console</FONT></SPAN></P>
<P DIR=LTR><SPAN LANG="en-us"><FONT FACE="Calibri">Dialplan: sofia/internal/20001@10.3.3.10 parsing [default->Local_Call] continue=false</FONT></SPAN></P>
<P DIR=LTR><SPAN LANG="en-us"><FONT FACE="Calibri">Dialplan: sofia/internal/20001@10.3.3.10 Regex (FAIL) [Local_Call] destination_number(10001) =~ /^(20\d\d\d)$/ break=on-false</FONT></SPAN></P>
<P DIR=LTR><SPAN LANG="en-us"><FONT FACE="Calibri">Dialplan: sofia/internal/20001@10.3.3.10 parsing [default->Dial to BoxA] continue=false</FONT></SPAN></P>
<P DIR=LTR><SPAN LANG="en-us"><FONT FACE="Calibri">Dialplan: sofia/internal/20001@10.3.3.10 Regex (PASS) [Dial to BoxA] destination_number(10001) =~ /^(10\d\d\d)$/ break=on-false</FONT></SPAN></P>
<P DIR=LTR><SPAN LANG="en-us"><FONT FACE="Calibri">Dialplan: sofia/internal/20001@10.3.3.10 Action bridge(sofia/internal/10001@10.1.1.10)</FONT></SPAN></P>
<BR>
<BR>
<P DIR=LTR><SPAN LANG="en-us"><FONT FACE="Calibri">dialplan/public.xml</FONT></SPAN></P>
<P DIR=LTR><SPAN LANG="en-us"><FONT FACE="Calibri"> <extension name="Calls from BoxA"></FONT></SPAN></P>
<P DIR=LTR><SPAN LANG="en-us"><FONT FACE="Calibri"> <condition field="destination_number" expression=^(10\d\d\d)$"></FONT></SPAN></P>
<P DIR=LTR><SPAN LANG="en-us"><FONT FACE="Calibri"> <action application="transfer" data="$1 XML default"/></FONT></SPAN></P>
<P DIR=LTR><SPAN LANG="en-us"><FONT FACE="Calibri"> </condition></FONT></SPAN></P>
<P DIR=LTR><SPAN LANG="en-us"><FONT FACE="Calibri"> </extension></FONT></SPAN></P>
<P DIR=LTR><SPAN LANG="en-us"><FONT FACE="Calibri">**************************************************************************</FONT></SPAN></P>
<P DIR=LTR><SPAN LANG="en-us"><FONT FACE="Calibri">Server "A" (Call termination)</FONT></SPAN></P>
<P DIR=LTR><SPAN LANG="en-us"><FONT FACE="Calibri">10.1.1.10</FONT></SPAN></P>
<P DIR=LTR><SPAN LANG="en-us"></SPAN></P>
<P DIR=LTR><SPAN LANG="en-us"><FONT FACE="Calibri">dialplan/default.xml</FONT></SPAN></P>
<P DIR=LTR><SPAN LANG="en-us"></SPAN></P>
<P DIR=LTR><SPAN LANG="en-us"><FONT FACE="Calibri"><extension name="Local_Call"></FONT></SPAN></P>
<P DIR=LTR><SPAN LANG="en-us"><FONT FACE="Calibri"> <condition field="destination_number" expression="^(10\d\d\d)$"></FONT></SPAN></P>
<P DIR=LTR><SPAN LANG="en-us"><FONT FACE="Calibri"> <action application="set" data="dialed_extension=$1"/></FONT></SPAN></P>
<P DIR=LTR><SPAN LANG="en-us"><FONT FACE="Calibri"> <action application="bridge" data="user/${dialed_extension}@${domain_name}"/></FONT></SPAN></P>
<P DIR=LTR><SPAN LANG="en-us"><FONT FACE="Calibri"> <action application="answer"/></FONT></SPAN></P>
<P DIR=LTR><SPAN LANG="en-us"><FONT FACE="Calibri"> <action application="hangup"/></FONT></SPAN></P>
<P DIR=LTR><SPAN LANG="en-us"><FONT FACE="Calibri"> </condition></FONT></SPAN></P>
<P DIR=LTR><SPAN LANG="en-us"><FONT FACE="Calibri"> </extension></FONT></SPAN></P>
<P DIR=LTR><SPAN LANG="en-us"></SPAN></P>
<P DIR=LTR><SPAN LANG="en-us"><FONT FACE="Calibri">dialplan/public.xml</FONT></SPAN></P>
<P DIR=LTR><SPAN LANG="en-us"></SPAN></P>
<P DIR=LTR><SPAN LANG="en-us"><FONT FACE="Calibri"> <extension name="Dial to BoxB"></FONT></SPAN></P>
<P DIR=LTR><SPAN LANG="en-us"><FONT FACE="Calibri"> <condition field="destination_number" expression="^(20\d\d\d)$"></FONT></SPAN></P>
<P DIR=LTR><SPAN LANG="en-us"><FONT FACE="Calibri"> <action application="bridge" data="sofia/internal/$1@10.3.3.10"/></FONT></SPAN></P>
<P DIR=LTR><SPAN LANG="en-us"><FONT FACE="Calibri"> </condition></FONT></SPAN></P>
<P DIR=LTR><SPAN LANG="en-us"><FONT FACE="Calibri"> </extension></FONT></SPAN></P>
<P DIR=LTR><SPAN LANG="en-us"><FONT FACE="Calibri">inbound call trace from console</FONT></SPAN></P>
<P DIR=LTR><SPAN LANG="en-us"><FONT FACE="Calibri">Dialplan: sofia/internal/20001@10.3.3.10 parsing [public->Calls from BoxB] continue=false</FONT></SPAN></P>
<P DIR=LTR><SPAN LANG="en-us"><FONT FACE="Calibri">Dialplan: sofia/internal/20001@10.3.3.10 Regex (PASS) [Calls from BoxB] destination_number(10001) =~ // break=on-false</FONT></SPAN></P>
<P DIR=LTR><SPAN LANG="en-us"><FONT FACE="Calibri">Dialplan: sofia/internal/20001@10.3.3.10 Action transfer($1 XML default)</FONT></SPAN></P>
<P DIR=LTR><SPAN LANG="en-us"><FONT FACE="Calibri">"there are a bunch of state machine messages here"</FONT></SPAN></P>
<P DIR=LTR><SPAN LANG="en-us"><FONT FACE="Calibri">Dialplan: sofia/internal/20001@10.3.3.10 parsing [default->Local_Call] continue=false</FONT></SPAN></P>
<P DIR=LTR><SPAN LANG="en-us"><FONT FACE="Calibri">Dialplan: sofia/internal/20001@10.3.3.10 Regex (FAIL) [Local_Call] destination_number($1) =~ /^(10\d\d\d)$/ break=on-false</FONT></SPAN></P>
<P DIR=LTR><SPAN LANG="en-us"><FONT FACE="Calibri">Dialplan: sofia/internal/20001@10.3.3.10 parsing [default->Dial to BoxB] continue=false</FONT></SPAN></P>
<P DIR=LTR><SPAN LANG="en-us"><FONT FACE="Calibri">Dialplan: sofia/internal/20001@10.3.3.10 Regex (FAIL) [Dial to BoxB] destination_number($1) =~ /^(20\d\d\d)$/ break=on-false</FONT></SPAN></P>
<P DIR=LTR><SPAN LANG="en-us"><FONT FACE="Calibri">Dialplan: sofia/internal/20001@10.3.3.10 parsing [default->outbound] continue=false</FONT></SPAN></P>
<P DIR=LTR><SPAN LANG="en-us"><FONT FACE="Calibri">Dialplan: sofia/internal/20001@10.3.3.10 Regex (FAIL) [outbound] destination_number($1) =~ /^(\d)(\d{6})$/ break=on-false</FONT></SPAN></P>
<P DIR=LTR><SPAN LANG="en-us"><FONT FACE="Calibri">Dialplan: sofia/internal/20001@10.3.3.10 parsing [default->pizza_demo] continue=false</FONT></SPAN></P>
<P DIR=LTR><SPAN LANG="en-us"><FONT FACE="Calibri">Dialplan: sofia/internal/20001@10.3.3.10 Regex (FAIL) [pizza_demo] destination_number($1) =~ /^(pizza|74992)$/ break=on-false</FONT></SPAN></P>
<P DIR=LTR><SPAN LANG="en-us"><FONT FACE="Calibri">Dialplan: sofia/internal/20001@10.3.3.10 parsing [default->local.example.com] continue=false</FONT></SPAN></P>
<P DIR=LTR><SPAN LANG="en-us"><FONT FACE="Calibri">Dialplan: sofia/internal/20001@10.3.3.10 Regex (FAIL) [local.example.com] ${toll_allow}() =~ /local/ break=on-false</FONT></SPAN></P>
<P DIR=LTR><SPAN LANG="en-us"><FONT FACE="Calibri">Dialplan: sofia/internal/20001@10.3.3.10 parsing [default->domestic.example.com] continue=false</FONT></SPAN></P>
<P DIR=LTR><SPAN LANG="en-us"><FONT FACE="Calibri">Dialplan: sofia/internal/20001@10.3.3.10 Regex (FAIL) [domestic.example.com] ${toll_allow}() =~ /domestic/ break=on-false</FONT></SPAN></P>
<P DIR=LTR><SPAN LANG="en-us"><FONT FACE="Calibri">Dialplan: sofia/internal/20001@10.3.3.10 parsing [default->international.example.com] continue=false</FONT></SPAN></P>
<P DIR=LTR><SPAN LANG="en-us"><FONT FACE="Calibri">Dialplan: sofia/internal/20001@10.3.3.10 Regex (FAIL) [international.example.com] ${toll_allow}() =~ /international/ break=on-false</FONT></SPAN></P>
<P DIR=LTR><SPAN LANG="en-us"><FONT FACE="Calibri">Dialplan: sofia/internal/20001@10.3.3.10 parsing [default->enum] continue=false</FONT></SPAN></P>
<P DIR=LTR><SPAN LANG="en-us"><FONT FACE="Calibri">Dialplan: sofia/internal/20001@10.3.3.10 Regex (PASS) [enum] ${module_exists(mod_enum)}(true) =~ /true/ break=on-false</FONT></SPAN></P>
<P DIR=LTR><SPAN LANG="en-us"><FONT FACE="Calibri">Dialplan: sofia/internal/20001@10.3.3.10 Regex (PASS) [enum] destination_number($1) =~ /^(.*)$/ break=on-false</FONT></SPAN></P>
<P DIR=LTR><SPAN LANG="en-us"><FONT FACE="Calibri">Dialplan: sofia/internal/20001@10.3.3.10 Action transfer($1 enum)</FONT></SPAN></P>
<BR>
<P DIR=LTR><SPAN LANG="en-us"><FONT FACE="Calibri">I was expecting </FONT></SPAN></P>
<P DIR=LTR><SPAN LANG="en-us"><FONT FACE="Calibri">"Dialplan: sofia/internal/20001@10.3.3.10 Regex (FAIL) [Local_Call] destination_number($1) =~ /^(10\d\d\d)$/ break=on-false"</FONT></SPAN></P>
<P DIR=LTR><SPAN LANG="en-us"><FONT FACE="Calibri">to match the dialed number for which it would route the call to 10001. By the way 10001, 10002 and 20001, 20002 have sucessfully registered with</FONT></SPAN></P>
<P DIR=LTR><SPAN LANG="en-us"><FONT FACE="Calibri">their respective servers and can place calls internally to the switch. Also when I run tcpdump on Server "B" I'm getting 404 Not Found, which indicates</FONT></SPAN></P>
<P DIR=LTR><SPAN LANG="en-us"><FONT FACE="Calibri">either the endpoint is not registered or properly configured. </FONT></SPAN><SPAN LANG="en-us"> </SPAN></P>
<BR>
<BR>
<P DIR=LTR><SPAN LANG="en-us"><FONT FACE="Calibri">Mike</FONT></SPAN><SPAN LANG="en-us"></SPAN></P>
</BODY>
</HTML>