See if setting this param on helps. http://www.opensips.org/html/docs/modules/devel/tm.html#id293118 -Brett
On Aug 4, 2011, at 7:48 PM, Bobby Smith <bobby.sm...@gmail.com> wrote: All, Here's why I'm trying to accomplish: route [subsequent_request] { if (has_totag && is_method("ACK") { if (MY_VAR = "cisco") { lookup("location"); ... relay and exit } else { ... relay and exit lr } } } onreply_route [foo] { .... if($ua =~ "Cisco-CP79") { MY_VAR = "cisco" } } The reasons are not really relevant (it's to get rid of a really poor UA implementation on older Cisco 79XX firmwares), but my intent is: 1) Set a transaction-visible-only value in onreply_route [foo] 2) Retrieve it on the ACK that completes the initial invite transaction. My problems: 1) if MY_VAR is an $avp, it returns null on retrieving it in the route[subsequent_request], even with the onreply flag for tm set. 2) if MY_VAR is a $var, it's process global and so, the next transaction that comes in could share the same state (race) 3) if MY_VAR is a flag, I can't retrieve it in the route [subsequent request] 4) if MY_VAR is a dlg_flag or a dlg_var, I can't retrieve it in the subsequent request even if invoking create_dialog as the first action in the routing script (if it's an initial invite). 5) The only thing I've been able to do is create a unique key via localcache (with $fU_useragent = myvalue) and fetch it, but this does not allow multiple UA's to register with the same fU My question is, is there any way to set a transaction state only value in an onreply hook, and retrieve it on the ACK? I know according to the RFC: The reason for this separation is rooted in the importance <http://rfc-ref.org/RFC-TEXTS/3261/kw-importance.html> of delivering all 200 (OK) responses to an INVITE <http://rfc-ref.org/RFC-TEXTS/3261/kw-invite.html> to the UAC <http://rfc-ref.org/RFC-TEXTS/3261/kw-uac.html>. To deliver them all to the UAC <http://rfc-ref.org/RFC-TEXTS/3261/kw-uac.html>, the UAS <http://rfc-ref.org/RFC-TEXTS/3261/kw-uas.html> alone takes responsibility for retransmitting them (see Section 13.3.1.4), and the UAC <http://rfc-ref.org/RFC-TEXTS/3261/kw-uac.html> alone takes responsibility for acknowledging them with ACK <http://rfc-ref.org/RFC-TEXTS/3261/kw-ack.html> (see Section 13.2.2.4). Since this ACK <http://rfc-ref.org/RFC-TEXTS/3261/kw-ack.html> is retransmitted only by the UAC <http://rfc-ref.org/RFC-TEXTS/3261/kw-uac.html>, it is effectively considered its own transaction <http://rfc-ref.org/RFC-TEXTS/3261/kw-transaction.html>. Is there a way to get this associated with the right dialog or something? I've tried setting a dialog profile on initial invite, storing a value in the 200 OK onreply, and retrieving it as well in the ACK, but I get no dialog has been created (I guess because the dialog is early or something). Thanks for the ideas, BobbyS _______________________________________________ Users mailing list Users@lists.opensips.org http://lists.opensips.org/cgi-bin/mailman/listinfo/users
_______________________________________________ Users mailing list Users@lists.opensips.org http://lists.opensips.org/cgi-bin/mailman/listinfo/users