@@ -120,8 +120,51 @@ route[MT_indialog] {
120120# !ifdef WITH_N5
121121 # N5 PATCH Request for updating AppSession context
122122 if (is_method(" INVITE" )) {
123- xlog(" L_INFO" ," InDialog SDP Change. Sending N5 Request to update appSession context\n" );
124- route(N5_PATCH_MT_REQ);
123+ xlog(" L_INFO" ," MT InDialog SDP Change. Sending N5 Request to update appSession context\n" );
124+
125+ if (is_direction(" downstream" )) {
126+ xlog(" L_INFO" ," in-dialog MT request from caller $fU to callee $tU (downstream) ($rm)\n" );
127+ $var(midcall_sdp_ip_mt) = $sdp(c:ip);
128+ $var(sdp_vid_port_mt) = $(rb{line.sw,m =video}{s.select,1, });
129+ $var(rtcp_vid_plus_mt) = 1;
130+ $var(sdp_vid_rtcp_port_mt) = $var(rtcp_vid_plus_mt) + $var(sdp_vid_port_mt);
131+ # Store the Video SDP Info in the hash table associated with the UE
132+ # RTP
133+ $var(user_id_sdp_port_vid_mt) = $ci;
134+ $sht(user_sdps_port_vid =>$var(user_id_sdp_port_vid_mt)) = $var(sdp_vid_port_mt);
135+ # RTCP
136+ $var(user_id_sdp_rtcp_port_vid_mt) = $ci;
137+ $sht(user_sdps_rtcp_port_vid =>$var(user_id_sdp_rtcp_port_vid_mt)) = $var(sdp_vid_rtcp_port_mt);
138+ if(sdp_with_media(" video" )) {
139+ xlog(" L_INFO" , " MT VidCall To Downstream SDP Info for ($rm): IP: $var(midcall_sdp_ip_mt) RTP: $var(sdp_vid_port_mt): RTCP: $var(sdp_vid_rtcp_port_mt)\n" );
140+ }
141+ } else {
142+ xlog(" L_INFO" ," Alt-Mode in-dialog MT request from callee $fU to caller $tU (upstream) ($rm)\n" );
143+ $var(midcall_sdp_ip_mt) = $sdp(c:ip);
144+ $var(midcall_id_ip_mt) = $ci;
145+ $sht(user_sdps_midcall_ips =>$var(midcall_id_ip_mt)) = $var(midcall_sdp_ip_mt);
146+ # Collecting Video SDP Info
147+ $var(sdp_vid_port_mt) = $(rb{line.sw,m =video}{s.select,1, });
148+ $var(rtcp_vid_plus_mt) = 1;
149+ $var(sdp_vid_rtcp_port_mt) = $var(rtcp_vid_plus_mt) + $var(sdp_vid_port_mt);
150+ # Store the Video SDP Info in the hash table associated with the UE
151+ # RTP
152+ $var(user_id_sdp_port_vid_mt) = $ci;
153+ $sht(user_sdps_port_vid =>$var(user_id_sdp_port_vid_mt)) = $var(sdp_vid_port_mt);
154+ # RTCP
155+ $var(user_id_sdp_rtcp_port_vid) = $ci;
156+ $sht(user_sdps_rtcp_port_vid =>$var(user_id_sdp_rtcp_port_vid)) = $var(sdp_vid_rtcp_port_mt);
157+ if(sdp_with_media(" video" )) {
158+ xlog(" L_INFO" , " MT VidCall To Upstream SDP Info for ($rm): IP: $var(midcall_sdp_ip_mt) RTP: $var(sdp_vid_port_mt): RTCP: $var(sdp_vid_rtcp_port_mt)\n" );
159+ }
160+ # INVIDE SDP IP for later use in flow filter, as we dont own the Request SDP, so we need special proccesing
161+ $var(midcall_sdp_port_mt) = $(rb{line.sw,m =audio}{s.select,1, });
162+ $var(midcall_id_port_mt) = $ci;
163+ $sht(user_sdps_midcall_ports =>$var(midcall_id_port_mt)) = $var(midcall_sdp_port_mt);
164+ xlog(" L_INFO" , " MT MidCall To Upstream SDP Info for ($rm): $var(midcall_sdp_ip_mt):$var(midcall_sdp_port_mt)\n" );
165+ }
166+
167+ # route(N5_PATCH_MT_REQ);
125168 }
126169
127170 # Terminating N5 AppSession after BYE
@@ -234,12 +277,12 @@ route[N5_INIT_MT_REQ] {
234277 xlog(" L_INFO" , " SIP Connection Info for Term UE $var(term_ue_ip) $var(term_sip_ue_port)\n" );
235278 xlog(" L_INFO" , " SIP Connection Info for P-CSCF is: $var(pcscf_sip_ip) $var(pcscf_sip_port)\n" );
236279
237- $var(term_user_id_req_ip) = $tU ;
280+ $var(term_user_id_req_ip) = $ci ;
238281 # Store the IP in the hash table associated with the UE
239282 $sht(user_sip_ips =>$var(term_user_id_req_ip)) = $var(term_ue_ip);
240283 xlog(" L_INFO" , " SIP/SDP IP Info for Term UE MSISDN $var(term_user_id_req_ip): $var(term_ue_ip)\n" );
241284
242- $var(term_user_id_req_port) = $tU ;
285+ $var(term_user_id_req_port) = $ci ;
243286 # Store the Port in the hash table associated with the UE
244287 $sht(user_sip_ports =>$var(term_user_id_req_port)) = $var(term_sip_ue_port);
245288 xlog(" L_INFO" , " SIP Port Info for UE MSISDN $var(term_user_id_req_port): $var(term_sip_ue_port)\n" );
@@ -248,10 +291,11 @@ route[N5_INIT_MT_REQ] {
248291 # Retrieving SDP Connection Info and Media Port for UE
249292 $var(sdp_src_ip) = $sdp(c:ip);
250293 $var(sdp_src_port) = $sdp(m0:rtp:port);
251- $var(orig_ue_sdp_rtcp_port) = $sdp(m0:rtcp:port);
294+ $var(just_being_funny) = 1;
295+ $var(orig_ue_sdp_rtcp_port) = $var(just_being_funny) + $var(sdp_src_port);
252296 $var(sdp_mline_raw) = $sdp(m0:raw);
253297
254- xlog(" L_INFO" , " SDP Info From INVITE: $sdp(c:ip) -- $sdp(m0:rtp:port) -- $sdp(m0:rtcp:port )\n" );
298+ xlog(" L_INFO" , " SDP Info From INVITE: $sdp(c:ip) -- $sdp(m0:rtp:port) -- $var(orig_ue_sdp_rtcp_port )\n" );
255299
256300 $var(call_id_sdp_ip) = $ci;
257301 # Store the SDP IP in the hash table associated with the Call-Id
@@ -314,44 +358,8 @@ route[N5_INIT_MT_REQ] {
314358 jansson_set(" obj" , " 1" , " $var(medSubComp2)" , " $var(medSubComps)" );
315359 jansson_set(" obj" , " medSubComps" , " $var(medSubComps)" , " $var(medComp)" );
316360
317- # Now in case of an initial Invite with Video, we need to update the N5 QoS Request with the Video Flow Info
318- if(sdp_with_media(" video" )) {
319- xlog(" L_INFO" , " Video Call has been started, adding Video N5 QoS..." );
320-
321- # Set medComponents for Video Flow
322- jansson_set(" integer" , " medCompN" , 2, " $var(medComp_vid)" );
323- jansson_set(" string" , " qosReference" , " qosVoNR" , " $var(medComp_vid)" );
324- jansson_set(" string" , " medType" , " VIDEO" , " $var(medComp_vid)" );
325- jansson_set(" array" , " codecs" , " [\" downlink\\noffer\\n\" , \" uplink\\nanswer\\n\" ]" , " $var(medComp_vid)" );
326-
327- # RTP for Video Flow
328- jansson_set(" integer" , " fNum" , 1, " $var(medSubComp_vid1)" );
329- jansson_set(" array" , " fDescs" , " [\" permit out 17 from any to any\" , \" permit in 17 from any to any\" ]" , " $var(medSubComp_vid1)" );
330- jansson_set(" string" , " fStatus" , " ENABLED" , " $var(medSubComp_vid1)" );
331- jansson_set(" string" , " marBwDl" , " 5000 Kbps" , " $var(medSubComp_vid1)" );
332- jansson_set(" string" , " marBwUl" , " 3000 Kbps" , " $var(medSubComp_vid1)" );
333- jansson_set(" string" , " flowUsage" , " NO_INFO" , " $var(medSubComp_vid1)" );
334-
335-
336- # RTCP for Video Flow
337- jansson_set(" integer" , " fNum" , 2, " $var(medSubComp_vid2)" );
338- jansson_set(" array" , " fDescs" , " [\" permit out 17 from any to any\" , \" permit in 17 from any to any\" ]" , " $var(medSubComp_vid2)" );
339- jansson_set(" string" , " fStatus" , " ENABLED" , " $var(medSubComp_vid2)" );
340- jansson_set(" string" , " marBwDl" , " 5000 Kbps" , " $var(medSubComp_vid2)" );
341- jansson_set(" string" , " marBwUl" , " 3000 Kbps" , " $var(medSubComp_vid2)" );
342- jansson_set(" string" , " flowUsage" , " RTCP" , " $var(medSubComp_vid2)" );
343-
344- # Merging the flows under MediaSubComponent for Video Flow
345- jansson_set(" obj" , " 2" , " $var(medSubComp_vid1)" , " $var(medSubComps_vid)" );
346- jansson_set(" obj" , " 3" , " $var(medSubComp_vid2)" , " $var(medSubComps_vid)" );
347- jansson_set(" obj" , " medSubComps" , " $var(medSubComps_vid)" , " $var(medComp_vid)" );
348- } # End if Video
349-
350361 # Merging all Flows under MediaComponent
351362 jansson_set(" obj" , " 0" , " $var(medComp)" , " $var(medComponents)" );
352- if(sdp_with_media(" video" )) {
353- jansson_set(" obj" , " 1" , " $var(medComp_vid)" , " $var(medComponents)" );
354- }
355363 jansson_set(" obj" , " medComponents" , " $var(medComponents)" , " $var(payload)" );
356364
357365 xlog(" L_INFO" ," DEBUG: Set evSubsc\n" );
@@ -429,9 +437,9 @@ route[N5_INIT_MT_REQ] {
429437 # Extract the substring after the last slash
430438 $var(mtc_app_session) = $(var(url){s.substr,$var(start_pos),$var(substring_length)});
431439
432- xlog(" L_INFO" , " AppSession Id for user $tU is: $var(mtc_app_session)\n" );
440+ xlog(" L_INFO" , " AppSession Id for $ci is: $var(mtc_app_session)\n" );
433441
434- $var(term_user_id) = $tU ;
442+ $var(term_user_id) = $ci ;
435443
436444 # Store the AppSession Id in the hash table associated with the UE
437445 $sht(user_data =>$var(term_user_id)) = $var(mtc_app_session);
@@ -457,19 +465,70 @@ route[N5_PATCH_MT_REQ] {
457465 $var(orig_ue_sdp_port) = $sht(user_sdps_port =>$var(sdp_call_id_port));
458466 xlog(" L_INFO" , " SDP RTP Port for UE with MSISDN $fU Call-ID $var(sdp_call_id_port) is: $var(orig_ue_sdp_port)\n" );
459467
460- $var(sdp_call_id_rtcp_port) = $ci;
461- $var(orig_ue_sdp_rtcp_port) = $sht(user_sdps_rtcp_port =>$var(sdp_call_id_rtcp_port));
462- xlog(" L_INFO" , " SDP RTCP Port for UE with MSISDN $fU Call-ID $var(sdp_call_id_rtcp_port) is: $var(orig_ue_sdp_rtcp_port)\n" );
463-
464- # Retrieve SDP Connection Info from SDP Answer
465- $var(sdp_answ_ip) = $sdp(c:ip);
466- $var(sdp_answ_port) = $sdp(m0:rtp:port);
467- $var(sdp_answ_rtcp_port) = $sdp(m0:rtcp:port);
468- $var(sdp_answ_codec) = $(rb{line.sw,a =rtpmap}{s.select,1, });
469- xlog(" L_INFO" , " SDP Answer connection Info is: $var(sdp_answ_ip), RTP port $var(sdp_answ_port), RTCP Port $var(sdp_answ_rtcp_port) and codec is $var(sdp_answ_codec)\n" );
470-
468+ $var(rtcp_funny_one)= 1;
469+ $var(orig_ue_sdp_rtcp_port) = $var(rtcp_funny_one) + $var(orig_ue_sdp_port);
470+
471+ # Checcking if we have the currect IPs accounrding to direction and then retrieve SDP Connection Info from SDP Answer
472+ $var(sdp_answ_ip_mt) = $sdp(c:ip);
473+ $var(sdp_answ_port_mt) = $(rb{line.sw,m =audio}{s.select,1, });
474+ $var(rtcp_aud_plus_mt) = 1;
475+ $var(sdp_answ_rtcp_port_mt) = $var(rtcp_aud_plus_mt) + $var(sdp_answ_port_mt);
476+ $var(sdp_answ_codec_mt) = $(rb{line.sw,a =rtpmap}{s.select,1, });
477+
478+ if ($var(sdp_answ_ip_mt) == $var(orig_ue_sdp_ip)) {
479+ $var(msisdn_mt) = $fU;
480+ $var(sdp_answ_codec_mt) = $(rb{line.sw,a =rtpmap}{s.select,1, });
481+ $var(sdp_id_answ_ip_mt) = $ci;
482+ $var(sdp_answ_ip_mt) = $sht(user_sdps_midcall_ips =>$var(sdp_id_answ_ip_mt));
483+ $var(sdp_id_ue_port_mt) = $ci;
484+ $var(sdp_answ_port_mt) = $sht(user_sdps_midcall_ports =>$var(sdp_id_ue_port_mt));
485+ $var(rtcp_aud_plus_mt) = 1;
486+ $var(sdp_answ_rtcp_port_mt) = $var(rtcp_aud_plus_mt) + $var(sdp_answ_port_mt);
487+ xlog(" L_INFO" , " Alt-Mode: Audio SDP Info is: $var(sdp_answ_ip_mt), RTP port $var(sdp_answ_port_mt), RTCP Port $var(sdp_answ_rtcp_port_mt)\n" );
488+
489+ # Retrieve Video SDP Info
490+ # If Video is started
491+ if(sdp_with_media(" video" )) {
492+ # Retrieving RTP Port
493+ $var(sdp_id_ue_port_vid_mt) = $ci;
494+ $var(vid_rtp_mt_2) = $sht(user_sdps_port_vid =>$var(sdp_id_ue_port_vid_mt));
495+ # Retrieving RTCP
496+ $var(sdp_id_ue_rtcp_port_vid_mt) = $ci;
497+ $var(vid_rtcp_mt_2) = $sht(user_sdps_rtcp_port_vid =>$var(sdp_id_ue_rtcp_port_vid_mt));
498+
499+ # Retrieve SDP Connection Info from SDP Answer for Video
500+ $var(vid_rtp_mt_1) = $(rb{line.sw,m =video}{s.select,1, });
501+ $var(rtcp_vid_plus_mt) = 1;
502+ $var(vid_rtcp_mt_1) = $var(rtcp_vid_plus_mt) + $var(vid_rtp_mt_1);
503+ xlog(" L_INFO" , " Alt-Mode MT Video SDP request is: Video RTP port $var(vid_rtp_mt_2), RTCP Port $var(vid_rtcp_mt_2)\n" );
504+ xlog(" L_INFO" , " Alt-Mode MT Video SDP Answer is: Video RTP port $var(vid_rtp_mt_1), RTCP Port $var(vid_rtcp_mt_1)\n" );
505+ }
506+
507+ } else {
508+ $var(msisdn_mt) = $tU;
509+ # Retrieve Video SDP Info
510+ # If Video is started
511+ if(sdp_with_media(" video" )) {
512+ # Retrieving RTP Port for Request
513+ $var(sdp_id_ue_port_vid_mt) = $ci;
514+ $var(vid_rtp_mt_1) = $sht(user_sdps_port_vid =>$var(sdp_id_ue_port_vid_mt));
515+ # Retrieving RTCP
516+ $var(sdp_id_ue_rtcp_port_vid_mt) = $ci;
517+ $var(vid_rtcp_mt_1) = $sht(user_sdps_rtcp_port_vid =>$var(sdp_id_ue_rtcp_port_vid_mt));
518+
519+ # Retrieve SDP Connection Info from SDP Answer for Video
520+ $var(vid_rtp_mt_2) = $(rb{line.sw,m =video}{s.select,1, });
521+ $var(rtcp_vid_plus_mt) = 1;
522+ $var(vid_rtcp_mt_2) = $var(rtcp_vid_plus_mt) + $var(vid_rtp_mt_2);
523+ $var(sdp_answ_codec_vid) = $(rb{line.sw,a =rtpmap}{s.select,1, });
524+ xlog(" L_INFO" , " Alt-Mode MT Video SDP request is: Video RTP port $var(vid_rtp_mt_1), RTCP Port $var(vid_rtcp_mt_1)\n" );
525+ xlog(" L_INFO" , " Alt-Mode MT Video SDP Answer is: Video RTP port $var(vid_rtp_mt_2), RTCP Port $var(vid_rtcp_mt_2)\n" );
526+
527+ }
528+ }
529+
471530 # Retrieve AppSession
472- $var(mtc_resp_app_id) = $tU ;
531+ $var(mtc_resp_app_id) = $ci ;
473532 $var(user_appsess_mtc_rep) = $sht(user_data =>$var(mtc_resp_app_id));
474533 xlog(" L_INFO" , " Stored MTC AppSession for user $var(mtc_resp_app_id): $var(user_appsess_mtc_rep)\n" );
475534
@@ -493,15 +552,15 @@ route[N5_PATCH_MT_REQ] {
493552
494553 # RTP for Audio Flow
495554 jansson_set(" integer" , " fNum" , 1, " $var(medSubComp1)" );
496- jansson_set(" array" , " fDescs" , " [\" permit out 17 from $var(orig_ue_sdp_ip) $var(orig_ue_sdp_port) to $var(sdp_answ_ip ) $var(sdp_answ_port )\" , \" permit in 17 from $var(sdp_answ_ip ) $var(sdp_answ_port ) to $var(orig_ue_sdp_ip) $var(orig_ue_sdp_port)\" ]" , " $var(medSubComp1)" );
555+ jansson_set(" array" , " fDescs" , " [\" permit out 17 from $var(orig_ue_sdp_ip) $var(orig_ue_sdp_port) to $var(sdp_answ_ip_mt ) $var(sdp_answ_port_mt )\" , \" permit in 17 from $var(sdp_answ_ip_mt ) $var(sdp_answ_port_mt ) to $var(orig_ue_sdp_ip) $var(orig_ue_sdp_port)\" ]" , " $var(medSubComp1)" );
497556 jansson_set(" string" , " fStatus" , " ENABLED" , " $var(medSubComp1)" );
498557 jansson_set(" string" , " marBwDl" , " 5000 Kbps" , " $var(medSubComp1)" );
499558 jansson_set(" string" , " marBwUl" , " 3000 Kbps" , " $var(medSubComp1)" );
500559 jansson_set(" string" , " flowUsage" , " NO_INFO" , " $var(medSubComp1)" );
501560
502561 # RTCP for Audio Flow
503562 jansson_set(" integer" , " fNum" , 2, " $var(medSubComp2)" );
504- jansson_set(" array" , " fDescs" , " [\" permit out 17 from $var(orig_ue_sdp_ip) $var(orig_ue_sdp_rtcp_port) to $var(sdp_answ_ip ) $var(sdp_answ_rtcp_port )\" , \" permit in 17 from $var(sdp_answ_ip ) $var(sdp_answ_rtcp_port ) to $var(orig_ue_sdp_ip) $var(orig_ue_sdp_rtcp_port)\" ]" , " $var(medSubComp2)" );
563+ jansson_set(" array" , " fDescs" , " [\" permit out 17 from $var(orig_ue_sdp_ip) $var(orig_ue_sdp_rtcp_port) to $var(sdp_answ_ip_mt ) $var(sdp_answ_rtcp_port_mt )\" , \" permit in 17 from $var(sdp_answ_ip_mt ) $var(sdp_answ_rtcp_port_mt ) to $var(orig_ue_sdp_ip) $var(orig_ue_sdp_rtcp_port)\" ]" , " $var(medSubComp2)" );
505564 jansson_set(" string" , " fStatus" , " ENABLED" , " $var(medSubComp2)" );
506565 jansson_set(" string" , " marBwDl" , " 6000 Kbps" , " $var(medSubComp2)" );
507566 jansson_set(" string" , " marBwUl" , " 5000 Kbps" , " $var(medSubComp2)" );
@@ -525,7 +584,7 @@ route[N5_PATCH_MT_REQ] {
525584
526585 # RTP for Video Flow
527586 jansson_set(" integer" , " fNum" , 1, " $var(medSubComp_vid1)" );
528- jansson_set(" array" , " fDescs" , " [\" permit out 17 from any to any \" , \" permit in 17 from any to any \" ]" , " $var(medSubComp_vid1)" );
587+ jansson_set(" array" , " fDescs" , " [\" permit out 17 from $var(orig_ue_sdp_ip) $var(vid_rtp_mt_1) to $var(sdp_answ_ip_mt) $var(vid_rtp_mt_2) \" , \" permit in 17 from $var(sdp_answ_ip_mt) $var(vid_rtp_mt_2) to $var(orig_ue_sdp_ip) $var(vid_rtp_mt_1) \" ]" , " $var(medSubComp_vid1)" );
529588 jansson_set(" string" , " fStatus" , " ENABLED" , " $var(medSubComp_vid1)" );
530589 jansson_set(" string" , " marBwDl" , " 5000 Kbps" , " $var(medSubComp_vid1)" );
531590 jansson_set(" string" , " marBwUl" , " 3000 Kbps" , " $var(medSubComp_vid1)" );
@@ -534,7 +593,7 @@ route[N5_PATCH_MT_REQ] {
534593
535594 # RTCP for Video Flow
536595 jansson_set(" integer" , " fNum" , 2, " $var(medSubComp_vid2)" );
537- jansson_set(" array" , " fDescs" , " [\" permit out 17 from any to any \" , \" permit in 17 from any to any \" ]" , " $var(medSubComp_vid2)" );
596+ jansson_set(" array" , " fDescs" , " [\" permit out 17 from $var(orig_ue_sdp_ip) $var(vid_rtcp_mt_1) to $var(sdp_answ_ip_mt) $var(vid_rtcp_mt_2) \" , \" permit in 17 from $var(sdp_answ_ip_mt) $var(vid_rtcp_mt_2) to $var(orig_ue_sdp_ip) $var(vid_rtcp_mt_1) \" ]" , " $var(medSubComp_vid2)" );
538597 jansson_set(" string" , " fStatus" , " ENABLED" , " $var(medSubComp_vid2)" );
539598 jansson_set(" string" , " marBwDl" , " 5000 Kbps" , " $var(medSubComp_vid2)" );
540599 jansson_set(" string" , " marBwUl" , " 3000 Kbps" , " $var(medSubComp_vid2)" );
@@ -569,9 +628,9 @@ route[N5_PATCH_MT_REQ] {
569628 # Set other parameters in payload
570629 jansson_set(" string" , " notifUri" , " http://N5_BIND_IP:N5_BIND_PORT" , " $var(payload)" );
571630 jansson_set(" string" , " sponStatus" , " SPONSOR_DISABLED" , " $var(payload)" );
572- jansson_set(" string" , " gpsi" , " msisdn-$tU " , " $var(payload)" );
631+ jansson_set(" string" , " gpsi" , " msisdn-$var(msisdn_mt) " , " $var(payload)" );
573632 jansson_set(" string" , " suppFeat" , " 2" , " $var(payload)" );
574- jansson_set(" string" , " ueIpv4" , " $si " , " $var(payload)" );
633+ jansson_set(" string" , " ueIpv4" , " $var(sdp_answ_ip_mt) " , " $var(payload)" );
575634
576635 # Assemble the final JSON request
577636 jansson_set(" obj" , " ascReqData" , " $var(payload)" , " $var(json_request)" );
@@ -609,30 +668,30 @@ route[N5_PATCH_MT_REQ] {
609668}
610669
611670route[N5_MTC_TERM] {
612- xlog(" L_ALERT" ," Terminating AppSession For Call for User $tU due to call END\n" );
671+ xlog(" L_ALERT" ," Terminating AppSession For Call $ci due to call END\n" );
613672 # Retrieve appSession based on To URI
614- $var(mtc_resp_app_id) = $tU ;
673+ $var(mtc_resp_app_id) = $ci ;
615674 $var(user_appsess_mtc_rep) = $sht(user_data =>$var(mtc_resp_app_id));
616- if $var(user_appsess_mtc_rep) == 0 {
617- xlog(" L_INFO" , " No AppSession Id found to terminate. Trying using From URI\n" );
618-
619- # Retrieve appSession based on From URI
620- $var(mtc_resp_app_id) = $fU;
621- $var(user_appsess_mtc_rep) = $sht(user_data =>$var(mtc_resp_app_id));
622- xlog(" L_INFO" , " Alt-Method : Terminating Stored AppSession for user $var(mtc_resp_app_id): $var(user_appsess_mtc_rep)\n" );
623- } else {
675+ # if $var(user_appsess_mtc_rep) == 0 {
676+ # xlog("L_INFO", "No AppSession Id found to terminate. Trying using From URI\n");
677+ #
678+ # # Retrieve appSession based on From URI
679+ # $var(mtc_resp_app_id) = $fU;
680+ # $var(user_appsess_mtc_rep) = $sht(user_data=>$var(mtc_resp_app_id));
681+ # xlog("L_INFO", "Alt-Method : Terminating Stored AppSession for user $var(mtc_resp_app_id): $var(user_appsess_mtc_rep)\n");
682+ # } else {
624683 xlog(" L_INFO" , " Normal Method : MTC AppSession for user $var(mtc_resp_app_id): $var(user_appsess_mtc_rep)\n" );
625- }
684+ # }
626685
627- $var(headers) = " X-SIP-Status: De-Registration \r\n" ;
686+ $var(headers) = " X-SIP-Status: Call-End-MT \r\n" ;
628687 $var(headers) = $var(headers) + " 3gpp-sbi-discovery-target-nf-type: PCF\r\n" ;
629688 $var(headers) = $var(headers) + " accept: application/json\r\n" ;
630689 $var(headers) = $var(headers) + " accept: application/problem+json\r\n" ;
631690 $var(headers) = $var(headers) + " 3gpp-sbi-max-rsp-time: 10000\r\n" ;
632691 $var(headers) = $var(headers) + " 3gpp-sbi-discovery-service-names: npcf-policyauthorization\r\n" ;
633692 $var(headers) = $var(headers) + " 3gpp-sbi-sender-timestamp: " + $var(time_now);
634693
635- http_client_request_v2pk(" POST" , " http://SCP_BIND_IP:SCP_BIND_PORT/npcf-policyauthorization/v1/app-sessions/$var(user_appsess_mtc_rep)/delete" , " $var(json_request) " , " $var(headers)" , " $var(result)" );
694+ http_client_request_v2pk(" POST" , " http://SCP_BIND_IP:SCP_BIND_PORT/npcf-policyauthorization/v1/app-sessions/$var(user_appsess_mtc_rep)/delete" , " " , " $var(headers)" , " $var(result)" );
636695 xlog(" L_INFO" , " cURL header: $curlerror(error)\n" );
637696 xlog(" L_INFO" , " HTTP response: $rc\n" );
638697}
0 commit comments