On Wednesday 11 August 2010, Jasmin Schnatterbeck wrote:
some months ago I reported a problem with pua_dialoginfo: Avps declared in request route are not available anymore in branch route, if pua_dialoginfo module is loaded.
I do not know whether there are some experiences with this problem or not, so I looked for the reason.
pua_dialoginfo uses pua for sending PUBLISH request pua uses tm t_request for sending PUBLISH request
t_request() is located in uac.c (tm):
- in line 411 avp list is reset
- in line 276 build_cell() is called: build_cell() is located in h_table.c, where lines 305-323 delete avps
If I comment out the mentioned lines, which delete avps, then avps set in request route are also available in branch route. But I do not know, what is also affected by this change.
So would it be reasonable, to add a parameter to build_cell() for not changing the AVP list?
Hi Jasmin,
so this issue is just visible in the transaction on which the pua_dialoginfo module acts on, or its affects also unrelated transactions?
According my understanding the build_cell method is used for example during the creation of a new SIP transaction. This is probably necessary (in this case) for t_request to work correctly. So changing it globally would be probably not a good idea as it will probably have some side effects. But you can add a parameter as you suggested, and just see if it works in your setup.
If its really harmless i can't confirm at the moment, as my insight into the details of the TM module is limited. If you want to get some feedback about a patch, Andrei as the maintainer of the module would be probably more qualified to give a sound answer. :-)
Cheers,
Henning