Transport Protocol Selection

Created by Kelly Evans, Modified on Wed, 4 Jun at 8:28 AM by Kelly Evans

The Peeredge Orchestrator supports UDP, TCP, and TLS v1.2 as transport protocols for SIP signaling. The Peeredge Orchestrator supports RTP and SRTP protocols for media sessions. Both RTP and SRTP use UDP as the transport protocol.

 Transport protocols provide essential services to voice applications, including: 

  • Multiplexing  Assign port numbers to each application, which enables the IP network to carry thousands of application messages between hosts simultaneously.

  • Reliable message delivery  The receiver verifies the transmission of each packet using a checksum to ensure contents are not corrupted. The receiver acknowledges the verified packet or requests retransmission of the corrupted packet. If the transmitter doesn’t receive an acknowledgment, it assumes the packet is lost and retransmits it. The transport layer also ensures packets arrive in sequence by inserting a sequence number.

  • Flow control  The receiver uses a transmission window value to provide feedback to the sender about buffer space to avoid buffer overruns and underruns.

  • Congestion management  When multiple losses occur, the transport layer implements a back-off algorithm that allows congestion to clear before resuming transmission. 



Recommendations

If any portion of the end-to-end network transport is considered unsecure (i.e. direct Internet), then 46 Labs recommends using TLS.

If the end-to-end network transport is already secure (i.e. SD-WAN, MPLS, IPsec tunnels), then 46 Labs recommends using UDP. If any customer networking devices in the SIP signaling path between the customer SBCs/PBXs and the Peeredge SBC do not properly handle UDP message fragmentation and assembly, then 46 Labs recommends TCP.

The Peeredge Orchestrator supports the following cipher suites, signature hashing algorithms and crypto media suites.

TLS supported cipher suites

Cipher NameCipher
TLS_AES_128_GCM_SHA2560x1301
TLS_AES_256_GCM_SHA3840x1302
TLS_CHACHA20_POLY1305_SHA2560x1303
TLS_AES_128_CCM_SHA2560x1304
TLS_AES_128_CCM_8_SHA2560x1305
TLS_SHA256_SHA2560xC0b4
TLS_SHA384_SHA3840xC0b5
TLS_RSA_WITH_AES_128_CBC_SHA0x002f
TLS_RSA_WITH_AES_256_CBC_SHA0x0035
TLS_DHE_RSA_WITH_AES_128_CBC_SHA0x0033
TLS_DHE_RSA_WITH_AES_256_CBC_SHA0x0039
TLS_DHE_PSK_WITH_AES_256_GCM_SHA3840x00ab
TLS_DHE_PSK_WITH_AES_128_GCM_SHA2560x00aa
TLS_DHE_PSK_WITH_AES_256_CBC_SHA3840x00b3
TLS_DHE_PSK_WITH_AES_128_CBC_SHA2560x00b2
TLS_DHE_PSK_WITH_AES_128_CCM0xc0a6
TLS_DHE_PSK_WITH_AES_256_CCM0xc0a7
TLS_RSA_WITH_AES_128_CCM_80xc0a0
TLS_RSA_WITH_AES_256_CCM_80xc0a1
TLS_ECDHE_ECDSA_WITH_AES_128_CCM0xc0ac
TLS_ECDHE_ECDSA_WITH_AES_128_CCM_80xc0ae
TLS_ECDHE_ECDSA_WITH_AES_256_CCM_80xc0af
TLS_ECDHE_RSA_WITH_AES_128_CBC_SHA0xc013
TLS_ECDHE_RSA_WITH_AES_256_CBC_SHA0xc014
TLS_ECDHE_ECDSA_WITH_AES_128_CBC_SHA0xc009
TLS_ECDHE_ECDSA_WITH_AES_256_CBC_SHA0xc00a
TLS_RSA_WITH_AES_128_CBC_SHA2560x003c
TLS_RSA_WITH_AES_256_CBC_SHA2560x003d
TLS_DHE_RSA_WITH_AES_128_CBC_SHA2560x0067
TLS_DHE_RSA_WITH_AES_256_CBC_SHA2560x006b
TLS_RSA_WITH_AES_128_GCM_SHA2560x009c
TLS_RSA_WITH_AES_256_GCM_SHA3840x009d
TLS_DHE_RSA_WITH_AES_128_GCM_SHA2560x009e
TLS_DHE_RSA_WITH_AES_256_GCM_SHA3840x009f
TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA2560xc02f
TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA3840xc030
TLS_ECDHE_ECDSA_WITH_AES_128_GCM_SHA2560xc02b
TLS_ECDHE_ECDSA_WITH_AES_256_GCM_SHA3840xc02c
TLS_RSA_WITH_CAMELLIA_128_CBC_SHA0x0041
TLS_DHE_RSA_WITH_CAMELLIA_128_CBC_SHA0x0045
TLS_RSA_WITH_CAMELLIA_256_CBC_SHA0x0084
TLS_DHE_RSA_WITH_CAMELLIA_256_CBC_SHA0x0088
TLS_RSA_WITH_CAMELLIA_128_CBC_SHA2560x00ba
TLS_DHE_RSA_WITH_CAMELLIA_128_CBC_SHA2560x00be
TLS_RSA_WITH_CAMELLIA_256_CBC_SHA2560x00c0
TLS_DHE_RSA_WITH_CAMELLIA_256_CBC_SHA2560x00c4
TLS_ECDHE_RSA_WITH_AES_128_CBC_SHA2560xc027
TLS_ECDHE_ECDSA_WITH_AES_128_CBC_SHA2560xc023
TLS_ECDHE_RSA_WITH_AES_256_CBC_SHA3840xc028
TLS_ECDHE_ECDSA_WITH_AES_256_CBC_SHA3840xc024
TLS_ECDHE_RSA_WITH_CHACHA20_POLY1305_SHA2560xcca8
TLS_ECDHE_ECDSA_WITH_CHACHA20_POLY1305_SHA2560xcca9
TLS_DHE_RSA_WITH_CHACHA20_POLY1305_SHA2560xccaa
TLS_ECDHE_RSA_WITH_CHACHA20_POLY1305_SHA2560xcc13
TLS_ECDHE_ECDSA_WITH_CHACHA20_POLY1305_SHA2560xcc14
TLS_DHE_RSA_WITH_CHACHA20_POLY1305_SHA2560xcc15
TLS_DH_anon_WITH_AES_128_CBC_SHA0x0034
TLS_DH_anon_WITH_AES_256_GCM_SHA3840x00a7
TLS_ECDHE_PSK_WITH_AES_128_CBC_SHA2560xc037
TLS_ECDHE_PSK_WITH_AES_128_GCM_SHA2560xd001
TLS_PSK_WITH_CHACHA20_POLY1305_SHA2560xccab
TLS_ECDHE_PSK_WITH_CHACHA20_POLY1305_SHA2560xccac
TLS_DHE_PSK_WITH_CHACHA20_POLY1305_SHA2560xccad


Signature Hashing Algorithms supported 

Hash Algorithm NameAlgorithm
ecdsa_secp521r1_sha5120x0603
ecdsa_secp384r1_sha3840x0503
ecdsa_secp256r1_sha2560x0403
ecdsa_sha10x0203
ed255190x0807
ed4480x0808
rsa_pss_rsae_sha5120x0806
rsa_pss_pss_sha5120x080b
rsa_pss_rsae_sha3840x0805
rsa_pss_pss_sha3840x080a
rsa_pss_rsae_sha2560x0804
rsa_pss_pss_sha2560x0809
rsa_pkcs1_sha5120x0601
rsa_pkcs1_sha3840x0501
rsa_pkcs1_sha2560x0401
SHA224 RSA0x0301
rsa_pkcs1_sha10x0201
SHA1 Anonymous0x0200



Crypto Media Suites Supported

 

Media Suite Name
AEAD_AES_256_GCM
AEAD_AES_128_GCM
AES_256_CM_HMAC_SHA1_80
AES_256_CM_HMAC_SHA1_32
AES_192_CM_HMAC_SHA1_80
AES_192_CM_HMAC_SHA1_32
AES_CM_128_HMAC_SHA1_80
AES_CM_128_HMAC_SHA1_32
F8_128_HMAC_SHA1_80
F8_128_HMAC_SHA1_32



Note: The selection of cipher suites and signature hashing algorithms is limited by the what cryptographic algorithm RSA (Rivest-Shamir-Adleman) or ECDSA (Elliptic Curve Digital Signature Algorithm) was used to sign the TLS certificate.  For example, an RSA signed certificate would not support the TLS_ECDHE_ECDSA_WITH_AES_128_CBC_SHA256 cipher suite. 


Was this article helpful?

That’s Great!

Thank you for your feedback

Sorry! We couldn't be helpful

Thank you for your feedback

Let us know how can we improve this article!

Select at least one of the reasons
CAPTCHA verification is required.

Feedback sent

We appreciate your effort and will try to fix the article