Opened 12 years ago

Closed 12 years ago

Last modified 12 years ago

#1488 closed defect (worksforme)

Problem with sending and receiving large (INVITE) requests over TCP on Android 4.0.2/4.0.3 possibly due to fragmentation

Reported by: bennylp Owned by: bennylp
Priority: normal Milestone: release-2.1
Component: pjsip Version: common
Keywords: Cc:
Backport to 1.x milestone: Backported: no

Description (last modified by bennylp)

When the server sends a large (INVITE) request towards the Android client via TCP, PJSIP does not seem to process this request. Looking at the log there seems to be no activity regarding the incoming data. The OS may not notify us at all about the incoming data. Wireshark capture shows that server sent the INVITE request as TCP fragments and instead of receiving acknowledgement, it gets error from the client instead (see the attached capture).

This has been tested with different wi-fi routers and 3G providers and the issue remains. Smaller SIP requests towards the client work as expected.

Update:

The same problem also occurs in the sending direction. PJSIP sends large (INVITE) request, the log shows it, but nothing actually gets transmitted. After this the TCP socket seems to be disfunctional until it is closed.

Attachments (1)

undelivered-tcp-packets-on-android.pcap (40.9 KB) - added by bennylp 12 years ago.
See packet 52/53

Download all attachments as: .zip

Change History (6)

comment:1 Changed 12 years ago by bennylp

  • Milestone changed from release-1.14 to Known-Issues-and-Ideas

Moved to Known Issues

comment:2 Changed 12 years ago by bennylp

  • Backported unset
  • Description modified (diff)
  • Summary changed from Problem with receiving incoming large (INVITE) request over TCP on Android ICS 4.0.3 possibly due to fragmentation to Problem with sending and receiving large (INVITE) requests over TCP on Android 4.0.2/4.0.3 possibly due to fragmentation

comment:3 Changed 12 years ago by bennylp

  • Milestone changed from Known-Issues-and-Ideas to release-2.1

comment:4 Changed 12 years ago by bennylp

  • Resolution set to worksforme
  • Status changed from new to closed

Got a solution'''

We can avoid the problem if we avoid using port 5060 in both source and destination TCP connection.

comment:5 Changed 12 years ago by bennylp

  • Description modified (diff)

Changed 12 years ago by bennylp

See packet 52/53

Note: See TracTickets for help on using tickets.