[OpenSER-Users] CPL "Location" and "Proxy" behavior
Bogdan-Andrei Iancu
bogdan at voice-system.ro
Fri Nov 9 10:24:13 CET 2007
Hi Daniel,
Could please check the latest SVN version of 1.3 - I made a fix there.
If everything ok, I will backport it to 1.2 also.
Regards,
Bogdan
Daniel Grotti wrote:
> *Hi Bogdan,*
>> 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?
> *yes, it's right.*
>> If so, please open a bug report on the tracker.
> *well, on the bug Repert, if I don't set any location (as in the last
> script I have sended), I can see this DEBUG line:
> " DEBUG:cpl_proxy_to_loc_set: rewriting Request-URI with <
> A at A_ip_address>"
>
> where : "A at A_ip_address" is the caller IP address, not the destination
> address (that is B).
> *
>
> *regards.
> daniel
> *
>> 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