summaryrefslogtreecommitdiff
path: root/pjsip/src
diff options
context:
space:
mode:
Diffstat (limited to 'pjsip/src')
-rw-r--r--pjsip/src/pjsip/sip_config.c5
-rw-r--r--pjsip/src/pjsip/sip_uri.c14
2 files changed, 13 insertions, 6 deletions
diff --git a/pjsip/src/pjsip/sip_config.c b/pjsip/src/pjsip/sip_config.c
index 85466d4e..87eba3f0 100644
--- a/pjsip/src/pjsip/sip_config.c
+++ b/pjsip/src/pjsip/sip_config.c
@@ -23,6 +23,11 @@
/* pjsip configuration instance, initialized with default values */
pjsip_cfg_t pjsip_sip_cfg_var =
{
+ /* Global settings */
+ {
+ PJSIP_ALLOW_PORT_IN_FROMTO_HDR
+ },
+
/* Transaction settings */
{
PJSIP_MAX_TSX_COUNT,
diff --git a/pjsip/src/pjsip/sip_uri.c b/pjsip/src/pjsip/sip_uri.c
index d4054573..d2b31d9f 100644
--- a/pjsip/src/pjsip/sip_uri.c
+++ b/pjsip/src/pjsip/sip_uri.c
@@ -288,14 +288,16 @@ static pj_ssize_t pjsip_url_print( pjsip_uri_context_e context,
}
/* Only print port if it is explicitly specified.
- * Port is not allowed in To and From header.
+ * Port is not allowed in To and From header, see Table 1 in
+ * RFC 3261 Section 19.1.1
*/
- /* Unfortunately some UA requires us to send back the port
- * number exactly as it was sent. We don't remember whether an
- * UA has sent us port, so we'll just send the port indiscrimately
+ /* Note: ticket #1141 adds run-time setting to allow port number to
+ * appear in From/To header. Default is still false.
*/
- //PJ_TODO(SHOULD_DISALLOW_URI_PORT_IN_FROM_TO_HEADER)
- if (url->port && context != PJSIP_URI_IN_FROMTO_HDR) {
+ if (url->port &&
+ (context != PJSIP_URI_IN_FROMTO_HDR ||
+ pjsip_cfg()->endpt.allow_port_in_fromto_hdr))
+ {
if (endbuf - buf < 10)
return -1;