On 05/22/2014 09:08 AM, Roberto Fichera wrote: > On 05/21/2014 11:15 PM, Daniel-Constantin Mierla wrote: >> Hello,
Ciao Daniel, have you had time to look at the problem below? Cheers, Roberto Fichera. > > Ciao, > >> can you send the log messages printed with debug=3? > > Yes! Sure! Here it is: > > May 22 08:58:04 dragon.tekno-soft.it /usr/sbin/kamailio[8454]: DEBUG: <core> > [receive.c:296]: receive_msg(): > receive_msg: cleaning up > May 22 08:58:04 dragon.tekno-soft.it /usr/sbin/kamailio[8436]: DEBUG: <core> > [parser/msg_parser.c:633]: parse_msg(): > SIP Reply (status): > May 22 08:58:04 dragon.tekno-soft.it /usr/sbin/kamailio[8436]: DEBUG: <core> > [parser/msg_parser.c:635]: parse_msg(): > version: <SIP/2.0> > May 22 08:58:04 dragon.tekno-soft.it /usr/sbin/kamailio[8436]: DEBUG: <core> > [parser/msg_parser.c:637]: parse_msg(): > status: <202> > May 22 08:58:04 dragon.tekno-soft.it /usr/sbin/kamailio[8436]: DEBUG: <core> > [parser/msg_parser.c:639]: parse_msg(): > reason: <Accepted> > May 22 08:58:04 dragon.tekno-soft.it /usr/sbin/kamailio[8436]: DEBUG: <core> > [parser/parse_via.c:1284]: > parse_via_param(): Found param type 232, <branch> = > <z9hG4bK016e.a6c662d4000000000000000....0>; state=6 > May 22 08:58:04 dragon.tekno-soft.it /usr/sbin/kamailio[8436]: DEBUG: <core> > [parser/parse_via.c:1284]: > parse_via_param(): Found param type 235, <rport> = <1169>; state=6 > May 22 08:58:04 dragon.tekno-soft.it /usr/sbin/kamailio[8436]: DEBUG: <core> > [parser/parse_via.c:1284]: > parse_via_param(): Found param type 234, <received> = <xx.xx.xx.xx>; state=16 > May 22 08:58:04 dragon.tekno-soft.it /usr/sbin/kamailio[8436]: DEBUG: <core> > [parser/parse_via.c:2672]: parse_via(): > end of header reached, state=5 > May 22 08:58:04 dragon.tekno-soft.it /usr/sbin/kamailio[8436]: DEBUG: <core> > [parser/msg_parser.c:513]: > parse_headers(): parse_headers: Via found, flags=2 > May 22 08:58:04 dragon.tekno-soft.it /usr/sbin/kamailio[8436]: DEBUG: <core> > [parser/msg_parser.c:515]: > parse_headers(): parse_headers: this is the first via > May 22 08:58:04 dragon.tekno-soft.it /usr/sbin/kamailio[8436]: DEBUG: <core> > [receive.c:152]: receive_msg(): After > parse_msg... > May 22 08:58:04 dragon.tekno-soft.it /usr/sbin/kamailio[8436]: DEBUG: tm > [t_lookup.c:1072]: t_check_msg(): DEBUG: > t_check_msg: msg id=1 global id=0 T start=0xffffffffffffffff > May 22 08:58:04 dragon.tekno-soft.it /usr/sbin/kamailio[8436]: DEBUG: <core> > [parser/parse_addr_spec.c:176]: > parse_to_param(): DEBUG: add_param: tag=74b38630e6be28bab2ebe17319971f33-c57e > May 22 08:58:04 dragon.tekno-soft.it /usr/sbin/kamailio[8436]: DEBUG: <core> > [parser/parse_addr_spec.c:893]: > parse_addr_spec(): end of header reached, state=29 > May 22 08:58:04 dragon.tekno-soft.it /usr/sbin/kamailio[8436]: DEBUG: <core> > [parser/msg_parser.c:190]: > get_hdr_field(): DEBUG: get_hdr_field: <To> [88]; uri=[sip:te...@test.com] > May 22 08:58:04 dragon.tekno-soft.it /usr/sbin/kamailio[8436]: DEBUG: <core> > [parser/msg_parser.c:192]: > get_hdr_field(): DEBUG: to body [<sip:te...@test.com>] > May 22 08:58:04 dragon.tekno-soft.it /usr/sbin/kamailio[8436]: DEBUG: <core> > [parser/msg_parser.c:170]: > get_hdr_field(): get_hdr_field: cseq <CSeq>: <10> <MESSAGE> > May 22 08:58:04 dragon.tekno-soft.it /usr/sbin/kamailio[8436]: DEBUG: tm > [t_lookup.c:949]: t_reply_matching(): DEBUG: > t_reply_matching: hash 58896 label 0 branch 0 > May 22 08:58:04 dragon.tekno-soft.it /usr/sbin/kamailio[8436]: DEBUG: tm > [t_lookup.c:1004]: t_reply_matching(): DEBUG: > t_reply_matching: reply matched (T=0x7f21ba974408)! > May 22 08:58:04 dragon.tekno-soft.it /usr/sbin/kamailio[8436]: DEBUG: tm > [t_lookup.c:1141]: t_check_msg(): DEBUG: > t_check_msg: msg id=1 global id=1 T end=0x7f21ba974408 > May 22 08:58:04 dragon.tekno-soft.it /usr/sbin/kamailio[8436]: DEBUG: tm > [t_reply.c:2206]: reply_received(): DEBUG: > reply_received: org. status uas=0, uac[0]=0 local=2 is_invite=0) > May 22 08:58:04 dragon.tekno-soft.it /usr/sbin/kamailio[8436]: DEBUG: tm > [t_reply.c:1304]: t_should_relay_response(): > ->>>>>>>>> T_code=0, new_code=202 > May 22 08:58:04 dragon.tekno-soft.it /usr/sbin/kamailio[8436]: DEBUG: tm > [t_reply.c:2086]: local_reply(): DEBUG: > local_reply: branch=0, save=0, winner=0 > May 22 08:58:04 dragon.tekno-soft.it /usr/sbin/kamailio[8436]: DEBUG: tm > [t_reply.c:2123]: local_reply(): DEBUG: local > transaction completed > May 22 08:58:04 dragon.tekno-soft.it /usr/sbin/kamailio[8436]: DEBUG: tm > [t_hooks.c:288]: > run_trans_callbacks_internal(): DBG: trans=0x7f21ba974408, callback type > 1024, id 0 entered > May 22 08:58:04 dragon.tekno-soft.it /usr/sbin/kamailio[8436]: DEBUG: msilo > [msilo.c:1327]: m_tm_callback(): completed > with status 202 [mid: 139782841221704/4] > May 22 08:58:04 dragon.tekno-soft.it /usr/sbin/kamailio[8436]: DEBUG: msilo > [msilo.c:1340]: m_tm_callback(): message > <4> was sent successfully > May 22 08:58:04 dragon.tekno-soft.it /usr/sbin/kamailio[8436]: DEBUG: msilo > [ms_msg_list.c:236]: msg_list_set_flag(): > mid:4 fl:4 > May 22 08:58:04 dragon.tekno-soft.it /usr/sbin/kamailio[8436]: DEBUG: msilo > [msilo.c:1350]: m_tm_callback(): executing > event_route[msilo:on-delivered] (2) > May 22 08:58:04 dragon.tekno-soft.it /usr/sbin/kamailio[8436]: DEBUG: tm > [t_reply.c:1663]: cleanup_uac_timers(): > DEBUG: cleanup_uac_timers: RETR/FR timers reset > May 22 08:58:04 dragon.tekno-soft.it /usr/sbin/kamailio[8436]: DEBUG: <core> > [usr_avp.c:644]: destroy_avp_list(): > DEBUG:destroy_avp_list: destroying list (nil) > May 22 08:58:04 dragon.tekno-soft.it /usr/sbin/kamailio[8436]: DEBUG: <core> > [usr_avp.c:644]: destroy_avp_list(): > DEBUG:destroy_avp_list: destroying list (nil) > May 22 08:58:04 dragon.tekno-soft.it /usr/sbin/kamailio[8436]: DEBUG: <core> > [usr_avp.c:644]: destroy_avp_list(): > DEBUG:destroy_avp_list: destroying list (nil) > May 22 08:58:04 dragon.tekno-soft.it /usr/sbin/kamailio[8436]: DEBUG: <core> > [usr_avp.c:644]: destroy_avp_list(): > DEBUG:destroy_avp_list: destroying list (nil) > May 22 08:58:04 dragon.tekno-soft.it /usr/sbin/kamailio[8436]: DEBUG: <core> > [usr_avp.c:644]: destroy_avp_list(): > DEBUG:destroy_avp_list: destroying list (nil) > May 22 08:58:04 dragon.tekno-soft.it /usr/sbin/kamailio[8436]: DEBUG: <core> > [usr_avp.c:644]: destroy_avp_list(): > DEBUG:destroy_avp_list: destroying list (nil) > May 22 08:58:04 dragon.tekno-soft.it /usr/sbin/kamailio[8436]: DEBUG: <core> > [xavp.c:448]: xavp_destroy_list(): > destroying xavp list (nil) > May 22 08:58:04 dragon.tekno-soft.it /usr/sbin/kamailio[8436]: DEBUG: <core> > [receive.c:296]: receive_msg(): > receive_msg: cleaning up > May 22 08:58:08 dragon.tekno-soft.it /usr/sbin/kamailio[8441]: DEBUG: pike > [timer.c:77]: check_and_split_timer(): > splitting 0x7f21ba98dab0(0x7f21ba7b15f8,0x7f21ba7b15f8)node=0x7f21ba98daa0 > May 22 08:58:08 dragon.tekno-soft.it /usr/sbin/kamailio[8441]: DEBUG: pike > [timer.c:102]: check_and_split_timer(): > succ. to split (h=0x7f21ba7b15f8)(p=0x7f21ba7b15f8,n=0x7f21ba7b15f8) > May 22 08:58:08 dragon.tekno-soft.it /usr/sbin/kamailio[8441]: DEBUG: pike > [pike_funcs.c:234]: clean_routine(): clean > node 0x7f21ba98daa0 (kids=(nil); hits=[0,0];leaf=[0,0]) > May 22 08:58:08 dragon.tekno-soft.it /usr/sbin/kamailio[8441]: DEBUG: pike > [pike_funcs.c:265]: clean_routine(): rmv > node 0x7f21ba98daa0[192] > May 22 08:58:08 dragon.tekno-soft.it /usr/sbin/kamailio[8441]: DEBUG: pike > [ip_tree.c:364]: remove_node(): destroying > node 0x7f21ba98daa0 > May 22 08:58:10 dragon.tekno-soft.it /usr/sbin/kamailio[8454]: DEBUG: <core> > [io_wait.h:617]: io_watch_del(): DBG: > io_watch_del (0x8eb2e0, 9, -1, 0x10) fd_no=2 called > May 22 08:58:10 dragon.tekno-soft.it /usr/sbin/kamailio[8454]: DEBUG: <core> > [tcp_read.c:1437]: release_tcpconn(): > releasing con 0x7f21ba9420c0, state 1, fd=9, id=2 > May 22 08:58:10 dragon.tekno-soft.it /usr/sbin/kamailio[8454]: DEBUG: <core> > [tcp_read.c:1438]: release_tcpconn(): > extra_data 0x7f21ba941028 > May 22 08:58:10 dragon.tekno-soft.it /usr/sbin/kamailio[8456]: DEBUG: <core> > [tcp_main.c:3385]: handle_tcp_child(): > handle_tcp_child: reader response= 7f21ba9420c0, 1 from 2 > May 22 08:58:10 dragon.tekno-soft.it /usr/sbin/kamailio[8456]: DEBUG: <core> > [io_wait.h:390]: io_watch_add(): DBG: > io_watch_add(0x893040, 28, 2, 0x7f21ba9420c0), fd_no=20 > May 22 08:58:10 dragon.tekno-soft.it /usr/sbin/kamailio[8456]: DEBUG: <core> > [tcp_main.c:3515]: handle_tcp_child(): > handle_tcp_child: CONN_RELEASE 0x7f21ba9420c0 refcnt= 1 > > Cheers, > Roberto Fichera. > >> >> Cheers, >> Daniel >> >> On 21/05/14 18:37, Roberto Fichera wrote: >>> On 05/21/2014 09:08 AM, Roberto Fichera wrote: >>> >>> Hi There, >>> >>>> On 05/20/2014 09:15 PM, Peter Villeneuve wrote: >>>>> Hi Roberto, >>>> >>>> Hi Peter, >>>> >>>>> Did you ever figure out how to do it? >>>>> I'd be interested too. >>>> >>>> Not yet! I tried other ways, barely workarounds, but I guess I'll have to >>>> go into this >>>> quite soon because it is the straight way to go. The main problem is the >>>> lack of >>>> my knowledge of kamailio API so I'll have to study a bit some code in >>>> order to understand >>>> how to use it. >>>> >>>> BTW the idea is to trigger an event route were I'd like to set all the >>>> info regarding >>>> the dispatched message including the result of the delivering. I don't >>>> know if is possible >>>> but the best would be to set all the pseudo-variables so that such event >>>> route will be >>>> in the right context of the given MSILO message. >>>> >>>> So, any advice regarding the API would definitively help and put me in the >>>> right direction. >>> >>> Actually I've started to play with the above idea, so below you will find >>> my current implementation >>> which seems executed because I see the LM_DBG() log but the code within the >>> event route but >>> the corresponding script code does not. >>> >>> Any help? >>> >>> Cheers, >>> Roberto Fichera. >>> >>> >>> event_route [msilo:on-delivered] { >>> xlog("L_INFO", "MSILO event on-delivered <$fu> to <$ru>\n"); >>> } >>> >>> >>> diff --git a/modules/msilo/msilo.c b/modules/msilo/msilo.c >>> index 903b3cf..742c48d 100644 >>> --- a/modules/msilo/msilo.c >>> +++ b/modules/msilo/msilo.c >>> @@ -281,6 +281,9 @@ static int bind_msilo(msilo_api_t* api) >>> return 0; >>> } >>> >>> +/* where to go for the local request route ("msilo:on-delivered") */ >>> +int msilo_event_on_delivered=-1; /* default disabled */ >>> + >>> /** >>> * init module function >>> */ >>> @@ -480,6 +483,11 @@ static int mod_init(void) >>> if(ms_outbound_proxy.s!=NULL) >>> ms_outbound_proxy.len = strlen(ms_outbound_proxy.s); >>> >>> + /* check if the on-delivered route event exists or not */ >>> + msilo_event_on_delivered=route_lookup(&event_rt, >>> "msilo:on-delivered"); >>> + if (msilo_event_on_delivered>=0 && >>> event_rt.rlist[msilo_event_on_delivered]==0) >>> + msilo_event_on_delivered=-1; /* disable */ >>> + >>> return 0; >>> } >>> >>> @@ -1330,6 +1338,26 @@ void m_tm_callback( struct cell *t, int type, struct >>> tmcb_params *ps) >>> LM_DBG("message <%d> was sent successfully\n", *((int*)ps->param)); >>> msg_list_set_flag(ml, *((int*)ps->param), MS_MSG_DONE); >>> >>> + /* execute the msilo:on-delivered event route */ >>> + if(unlikely(msilo_event_on_delivered>=0)) >>> + { >>> + int sflag_bk; >>> + int backup_route_type; >>> + struct run_act_ctx ctx; >>> + >>> + LM_DBG("executing event_route[msilo:on-delivered] (%d)\n", >>> msilo_event_on_delivered); >>> + >>> + sflag_bk = getsflags(); >>> + backup_route_type = get_route_type(); >>> + >>> + set_route_type(EVENT_ROUTE); >>> + init_run_actions_ctx(&ctx); >>> + run_top_route(event_rt.rlist[msilo_event_on_delivered], >>> ps->req, &ctx); >>> + >>> + set_route_type(backup_route_type); >>> + setsflagsval(sflag_bk); >>> + } >>> + >>> done: >>> return; >>> } >>> >>> >>>> >>>> Cheers, >>>> Roberto Fichera. >>>> >>>>> >>>>> Cheers, >>>>> Peter >>>>> >>>>> >>>>> On Thu, Apr 17, 2014 at 4:04 PM, Roberto Fichera <ker...@tekno-soft.it >>>>> <mailto:ker...@tekno-soft.it>> wrote: >>>>> >>>>> On 04/17/2014 10:36 AM, Roberto Fichera wrote: >>>>> >>>>> Hi All, >>>>> >>>>> > On 04/16/2014 07:15 PM, Roberto Fichera wrote: >>>>> > >>>>> > Hi All, >>>>> > >>>>> >> On 04/16/2014 06:53 PM, Daniel-Constantin Mierla wrote: >>>>> >>> Hello, >>>>> >> Ciao Daniel, >>>>> >> >>>>> >>> most likely the messages are looped back, be sure you allow >>>>> requests from 'myself' without authentication. >>>>> >>> >>>>> >>> You can watch loopback interface with ngrep to see if the >>>>> messages are sent out. >>>>> >> Yep! Allowing requests from myself solved the problem! Thanks! >>>>> >> >>>>> >> Another thing regarding MSILO, I would like to preserve some >>>>> custom header fields >>>>> >> for both instant message and notification. How can I do it? >>>>> > I was able to solve this issue too, pretty straight I mean, there >>>>> is the extra_hdrs_avp param >>>>> > which did the trick. BTW, is there a way to send back the >>>>> notification to the sender that >>>>> > the message has been sent correctly via m_dump(), so to get a 200 >>>>> about the given >>>>> > m_dump()ed message? >>>>> > >>>>> >>>>> I think that this can be solved in a different way, the idea is to >>>>> add an event_route for the msilo >>>>> module so that we get notified for each m_dump()ed message about the >>>>> given IM status and >>>>> then handle it in the cfg file. So, looking at the code within >>>>> m_tm_callback() it seems that it's >>>>> right place where to add such feature. Since I'm not a kamailio >>>>> developer but I've quite long >>>>> time experience in C coding, does anyone can show/point me to some >>>>> example about >>>>> how to do that? >>>>> >>>>> Thanks in advance, >>>>> Roberto Fichera. >>>>> >>>>> _______________________________________________ >>>>> SIP Express Router (SER) and Kamailio (OpenSER) - sr-users mailing >>>>> list >>>>> sr-users@lists.sip-router.org <mailto:sr-users@lists.sip-router.org> >>>>> http://lists.sip-router.org/cgi-bin/mailman/listinfo/sr-users >>>>> >>>>> >>>>> >>>>> >>>>> _______________________________________________ >>>>> SIP Express Router (SER) and Kamailio (OpenSER) - sr-users mailing list >>>>> sr-users@lists.sip-router.org >>>>> http://lists.sip-router.org/cgi-bin/mailman/listinfo/sr-users >>>> >>>> >>>> >>>> _______________________________________________ >>>> SIP Express Router (SER) and Kamailio (OpenSER) - sr-users mailing list >>>> sr-users@lists.sip-router.org >>>> http://lists.sip-router.org/cgi-bin/mailman/listinfo/sr-users >>> >>> >>> >>> _______________________________________________ >>> SIP Express Router (SER) and Kamailio (OpenSER) - sr-users mailing list >>> sr-users@lists.sip-router.org >>> http://lists.sip-router.org/cgi-bin/mailman/listinfo/sr-users >> >> >> -- >> Daniel-Constantin Mierla - http://www.asipto.com >> http://twitter.com/#!/miconda - http://www.linkedin.com/in/miconda >> >> >> _______________________________________________ >> SIP Express Router (SER) and Kamailio (OpenSER) - sr-users mailing list >> sr-users@lists.sip-router.org >> http://lists.sip-router.org/cgi-bin/mailman/listinfo/sr-users > > > > _______________________________________________ > SIP Express Router (SER) and Kamailio (OpenSER) - sr-users mailing list > sr-users@lists.sip-router.org > http://lists.sip-router.org/cgi-bin/mailman/listinfo/sr-users
_______________________________________________ SIP Express Router (SER) and Kamailio (OpenSER) - sr-users mailing list sr-users@lists.sip-router.org http://lists.sip-router.org/cgi-bin/mailman/listinfo/sr-users