Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Kamailio does not update CSeq from 200OK on #752

Closed
vinzens opened this issue Aug 19, 2016 · 14 comments
Closed

Kamailio does not update CSeq from 200OK on #752

vinzens opened this issue Aug 19, 2016 · 14 comments

Comments

@vinzens
Copy link

vinzens commented Aug 19, 2016

We've installed latest kamailio from master branch and we see an issue with CSeq numbers.

Scenario is as follow:
A <-> Kamailio <-> B
We do use uacreg to register to B from kamailio. If there is an call from A to B via Kamailio, B challenge DA and from that point the CSeq is not equal on both sides. We do use dlg_manage to track the Difference.

While establishing the call it works until the ACK as reply to 200 OK. The ACK is the first message the CSeq is not updated anymore. In X_log I can see the $dlg_var(cseq_diff) is still there and gives the correct difference. It seems it is not used anymore.

All following requests / responses do have this issue e.G. Bye.

I can provide a wireshark trace, Logs and I can reproduce it in our test lab. Let me know if you need anything.

We do use the latest master version because we had this issue:
#679

unfortunately we were not able to find any commit in 4.4 branch, so we tried master. (would be fine for us, if we would get it run)

cheers
Jöran

@miconda
Copy link
Member

miconda commented Aug 24, 2016

The ACK needs to have the same CSeq as INVITE. It is not updated after challenging the INVITE?

Can you attach a pcap for such call?

@vinzens
Copy link
Author

vinzens commented Aug 24, 2016

The CSeq is updated within the Invite Request. The call gets established and the ACK on the 200OK has the wrong CSeq. After that all messages have wrong CSeq e.G. Bye.

I send the trace to your gmail account. Hope this helps.

miconda added a commit that referenced this issue Aug 26, 2016
@miconda
Copy link
Member

miconda commented Aug 26, 2016

Can you try with master branch now? I just pushed a patch.

@vinzens
Copy link
Author

vinzens commented Aug 29, 2016

I tried the newest version.
In SIP traffic i cannot find any difference, in the Logs where the $dlg_var(cseq_diff) gets printed, i can see the diff gets reset after the ACK on the first 200 OK. The SIP however does not get the incremented CSeq so there are still retransmits.

trace and log are sent via Email.

@miconda
Copy link
Member

miconda commented Aug 29, 2016

OK, I will dig in further.

miconda added a commit that referenced this issue Aug 30, 2016
@miconda
Copy link
Member

miconda commented Aug 30, 2016

A new patch a pushed, can you give it another try?

@vinzens
Copy link
Author

vinzens commented Aug 31, 2016

Hi,

i did, but still looks the ACK has wrong CSeq.

sorry

trace atatched

On Tue, Aug 30, 2016 at 5:32 PM, Daniel-Constantin Mierla <
notifications@github.com> wrote:

A new patch a pushed, can you give it another try?


You are receiving this because you authored the thread.
Reply to this email directly, view it on GitHub
#752 (comment),
or mute the thread
https://github.com/notifications/unsubscribe-auth/AH-W_995O1XvQjk-RtP11esNus3mcB_gks5qlE0ggaJpZM4JoX5S
.

Jöran Vinzens - vinzens@sipgate.de
Telefon: +49 211-63 55 56-21
Telefax: +49 211-63 55 55-22

sipgate GmbH - Gladbacher Str. 74 - 40219 Düsseldorf
HRB Düsseldorf 39841 - Geschäftsführer: Thilo Salmon, Tim Mois
Steuernummer: 106/5724/7147, Umsatzsteuer-ID: DE219349391

www.sipgate.de - www.sipgate.co.uk

@miconda
Copy link
Member

miconda commented Aug 31, 2016

Can you give the logs with debug=3 for such case? Also the output of kamailio -v. Yesterday I tested with pjsip and looked ok...

@vinzens
Copy link
Author

vinzens commented Aug 31, 2016

Hi,

sure. Here the output and the log via Mail.

kamailio -v

version: kamailio 5.0.0-dev6 (x86_64/linux)
flags: STATS: Off, USE_TCP, USE_TLS, USE_SCTP, TLS_HOOKS, USE_RAW_SOCKS, DISABLE_NAGLE, USE_MCAST, DNS_IP_HACK, SHM_MEM, SHM_MMAP, PKG_MALLOC, Q_MALLOC, F_MALLOC, TLSF_MALLOC, DBG_SR_MEMORY, USE_FUTEX, FAST_LOCK-ADAPTIVE_WAIT, USE_DNS_CACHE, USE_DNS_FAILOVER, USE_NAPTR, USE_DST_BLACKLIST, HAVE_RESOLV_RES
ADAPTIVE_WAIT_LOOPS=1024, MAX_RECV_BUFFER_SIZE 262144, MAX_LISTEN 16, MAX_URI_SIZE 1024, BUF_SIZE 65535, DEFAULT PKG_SIZE 8MB
poll method support: poll, epoll_lt, epoll_et, sigio_rt, select.
id: unknown
compiled with gcc 4.9.2

@miconda
Copy link
Member

miconda commented Aug 31, 2016

Did you compile from git sources? Because the git commit hash is not listed in the version output.

@vinzens
Copy link
Author

vinzens commented Aug 31, 2016

yes I did.

we do use our own Build System where the Git commit ID gets lost.

the changes which are included in the Build I triggert is that:

#120 (Aug 30, 2016 5:35:09 PM)

tm: uac: Add failover support for local requests — alex / detail
tm: uac: Split t_uac_prepare — alex / detail
tm: uac: Add support for onsend route to local request — alex / detail
tm: Set tcx.branch_index to picked branch before running failure route. —
alex / detail
tm: copy on_reply and on_failure routes to new branch on DNS based — alex /
detail
tm: Copy on_branch_failure to new branch on DNS failover — alex / detail
dispatcher: free memory on shutdown — alex / detail
pv: xavp: log error message when memory allocation fails — alex / detail
core: Enable SIGUSR1 for child processes — alex / detail
mqueu: Convert items to single linked list — alex / detail
tmx: Try to get branch_index for all replies — alex / detail
jsonrpc_s: Return an error when JSON parsing fails — alex / detail
core: Don't bind to IPv6 addresses if auto_bind_ipv6 is disabled — alex /
detail
sl: Reset timeout before sending the message — alex / detail
sl: Convert get_ticks() to the somewhat faster get_ticks_raw() — alex /
detail
pike: fixed rpc array - added array structure when returning multiple —
kelchy / detail
pkg/kamailio/deb: version set to 5.0.0~dev6 — linuxmaniac / detail
modules/sipcapture fixed priorisation X-RTP headers — alexandr.dubovikov /
detail
http_async_client: init PV API sooner — camille.oudot / detail
topos: record routing storage for handling sip responses — miconda / detail
dialog: proper safety test if cseq value in via is larger than hdr —
miconda / detail
dialog: proper refresh of cseq for requests withing dialog after an —
miconda / detail

The One before i Build was with the changes till the 26th.

On Wed, Aug 31, 2016 at 2:38 PM, Daniel-Constantin Mierla <
notifications@github.com> wrote:

Did you compile from git sources? Because the git commit hash is not
listed in the version output.


You are receiving this because you authored the thread.
Reply to this email directly, view it on GitHub
#752 (comment),
or mute the thread
https://github.com/notifications/unsubscribe-auth/AH-W_wDGMz0wB2UwwHtXclCJkr05xhdiks5qlXXQgaJpZM4JoX5S
.

Jöran Vinzens - vinzens@sipgate.de
Telefon: +49 211-63 55 56-21
Telefax: +49 211-63 55 55-22

sipgate GmbH - Gladbacher Str. 74 - 40219 Düsseldorf
HRB Düsseldorf 39841 - Geschäftsführer: Thilo Salmon, Tim Mois
Steuernummer: 106/5724/7147, Umsatzsteuer-ID: DE219349391

www.sipgate.de - www.sipgate.co.uk

@miconda
Copy link
Member

miconda commented Sep 1, 2016

Try again with the latest patch above -- in some cases, the required headers might not have been parsed.

@vinzens
Copy link
Author

vinzens commented Sep 2, 2016

Tested last Version. It works. Great work! many thanks

@miconda
Copy link
Member

miconda commented Sep 2, 2016

Welcome, closing this issue.

@miconda miconda closed this as completed Sep 2, 2016
miconda added a commit that referenced this issue Sep 8, 2016
miconda added a commit that referenced this issue Sep 8, 2016
…ncrement

- reported by GH #752

(cherry picked from commit 73dbed5)
miconda added a commit that referenced this issue Sep 8, 2016
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

2 participants