Contents

Como lido com tamanhos de pacote SIP grandes?

As redes segmentarão os pacotes UDP com um payload maior que 1.480 bytes para garantir que o pacote de sobrecarga não exceda o MTU.

É comum a política do roteador bloquear pacotes UDP segmentados. Os roteadores devem manter cada segmento da mensagem UDP na memória até que o último segmento seja recebido antes de encaminhar a mensagem. Isso pode ser explorado enviando mensagens incompletas ao roteador até que sua memória esteja cheia, fazendo com que o roteador falhe. Por esse motivo, os roteadores que não contêm uma correção para essa condição geralmente não permitem pacotes UDP segmentados.

Uma solução alternativa para roteadores que não lidam (ou não podem) com a segmentação UDP é converter em SIP sobre TCP. O BroadWorks pode ser configurado em vários locais para enviar e/ou esperar receber no UDP, TCP ou em qualquer um (não especificado). Abaixo estão vários locais onde essas configurações são feitas:

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.

Muitos SBCs também suportam UDP e TCP. Alguns SBCs podem até converter UDP em TCP. Aqui está um exemplo de configuração de um ACME SD (vários locais onde o protocolo pode ser especificado.

sip-interface

state                          enabled

realm-id                       access

description                    Public to IHS ACCESS SIP Interface

sip-port

address                        64.212.220.94

port                           5060

transport-protocol             UDP

tls-profile

allow-anonymous                all

sip-port

address                        64.212.220.94

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

Os dispositivos também podem ser definidos para especificar o protocolo. Por exemplo, Polycom pode ser definido como TCPonly, TCPpreferido ou mesmo permitir que a resposta DNS especifique o protocolo (DNSnaptr)

Exemplo de uma mensagem SIP UDP grande

2010.08.17 08:22:44:815 EDT | Info       | Sip | +12403645153 | callhalf-171159287:1

udp 1580 Bytes OUT to 10.10.10.1:5060

INVITE sip:2403640001@10.10.10.1:5060;user=phone;transport=udp SIP/2.0

Via:SIP/2.0/UDP 10.10.10.2;branch=z9hG4bKBroadWorks.11l7pom-10.10.10.1V5060-0-13480-1064780560-1282047764815-

From:\"test-cc1 travis\";tag=1064780560-1282047764815-

To:\"Mike - Test Acct Inmon\"

Call-ID:BW082244815170810-243190739@10.10.10.2

CSeq:13480 INVITE

Contact:

Remote-Party-ID:\"test-cc1 travis\";screen=yes;party=calling;privacy=off;id-type=subscriber

RPID-Privacy:party=calling;privacy=off;id-type=subscriber

Proxy-Require:privacy

Diversion:\"Mike - Test Acct Inmon\";privacy=off;diversion-inhibited;reason=follow-me;counter=5,\"Mike - Test Acct Inmon\";privacy=off;reason=follow-me;counter=1,\"test-cc1 travis\";privacy=off;hg-cc;delay-ccm;reason=unknown;counter=1

Supported: Allow:ACK,BYE,CANCEL,INFO,INVITE,OPTIONS,PRACK,REFER,NOTIFY,UPDATE

Accept:multipart/mixed,application/dtmf-relay,application/media_control+xml,application/sdp,application/x-broadworks-call-center+xml

Max-Forwards:5

Content-Type:application/sdp

Content-Length:283

v=0

o=BroadWorks 1618137 1 IN IP4 10.10.10.2

s=-

c=IN IP4 10.10.10.2

t=0 0

m=audio 16580 RTP/AVP 0 8 18 101

a=rtpmap:0 PCMU/8000

a=rtpmap:8 PCMA/8000

a=rtpmap:18 G729/8000

a=rtpmap:101 telephone-event/8000

a=silenceSupp:on - - - -

a=fmtp:101 0-15

a=ptime:20

a=sendrecv