[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 sr-users mailing list