19 dec 2012 kl. 23:14 skrev Daniel-Constantin Mierla <mico...@gmail.com>:

> 
> On 12/19/12 10:28 PM, Olle E. Johansson wrote:
>> 19 dec 2012 kl. 19:35 skrev Daniel-Constantin Mierla <mico...@gmail.com>:
>> 
>>> On 12/19/12 7:20 PM, Andreas Granig wrote:
>>>> Hi Olle,
>>>> 
>>>> On 12/19/2012 02:43 PM, Olle E. Johansson wrote:
>>>>> Yeah, I already have Kamailio sending all kinds of crazy stuff while
>>>>> testing a new platform,
>>>>> using the UAC module. But I wanted to be lazy and change on the fly...
>>>>> 
>>>>> Evil stuff happening here. Kamailio is a good test-tool.
>>>>> 
>>>>> Now I fail to change Contact: headers. The docs for textops say that
>>>>> remove_hf can remove
>>>>> contact and Remove_hf(Contact) returns true - but the old contact is
>>>>> still there!
>>> Is this about generic operation of removing the contact header, or in the 
>>> context of taking it from old request and adding it to the new one 
>>> generated by uac_req()? For the second, Andreas pointed to the right 
>>> direction.
>> No, changing one and send it away. Like changing a Contact: in a register 
>> that's forwarded.
> So, you do: remove_hf("Contact"); t_relay(); -- and the Contact header is 
> still there? Can you get the ngrep and logs printed by debugger module with 
> cfgtrace parameter set to 1?
Will try testing a bit more later.

> 
>>> I wanted to make the remark about changing the method on the fly directly 
>>> to the incoming request, that is not straight as it seems, because it has 
>>> impact on transaction management, the method being part of CSeq header and 
>>> has to be restored for the reply.
>> Ouch. But if I'm totally and utterly stateless, would it work?
> 
> You'd still have to revert back for replies, otherwise the previous hop will 
> not match its transactions.
Match which transaction if I'm stateless ?? :-)

> 
> Anyhow, there is no function in config that can change the method in first 
> line of request, should not be hard to add one though (it is a function that 
> can change the reply code). The cseq can be changed with header related 
> functions.
Ok.

Thanks for all the feedback!

/O
> 
> Cheers,
> Daniel
> 
>> 
>> /O
>>> With uac you can create a new transaction, but it will be in a new dialog.
>>> 
>>> Cheers,
>>> Daniel
>>>> You could try using msg_apply_changes() from 
>>>> http://kamailio.org/docs/modules/stable/modules/textopsx.html#textopsx.msg_apply_changes
>>>>  after remove_hf and before actually building your new request with 
>>>> $uac_req, but this is really dangerous.
>>>> 
>>>> One thing I know for sure is that you better not call record_route() 
>>>> anywhere before msg_apply_changes(), as record_route() only adds a hint to 
>>>> the message and the value is filled in once the sending socket is known 
>>>> (manually setting $fs doesn't seem to help). If you call 
>>>> msg_apply_changes() after record_route(), you'll get errors and will end 
>>>> up with a broken Record-Route header.
>>>> 
>>>> Hope this helps,
>>>> Andreas
>>>> 
>>>> _______________________________________________
>>>> SIP Express Router (SER) and Kamailio (OpenSER) - sr-users mailing list
>>>> sr-users@lists.sip-router.org
>>>> http://lists.sip-router.org/cgi-bin/mailman/listinfo/sr-users
>>> -- 
>>> Daniel-Constantin Mierla - http://www.asipto.com
>>> http://twitter.com/#!/miconda - http://www.linkedin.com/in/miconda
>>> 
>>> 
>>> _______________________________________________
>>> SIP Express Router (SER) and Kamailio (OpenSER) - sr-users mailing list
>>> sr-users@lists.sip-router.org
>>> http://lists.sip-router.org/cgi-bin/mailman/listinfo/sr-users
> 
> -- 
> Daniel-Constantin Mierla - http://www.asipto.com
> http://twitter.com/#!/miconda - http://www.linkedin.com/in/miconda


_______________________________________________
SIP Express Router (SER) and Kamailio (OpenSER) - sr-users mailing list
sr-users@lists.sip-router.org
http://lists.sip-router.org/cgi-bin/mailman/listinfo/sr-users

Reply via email to