[OpenSER-Users] CPL "Location" and "Proxy" behavior
Bogdan-Andrei Iancu
bogdan at voice-system.ro
Thu Nov 8 11:30:17 CET 2007
Hi Daniel,
Hmmm....I see - you say (for outgoing scenario) that the location set is
initialized with the A destination instead of B destination, right?
If so, please open a bug report on the tracker.
regards,
Bogdan
Daniel Grotti wrote:
> Hi bogdan,
> If it's my cpl outgoing script configuration, from USER A
> ******************************************************
> <cpl>
> <outgoing>
> <address-switch field="destination" subfield="user">
> <address is="B">
> <proxy />
> </address>
> </address-switch>
> </outgoing>
> <cpl>
> *******************************************************
> When I make a call from A to B, then the script has called, but in
> debug I can see that CPL rewrites R-URI with source address
> (A at A_ip_address) instead of destination address (B at B_ip_address). So
> the message goes back to user A.
>
> regards,
> Daniel
>
> Bogdan-Andrei Iancu wrote:
>> Hi Daniel,
>>
>> there are no differences - the implementation follows the RFC. For
>> incoming calls, the location set is empty, but it can be populated by
>> the CPL script during execution. So, when you do "proxy", you may
>> have multiple entries in the location set.
>>
>> The comment in the cpl_sig.c file refers to some implementation
>> details - how to process the available location set, depeding if it
>> is the first time doing proxy (for the call) or a second time.
>>
>> regards,
>> bogdan
>>
>> daniel grotti wrote:
>>> Hi all,
>>> this is what CPL_SIG.c says about forwarding a given message to the
>>> given location set:
>>>
>>> " forwards the msg to the given location set; if flags has set the
>>> CPL_PROXY_DONE, all locations will be added as branches,
>>> otherwise, the first one will set as RURI (this is ha case when
>>> this is the first proxy of the message)
>>> The given list of location will be freed, returning 0 instead.
>>> Returns: 0 - OK "
>>>
>>>
>>> My question is : which and what is "the first one" location ? Can
>>> you explain it better?
>>> Because RFC 3880 say that : "For the incoming top-level call
>>> processing action, the location set is initialized to the empty set.
>>> For the outgoing action, it is initialized to the destination
>>> address of the call."
>>>
>>> So RFC is very clear. I think there are considerable differences
>>> between RFC and the behavior of CPL interpreter.
>>>
>>> Thanks.
>>> Daniel
>>>
More information about the Users
mailing list