[Users] centralized speed dial

Reto Kortas retokortas at gmx.de
Fri Jan 20 18:09:04 CET 2006


Hi!

I am planning to set up a centralized speed dial service for a 2-layer proxy
hierarchy.
The design should look like these:


       PSTN
        |
        |
UA --> LOCAL_SP --> MAIN-PROXY  <-- LOCAL_SP <-- UA
                      |
                      |
UA --> LOCAL_SP ------
        |
        |
       PSTN

... and many many more local SIP Proxys (LOCAL_SP).


Any branch has a local SIP-Proxy which functions also as a PSTN-Gateway and
will route local calls, whether they are from inside or from the PSTN. The
users are configured on the local SIP-Proxy, which will also register these
user on a REGISTER-Request also on the centralized SIP-Proxy.

The Speed dial database should contain internal as well as external (PSTN)
numbers.
The tricky thing is, that the users have to use their local PSTN Gateway,
when they want to make off-net calls.

The call flow must like these:

UA -INVITE-> LOCAL_SP -INVITE-> MAIN-PROXY -> DB-Lookup for speed dial-alias

MAIN-PROXY --301_RESPONSE--> LOCAL_SP --301_RESPONSE--> UA -> Setup new call
with info from new contact header



Does anybody now how to setup OpenSER, that he will execute a DB lookup for
the user part of the R-URI and answers with a 301 response and the new
address in the contact header?

May I think the routing must look like this:

Route[x] {
	NEW_URI = get_alias_for(1234);
	append_branch(NEW_URI);
	sl_send_reply("301" , "Number found");
}

But how to set up and querie the database?

Thx 
Reto






More information about the sr-users mailing list