El Monday 30 June 2008 03:16:30 Stagg Shelton escribió:
Also, the other reason why I want to do this is
because I have many
hundreds of DIDs that are assigned to many asterisk PBX's. I am
thinking that having asterisk register to OpenSER and then have the
DIDs as aliases to the registration credentials would be easy because
it's all contained in the database.
Asterisk allows just one registration to a server. If you have two incoming
DID's then it's better if your Asterisk matches the "To" header.
In fact, I don't like using the "To" header for this purpose since it can be
different if it comes from a SIP already diverted call (so "To" is no one of
your DID's but the original destination has forwarded the call to some of
your DID's).
What I do is the following:
- When my OpenSer receives an incoming call from PSTN I convert the RURI to
E164 format:
RURI:
0034999000111 -> E164 = +34999000111
999000111 -> E164 = +34999000111
- Then I add a header to the INVITE:
append_hf("X-E164-Called: $rU");
- Then I do the db_aliases to get the AoR of the local user associated to that
E164 number.
RURI:
+34999000111 -> sip:user01@mydomain.com
- And later a lookup in 'locaiton' table to get the real location of the
registered user.
RURI:
sip:user01@mydomain.com -> sip:s@IP_ASTERISK
- After that I just do the "t_relay" to send the INVITE.
- When it arrives to Asterisk it must check the header "X-E164-Called" to know
which DID was called.
Regards.
--
Iñaki Baz Castillo
ibc(a)in.ilimit.es