Hi all. I recently ran into a situation with the SEMS SBC app and a Cisco
gateway in which the gateway returned a 481 in response to the PRACK. It turned
out SEMS was sending the PRACK on to the gateway without a To tag, in spite of
the gateway having returned a To tag with its 18x response.
I looked through AmSipDialog and found SEMS only sets the remote_tag on a 2xx
INVITE response, but RFC 3261 8.2.6.2 allows the UAS to set the To tag in a 1xx
response. The patch against git master below sets the dialog's remote_tag on a
1xx response if the UAS includes a To tag. With this patch in place, SEMS SBC
interacts with the Cisco gateway correctly.
Best,
andrew
--
diff --git a/core/AmSipDialog.cpp b/core/AmSipDialog.cpp
index 49ac842..6b124cb 100644
--- a/core/AmSipDialog.cpp
+++ b/core/AmSipDialog.cpp
@@ -618,6 +618,10 @@ void AmSipDialog::onRxReply(const AmSipReply& reply)
status = Proceeding;
else {
status = Early;
+
+ // per rfc3261 8.2.6.2, the UAS may include
+ // the To tag in the 1xx responses.
+ remote_tag = reply.to_tag;
}
}
else if(reply.code < 300){
_______________________________________________
Semsdev mailing list
[email protected]
http://lists.iptel.org/mailman/listinfo/semsdev