On 06/09/2014 06:03 PM, Roberto
Fichera wrote:
Hi,
On 06/09/2014 05:49 PM,
Daniel-Constantin Mierla wrote:
Hello,
Hi,
On 09/06/14 17:41, Roberto Fichera wrote:
[...]
your patch seems a bit to complex -- I
didn't figure out why you store the message in pkg
memory.
Ok! So I will need to shm_malloc() the memory in such
case, right?
I don't get why you need to do that at all. If you need
to access from, to, etc..., you can get them from the
SIP response. You go in dangerous zone as you do that
cloning.
The idea was to set a sip_msg just to have all the
pseudo-variable available
within the event route and nothing else.
Because you want to execute the event route
on 200ok, the best is to run the event route with the
SIP response structure.
At the beginning this was my choice, but I'd always got
ps->req = NULL in the callback tmcb_params
hence the event route wasn't executed. But I'll re-try it
just to be sure.
I can confirm, I'm always getting ps->req = NULL
un 09 17:06:38 ip-10-227-0-26.localdomain
/usr/sbin/kamailio[25089]: DEBUG: <core>
[parser/msg_parser.c:170]: get_hdr_field(): get_hdr_field:
cseq <CSeq>: <10> <MESSAGE>
Jun 09 17:06:38 ip-10-227-0-26.localdomain
/usr/sbin/kamailio[25089]: DEBUG: tm [t_lookup.c:949]:
t_reply_matching(): DEBUG: t_reply_matching: hash 39390
label 0 branch 0
Jun 09 17:06:38 ip-10-227-0-26.localdomain
/usr/sbin/kamailio[25089]: DEBUG: tm [t_lookup.c:1004]:
t_reply_matching(): DEBUG: t_reply_matching: reply matched
(T=0xb2f7ebfc)!
Jun 09 17:06:38 ip-10-227-0-26.localdomain
/usr/sbin/kamailio[25089]: DEBUG: tm [t_lookup.c:1141]:
t_check_msg(): DEBUG: t_check_msg: msg id=1 global id=1 T
end=0xb2f7ebfc
Jun 09 17:06:38 ip-10-227-0-26.localdomain
/usr/sbin/kamailio[25089]: DEBUG: tm [t_reply.c:2206]:
reply_received(): DEBUG: reply_received: org. status uas=0,
uac[0]=0 local=2 is_invite=0)
Jun 09 17:06:38 ip-10-227-0-26.localdomain
/usr/sbin/kamailio[25089]: DEBUG: tm [t_reply.c:1304]:
t_should_relay_response():
->>>>>>>>> T_code=0, new_code=200
Jun 09 17:06:38 ip-10-227-0-26.localdomain
/usr/sbin/kamailio[25089]: DEBUG: tm [t_reply.c:2086]:
local_reply(): DEBUG: local_reply: branch=0, save=0,
winner=0
Jun 09 17:06:38 ip-10-227-0-26.localdomain
/usr/sbin/kamailio[25089]: DEBUG: tm [t_reply.c:2123]:
local_reply(): DEBUG: local transaction completed
Jun 09 17:06:38 ip-10-227-0-26.localdomain
/usr/sbin/kamailio[25089]: DEBUG: tm [t_hooks.c:288]:
run_trans_callbacks_internal(): DBG: trans=0xb2f7ebfc,
callback type 1024, id 0 entered
Jun 09 17:06:38 ip-10-227-0-26.localdomain
/usr/sbin/kamailio[25089]: DEBUG: msilo [msilo.c:1378]:
m_tm_callback_on_delivered_event():
>>>>>>> msilo_notification_event
0xb301669c
Jun 09 17:06:38 ip-10-227-0-26.localdomain
/usr/sbin/kamailio[25089]: DEBUG: msilo [msilo.c:1380]:
m_tm_callback_on_delivered_event(): completed with status
200 [mid: 147]
Jun 09 17:06:38 ip-10-227-0-26.localdomain
/usr/sbin/kamailio[25089]: DEBUG: msilo [msilo.c:1393]:
m_tm_callback_on_delivered_event(): message <147> was
sent successfully
Jun 09 17:06:38 ip-10-227-0-26.localdomain
/usr/sbin/kamailio[25089]: DEBUG: msilo [ms_msg_list.c:236]:
msg_list_set_flag(): mid:147 fl:4
Jun 09 17:06:38 ip-10-227-0-26.localdomain
/usr/sbin/kamailio[25089]: DEBUG: msilo [msilo.c:1403]:
m_tm_callback_on_delivered_event(): executing
event_route[msilo:on-delivered] (1)
--->>>>> Jun 09 17:06:38
ip-10-227-0-26.localdomain /usr/sbin/kamailio[25089]: DEBUG:
msilo [msilo.c:1410]: m_tm_callback_on_delivered_event():
event_route[msilo:on-delivered] ps->req=(nil))
Jun 09 17:06:38 ip-10-227-0-26.localdomain
/usr/sbin/kamailio[25089]: DEBUG: tm [t_reply.c:1663]:
cleanup_uac_timers(): DEBUG: cleanup_uac_timers: RETR/FR
timers reset
Jun 09 17:06:38 ip-10-227-0-26.localdomain
/usr/sbin/kamailio[25089]: DEBUG: <core>
[usr_avp.c:644]: destroy_avp_list(): DEBUG:destroy_avp_list:
destroying list (nil)
Jun 09 17:06:38 ip-10-227-0-26.localdomain
/usr/sbin/kamailio[25089]: DEBUG: <core>
[usr_avp.c:644]: destroy_avp_list(): DEBUG:destroy_avp_list:
destroying list (nil)
Jun 09 17:06:38 ip-10-227-0-26.localdomain
/usr/sbin/kamailio[25089]: DEBUG: <core>
[usr_avp.c:644]: destroy_avp_list(): DEBUG:destroy_avp_list:
destroying list (nil)
Jun 09 17:06:38 ip-10-227-0-26.localdomain
/usr/sbin/kamailio[25089]: DEBUG: <core>
[usr_avp.c:644]: destroy_avp_list(): DEBUG:destroy_avp_list:
destroying list (nil)
Jun 09 17:06:38 ip-10-227-0-26.localdomain
/usr/sbin/kamailio[25089]: DEBUG: <core>
[usr_avp.c:644]: destroy_avp_list(): DEBUG:destroy_avp_list:
destroying list (nil)
Jun 09 17:06:38 ip-10-227-0-26.localdomain
/usr/sbin/kamailio[25089]: DEBUG: <core>
[usr_avp.c:644]: destroy_avp_list(): DEBUG:destroy_avp_list:
destroying list (nil)
Jun 09 17:06:38 ip-10-227-0-26.localdomain
/usr/sbin/kamailio[25089]: DEBUG: <core> [xavp.c:448]:
xavp_destroy_list(): destroying xavp list (nil)
Jun 09 17:06:38 ip-10-227-0-26.localdomain
/usr/sbin/kamailio[25089]: DEBUG: <core>
[receive.c:296]: receive_msg(): receive_msg: cleaning up
BTW! using shm_malloc() I was finally able to execute the
event route in the script with all the
pseudo-variable correctly set!
Attached you will find the patch I'm actually using.
Cheers,
Roberto Fichera.
Cheers,
Roberto Fichera.
Cheers,
Daniel