- Timestamp:
- Dec 5, 2014 4:03:06 AM (10 years ago)
- File:
-
- 1 edited
Legend:
- Unmodified
- Added
- Removed
-
pjproject/trunk/pjsip/src/pjsip-ua/sip_timer.c
r4715 r4967 1089 1089 inv->timer->refresher = as_refresher? TR_UAS : TR_UAC; 1090 1090 } else { 1091 /* If UAC support timer (currently check the existance of 1092 * Session-Expires header in the request), set UAC as refresher. 1091 /* If UAC supports timer and Session-Expires header is present 1092 * in the request, set UAC as refresher. 1093 * If UAC doesn't support timer and a proxy inserts a 1094 * Session-Expires header, then UAS has to be the 1095 * refresher (according to RFC 4028 Section 9). 1093 1096 */ 1094 inv->timer->refresher = se_hdr? TR_UAC : TR_UAS; 1097 pj_bool_t uac_supports_timer = PJ_FALSE; 1098 pjsip_supported_hdr *sup_hdr; 1099 1100 sup_hdr = (pjsip_supported_hdr*) 1101 pjsip_msg_find_hdr(msg, PJSIP_H_SUPPORTED, NULL); 1102 if (sup_hdr) { 1103 unsigned i; 1104 1105 for (i = 0; i < sup_hdr->count; i++) { 1106 if (pj_stricmp(&sup_hdr->values[i], &STR_TIMER) == 0) { 1107 uac_supports_timer = PJ_TRUE; 1108 break; 1109 } 1110 } 1111 } 1112 inv->timer->refresher = (uac_supports_timer && se_hdr)? TR_UAC: 1113 TR_UAS; 1095 1114 } 1096 1115 }
Note: See TracChangeset
for help on using the changeset viewer.