summaryrefslogtreecommitdiff
path: root/pjsip/src/pjsua-lib/pjsua_core.c
diff options
context:
space:
mode:
Diffstat (limited to 'pjsip/src/pjsua-lib/pjsua_core.c')
-rw-r--r--pjsip/src/pjsua-lib/pjsua_core.c8
1 files changed, 8 insertions, 0 deletions
diff --git a/pjsip/src/pjsua-lib/pjsua_core.c b/pjsip/src/pjsua-lib/pjsua_core.c
index 79c69b3e..f76bc5e7 100644
--- a/pjsip/src/pjsua-lib/pjsua_core.c
+++ b/pjsip/src/pjsua-lib/pjsua_core.c
@@ -1964,6 +1964,10 @@ static pj_status_t create_sip_udp_sock(int af,
&cfg->qos_params,
2, THIS_FILE, "SIP UDP socket");
+ /* Apply sockopt, if specified */
+ if (cfg->sockopt_params.cnt)
+ status = pj_sock_setsockopt_params(sock, &cfg->sockopt_params);
+
/* Bind socket */
status = pj_sock_bind(sock, &bind_addr, pj_sockaddr_get_len(&bind_addr));
if (status != PJ_SUCCESS) {
@@ -2186,6 +2190,10 @@ PJ_DEF(pj_status_t) pjsua_transport_create( pjsip_transport_type_e type,
pj_memcpy(&tcp_cfg.qos_params, &cfg->qos_params,
sizeof(cfg->qos_params));
+ /* Copy the sockopt */
+ pj_memcpy(&tcp_cfg.sockopt_params, &cfg->sockopt_params,
+ sizeof(tcp_cfg.sockopt_params));
+
/* Create the TCP transport */
status = pjsip_tcp_transport_start3(pjsua_var.endpt, &tcp_cfg, &tcp);