Hi Adam, I'm in the process of using FS as a SBC. For the route lookup, I do it using OpenSER carrierroute, without having to flow through SBC---Openser---SBC. I'm using carrierroute at this time cause I need more than 200 000 routing entries and carrierroute has been tested with twice this number. Here is the setup: - install openser and carrierroute and make openser listening on 127.0.0.1:5062 (for example) on your SBC - populate carrierroute table What I do to use carrierroute module from FS is to use a specific X-header (X-LOOKUP). In the dialplan, in the default context, I have something like this: <extension name="LOOKUP_ROUTE"> <condition field="destination_number" expression="(\d+)$"> <action application="set" data="hangup_after_bridge=true"/> <action application="set" data="continue_on_fail=true"/> <action application="export" data="sip_h_X-ROUTE=LOOKUP"/> <action application="bridge" data="sofia/internal/${sip_req_user}@127.0.0.1:5062"/> <action application="export" data="sip_h_X-ROUTE=${sip_redirect_contact_host_0}"/> <action application="transfer" data="${destination_number} XML ROUTING"/> </condition> </extension> The process is simple: the export "sip_h_X-ROUTE=LOOKUP" had a sip header X-ROUTE=LOOKUP then I bridge the call to 127.0.0.1:5062 (openser process) In openser I have a route block that checks the presence of header LOOKUP and openser sends a "604: unable to route call" if the prefix is not found, or a "302: with the IP of the gateway found" In FS, you can get the IP using the variable "${sip_redirect_contact_host_0}". Then I transfer this to the context ROUTING, where the check condition is based on the LOOKUP header that has been rewritten with this variable. I will document all this setup (installation of openser/carrierroute and config file of FS and openser) on a wiki page I start writing yesterday, so please be indulgent and patient. The next step is to test the scalability of this. I'm a very bad programmer, so that's the only way for me to contribute to FS, and as I see many people interested for an SBC setup, I think it could be great if we share our work/knowlegde. The wiki page is there: http://wiki.freeswitch.org/wiki/SBC_Setup regards, rod. Adam Long wrote:
Hi Guys,
I’ve been working at setting up a couple of FreeSwitch nodes as a topology hiding SBCs that handles both ingress traffic from my
providers/peers and pass traffic up to an openser router that then routes call across the cluster of SBCs through which they reach the destination.
I have OpenSIPS/SER setup doing DB route lookups and ENUM with LCR/Serial forking etc.
My question is what would be the best way to send a call out to a destination choosen by the OpenSER router?
For example:
SIP Provider -- > SBC --- > OpenSER ---- ( route lookup returns 123.123.123.4 as dest ) -- > SBC --- > 123.123.123.4
I was thinking something along the lines of adding a “X-Route-To: +1NXXNXXXXXX@ <mailto:+1NXXNXXXXXX@>123.123.123.4” with openser
and then something like this in the SBC…
<context name="from-sipcore">
<extension name="outboundroute">
<action application="bridge" data="sofia/external/${sip_h_X-Route-To}" />
</extension>
</context>
Is this a wise approach, is there anything I could do to do this better?
I’d like to keep the logic in the SBCs as simple as possible.
I am pretty familiar with SIP but my knowledge fades when it gets into the nitty gritty of routing… ie the Contact: and Via: headers
and all that good stuff.
I should also state I have two profiles defined one for the internal/private “core” network and one for the outside “external” network.
Any thoughts on this at all would be greatly appreciated.
Am I missing something in the SIP spec that would allow for this is a standardized way?
Regards,
-Adam
------------------------------------------------------------------------
_______________________________________________ Freeswitch-users mailing list Freeswitch-users@lists.freeswitch.org http://lists.freeswitch.org/mailman/listinfo/freeswitch-users UNSUBSCRIBE:http://lists.freeswitch.org/mailman/options/freeswitch-users http://www.freeswitch.org