Changeset 5921


Ignore:
Timestamp:
Dec 12, 2018 1:50:22 PM (9 months ago)
Author:
riza
Message:

Close #2169: Update invite options when receiving INVITE provisional response with Allow UPDATE header.

File:
1 edited

Legend:

Unmodified
Added
Removed
  • pjproject/trunk/pjsip/src/pjsip-ua/sip_inv.c

    r5851 r5921  
    41864186            if (tsx->status_code != 100) { 
    41874187 
     4188                if (inv->role == PJSIP_ROLE_UAC) { 
     4189                    pjsip_rx_data *rdata = e->body.tsx_state.src.rdata; 
     4190                    pjsip_allow_hdr *allow = NULL; 
     4191                    pjsip_msg *msg = rdata->msg_info.msg; 
     4192 
     4193                    if (msg) { 
     4194                        allow = (pjsip_allow_hdr*) pjsip_msg_find_hdr(msg,  
     4195                                 PJSIP_H_ALLOW, NULL); 
     4196                    } 
     4197                    if (allow) { 
     4198                        unsigned i; 
     4199                        const pj_str_t STR_UPDATE = { "UPDATE", 6 }; 
     4200 
     4201                        for (i=0; i<allow->count; ++i) { 
     4202                            if (pj_stricmp(&allow->values[i], &STR_UPDATE)==0) { 
     4203                                /* UPDATE is present in Allow */ 
     4204                                inv->options |= PJSIP_INV_SUPPORT_UPDATE; 
     4205                                break; 
     4206                            } 
     4207                        } 
     4208                    } 
     4209                } 
     4210 
    41884211                if (dlg->remote.info->tag.slen) 
    41894212                    inv_set_state(inv, PJSIP_INV_STATE_EARLY, e); 
Note: See TracChangeset for help on using the changeset viewer.