回復 13# Qnewbie
It's my patch.
I create it based on 1.8.2.3, and I can register to ET263 again with it.
--- a/channels/chan_sip.c
+++ b/channels/chan_sip.c
@@ -23607,10 +23607,10 @@
/* RFC 3261 - 8.1.3.3 If more than one Via header field value is present in a reponse
* the UAC SHOULD discard the message. This is not perfect, as it will not catch multiple
* headers joined with a comma. Fixing that would pretty much involve writing a new parser */
- if (!ast_strlen_zero(__get_header(req, "via", &via_pos))) {
- ast_log(LOG_WARNING, "Misrouted SIP response '%s' with Call-ID '%s', too many vias\n", e, callid);
- return 0;
- }
+// if (!ast_strlen_zero(__get_header(req, "via", &via_pos))) {
+// ast_log(LOG_WARNING, "Misrouted SIP response '%s' with Call-ID '%s', too many vias\n", e, callid);
+// return 0;
+// }
if (p->ocseq && (p->ocseq < seqno)) {
ast_debug(1, "Ignoring out of order response %d (expecting %d)\n", seqno, p->ocseq);
return -1; |