diff --git a/channels/chan_sip.c b/channels/chan_sip.c index 6029b7994500f15661c02620e86d80b71f2d6775..8c80bd65c0b7d256c7deb10b9580d2be3f9bdade 100755 --- a/channels/chan_sip.c +++ b/channels/chan_sip.c @@ -8597,12 +8597,6 @@ static int handle_request(struct sip_pvt *p, struct sip_request *req, struct soc ignore=1; } - if (seqno >= p->icseq) - /* Next should follow monotonically (but not necessarily - incrementally -- thanks again to the genius authors of SIP -- - increasing */ - p->icseq = seqno; - extract_uri(p, req); while(*e && (*e < 33)) e++; @@ -8631,6 +8625,12 @@ static int handle_request(struct sip_pvt *p, struct sip_request *req, struct soc ignore=1; } + if (seqno >= p->icseq) + /* Next should follow monotonically (but not necessarily + incrementally -- thanks again to the genius authors of SIP -- + increasing */ + p->icseq = seqno; + /* Find their tag if we haven't got it */ if (ast_strlen_zero(p->theirtag)) { from = get_header(req, "From");