[Kamailio-Users] Request uri vs registered contact
Alex Balashov
abalashov at evaristesys.com
Wed Aug 12 12:45:54 CEST 2009
Iñaki Baz Castillo wrote:
> El Miércoles, 12 de Agosto de 2009, Olle E. Johansson escribió:
>> Anyway, there's some work in the IETF to handle the register for
>> multiple DID's, since the way it's used now clearly violates what's in
>> the RFCs and there is an obvious need to register for "SIP trunks".
>
> I implemented this in an "ellegant" way:
>
> - The SIP trunk (Asterisk?) registers with Contact "s at IP" (or any contact).
> - It has associated 3 PSTN numbers in the proxy/registrar.
> - When the proxy receives a call for one of these 3 numbers it changes the
> RURI according to the location of the client (lookup("location")) and adds a
> header whose value is the dialed PSTN number in E164 format:
> P-Dialed-Number: +34987654321
>
> So:
> - "To" remains unchanged.
> - RURI arriving to the client matches its registration's Contact.
> - The client must inspect a custom header to know the real destination number
> of the call.
That is quite elegant, and easy to get around in the Asterisk dial plan
so that routing can still happen on "extension," where "extension" is
the dialed number:
[generic-incoming]
exten => _.,1,Set(dialed=${SIP_HEADER(P-Dialed-Number)})
exten => _.,n,Goto(incoming-route,${dialed},1)
But in other endpoints it would be quite hard or impossible.
--
Alex Balashov
Evariste Systems
Web : http://www.evaristesys.com/
Tel : (+1) (678) 954-0670
Direct : (+1) (678) 954-0671
More information about the Users
mailing list