Hello,

 

I’m trying to configure FreeSWITCH to have multiple contexts per sip profile like below.

 

But this does not seem to work.

The reason I want this, is to have each incoming called number to have its own context in which extensions can be created.

The problem with using extensions and only one context is I can’t defined more than one extension with the same name. FS seems to overwrite or ignore ones that do.

 

Is this even possible? If so, what do I need to change? Is there perhaps a better way for doing this?

 

sip_profile/inbound.xml:

 

<profile name="inbound">

 

  <settings>

 

    <param name="context" value="inbound"/>

    <param name="dialplan" value="XML"/>

 

  </settings>

</profile>

 

dialplan/inbound.xml:

 

<?xml version="1.0" encoding="utf-8"?>

<include>

  <context name="inbound">

   <X-PRE-PROCESS cmd="include" data="inbound/*.xml"/>

 

    <extension name="route_to_context">

      <condition field="destination_number" expression="^(\d+)$">

        <action application="transfer" data="start XML $1"/>

      </condition>

    </extension>

   

  </context>

</include>

 

dialplan/inbound/1000.xml:

 

<include>

 

  <context name="1000">

 

    <extension name="start">

      <condition field="destination_number" expression="^(\d+)">

        <action application="answer"/>

        <action application="transfer" data="playback"/>

      </condition>

    </extension>

 

 

    <extension name="playback">

      <condition>

        <action application="playback" data="/usr/src/freeswitch/sounds/fs-hello-world-for-1000.wav"/>

      </condition>

    </extension>

 

  </context>

</include>

 

dialplan/inbound/1001.xml:

 

<include>

 

  <context name="1001">

 

    <extension name="start">

      <condition field="destination_number" expression="^(\d+)">

        <action application="answer"/>

        <action application="transfer" data="playback"/>

      </condition>

    </extension>

 

 

    <extension name="playback">

      <condition>

        <action application="playback" data="/usr/src/freeswitch/sounds/fs-hello-world-for-1001.wav"/>

      </condition>

    </extension>

 

  </context>

</include>