PDF(38.0 KB) View with Adobe Reader on a variety of devices
ePub(78.8 KB) View in various apps on iPhone, iPad, Android, Sony Reader, or Windows Phone
Mobi (Kindle)(63.3 KB) View on Kindle device or Kindle app on multiple devices
Updated:November 11, 2020
The documentation set for this product strives to use bias-free language. For the purposes of this documentation set, bias-free is defined as language that does not imply discrimination based on age, disability, gender, racial identity, ethnic identity, sexual orientation, socioeconomic status, and intersectionality. Exceptions may be present in the documentation due to language that is hardcoded in the user interfaces of the product software, language used based on RFP documentation, or language that is used by a referenced third-party product. Learn more about how Cisco is using Inclusive Language.
How do I deal with large SIP packet sizes?
Networks will segment UDP packets with a payload larger than 1480 Bytes to ensure the over packet will not exceed the MTU.
It is common router policy to block segmented UDP packets. Routers must hold each segment of the UDP message in memory until the last segment is received before forwarding the message on. This can be exploited by sending incomplete messages to the router until its memory is full causing the router to fail. For this reason routers that do not contain a fix for this condition often disallow segmented UDP packets.
A workaround to routers that do not (or cannot) handle UDP segmentation is to convert to SIP over TCP. BroadWorks can be set at various locations to send and/or to expect to receive on UDP, TCP or either (unspecified). Below are various locations where these settings are made:
AS_CLI/Interface/SIP> get […] supportTcp = true
AS_CLI/System/Device/NetworkServers/Routing> get Net Address Port Transport Poll OpState Description ===================================================================== ns1.ihs.broadsoft.com tcp false enabled ns1 ns2.ihs.broadsoft.com tcp false enabled ns2
AS_CLI/System/CallP/Routing/MediaServerSelection/MediaServerDevice> get Net Address Port Transport Description ===================================================== ms1.ihs.broadsoft.com 5060 tcp ms1 ms2.ihs.broadsoft.com 5060 tcp ms2
NS_CLI/System/Device/RoutingNE/Address> get About to access 22 entries. Continue?
Please confirm (Yes, Y, No, N): y Retrieving data... Please wait... Routing NE Address Cost Weight Port Transport ======================================================================= […] test3 10.2.2.2 1 99 5060 tcp test1 10.6.6.6 1 90 5060 tcp test2 10.1.1.1 1 90 5060 tcp
22 entries found.
Many SBCs also support both UDP and TCP. Some SBCs can even convert UDP to TCP. Here is an example configuration from an ACME SD (various locations where protocol can be specified.
sip-interface state enabled realm-id access description Public to IHS ACCESS SIP Interface sip-port address 220.127.116.11 port 5060 transport-protocol UDP tls-profile allow-anonymous all sip-port address 18.104.22.168 port 5060 transport-protocol TCP tls-profile allow-anonymous all
session-agent hostname 10.48.7.56 ip-address 10.48.7.56 port 5060 state enabled app-protocol SIP app-type transport-method TCP
Devices can also be set to specify protocol. For example, Polycom can be set to TCPonly, TCPpreffered or even allow the DNS response to specify the protocol (DNSnaptr)
Example of a large SIP UDP message
2010.08.17 08:22:44:815 EDT | Info | Sip | +12403645153 | callhalf-171159287:1 udp 1580 Bytes OUT to 10.10.10.1:5060