Yes your right, I will be carfull to only send to only 1 mailing list. Just, for the PRACK, how must we process them, actualy I see that if a device send a PRACK and the GW send back a 200 OK for this PRACK, sems takes this 200 OK for the INVITE. (so I start my billing).
Laurent Jul 9 10:55:19 localhost sems[6425]: Debug: (parse_uri.cpp)(parse_sip_uri)(314): Converted URI port (5060) to int (5060) Jul 9 10:55:19 localhost sems[6425]: Debug: (trans_layer.cpp)(send_request)(558): Sending to 192.168.0.110:5060 <PRACK sip:[EMAIL PROTECTED]:5060 SIP/2.0^M Via: SIP/2.0/UDP 212.203.123.91:5070;branch=z9hG4bKQS86GaGZ^M From: <sip:[EMAIL PROTECTED]>;tag=0F43E446-48747CF5000CF6C7-B2AFBB90 ^M To: <sip:[EMAIL PROTECTED]>;tag=1C809D50-1C0A^M CSeq: 11 PRACK^M Call-ID: [EMAIL PROTECTED] Contact: <sip:[EMAIL PROTECTED]:5070>^M Max-Forwards: 69^M RAck: 9969 556 INVITE^M x-oriuri: 41798204104^M P-hint: rr-enforced lose rrrr^M Content-Length: 0^M ^M > Jul 9 10:55:19 localhost sems[6425]: Debug: (udp_trsp.cpp)(send)(244): send msg --++-- PRACK sip:[EMAIL PROTECTED]:5060 SIP/2.0^M Via: SIP/2.0/UDP 212.203.123.91:5070;branch=z9hG4bKQS86GaGZ^M From: <sip:[EMAIL PROTECTED]>;tag=0F43E446-48747CF5000CF6C7-B2AFBB90 ^M To: <sip:[EMAIL PROTECTED]>;tag=1C809D50-1C0A^M CSeq: 11 PRACK^M Call-ID: [EMAIL PROTECTED] Contact: <sip:[EMAIL PROTECTED]:5070>^M Max-Forwards: 69^M RAck: 9969 556 INVITE^M x-oriuri: 41798204104^M P-hint: rr-enforced lose rrrr^M Content-Length: 0^M ^M --++-- Jul 9 10:55:19 localhost sems[6425]: Debug: (sip_trans.cpp)(reset_timer)(149): New timer of type 0x4 at time=158697 Jul 9 10:55:19 localhost sems[6425]: Debug: (sip_trans.cpp)(reset_timer)(149): New timer of type 0x5 at time=160272 Jul 9 10:55:19 localhost sems[6425]: Debug: (sip_parser.cpp)(~sip_msg)(92): ~sip_msg() Jul 9 10:55:19 localhost sems[6425]: Debug: (AmEventQueue.cpp)(processEvents)(72): event processed Jul 9 10:55:19 localhost sems[6425]: Debug: (AmSession.cpp)(run)(410): [EMAIL PROTECTED] dlg.getUACTransPending() = 1 Jul 9 10:55:19 localhost sems[6425]: Debug: (AmSession.cpp)(run)(404): AmSession:: before wait for event [EMAIL PROTECTED] Jul 9 10:55:19 localhost sems[6425]: Debug: (udp_trsp.cpp)(run)(140): recvd msg --++-- SIP/2.0 200 OK^M Via: SIP/2.0/UDP 212.203.123.91:5070;branch=z9hG4bKQS86GaGZ^M From: <sip:[EMAIL PROTECTED]>;tag=0F43E446-48747CF5000CF6C7-B2AFBB90 ^M To: <sip:[EMAIL PROTECTED]>;tag=1C809D50-1C0A^M Date: Wed, 09 Jul 2008 08:37:02 GMT^M Call-ID: [EMAIL PROTECTED] Server: Cisco-SIPGateway/IOS-12.x^M CSeq: 11 PRACK^M Content-Length: 0^M ^M --++-- Jul 9 10:55:19 localhost sems[6425]: Debug: (trans_layer.cpp)(received_msg)(731): parse_sip_msg returned 0 Jul 9 10:55:19 localhost sems[6425]: Debug: (trans_layer.cpp)(received_msg)(815): Reply matched an existing transaction Jul 9 10:55:19 localhost sems[6425]: Debug: (trans_layer.cpp)(update_uac_trans)(858): reply code = 200 Jul 9 10:55:19 localhost sems[6425]: Debug: (sip_trans.cpp)(reset_timer)(104): Clearing old timer of type 0x4 Jul 9 10:55:19 localhost sems[6425]: Debug: (sip_trans.cpp)(reset_timer)(149): New timer of type 0x6 at time=158923 Jul 9 10:55:19 localhost sems[6425]: Debug: (SipCtrlInterface.cpp)(handleSipMsg)(472): Received reply: 200 OK Jul 9 10:55:19 localhost sems[6425]: Debug: (SipCtrlInterface.cpp)(handleSipMsg)(473): rep.callid = <[EMAIL PROTECTED]> Jul 9 10:55:19 localhost sems[6425]: Debug: (SipCtrlInterface.cpp)(handleSipMsg)(474): rep.local_tag = <0F43E446-48747CF5000CF6C7-B2AFBB90> Jul 9 10:55:19 localhost sems[6425]: Debug: (SipCtrlInterface.cpp)(handleSipMsg)(475): rep.remote_tag = <1C809D50-1C0A> Jul 9 10:55:19 localhost sems[6425]: Debug: (SipCtrlInterface.cpp)(handleSipMsg)(476): cseq = <11> Jul 9 10:55:19 localhost sems[6425]: Debug: (AmEventQueue.cpp)(postEvent)(48): AmEventQueue: trying to post event Jul 9 10:55:19 localhost sems[6425]: Debug: (AmEventQueue.cpp)(postEvent)(56): AmEventQueue: event posted Jul 9 10:55:19 localhost sems[6425]: Debug: (AmSession.cpp)(run)(406): AmSession:: after wait for event [EMAIL PROTECTED] Jul 9 10:55:19 localhost sems[6425]: Debug: (sip_parser.cpp)(~sip_msg)(92): ~sip_msg() Jul 9 10:55:19 localhost sems[6425]: Debug: (AmEventQueue.cpp)(processEvents)(70): before processing event Jul 9 10:55:19 localhost sems[6425]: Debug: (udp_trsp.cpp)(run)(118): before recvmsg (212.203.123.91:5070) Jul 9 10:55:19 localhost sems[6425]: Debug: (AmSession.cpp)(process)(556): AmSession::process Jul 9 10:55:19 localhost sems[6425]: Debug: (AmSession.cpp)(process)(560): Session received SIP Event Jul 9 10:55:19 localhost sems[6425]: Debug: (AmB2BSession.cpp)(onSipReply)(163): onSipReply: 200 OK (fwd=1) Jul 9 10:55:19 localhost sems[6425]: Debug: (AmB2BSession.cpp)(onSipReply)(164): onSipReply: content-type = Jul 9 10:55:19 localhost sems[6425]: Debug: (AmSipDialog.cpp)(updateStatus)(187): updateStatus(reply): transaction found! Jul 9 10:55:19 localhost sems[6425]: Debug: (AmB2BSession.cpp)(relayEvent)(185): AmB2BSession::relayEvent: id=04617FAC-48747CF5000C8654-B72FAB90 Jul 9 10:55:19 localhost sems[6425]: Debug: (AmEventQueue.cpp)(postEvent)(48): AmEventQueue: trying to post event Jul 9 10:55:19 localhost sems[6425]: Debug: (AmEventQueue.cpp)(postEvent)(56): AmEventQueue: event posted Jul 9 10:55:19 localhost sems[6425]: Debug: (AmEventQueue.cpp)(processEvents)(72): event processed Jul 9 10:55:19 localhost sems[6425]: Debug: (AmSession.cpp)(run)(410): [EMAIL PROTECTED] dlg.getUACTransPending() = 1 Jul 9 10:55:19 localhost sems[6425]: Debug: (AmSession.cpp)(run)(404): AmSession:: before wait for event [EMAIL PROTECTED] Jul 9 10:55:19 localhost sems[6425]: Debug: (AmSession.cpp)(run)(406): AmSession:: after wait for event [EMAIL PROTECTED] Jul 9 10:55:19 localhost sems[6425]: Debug: (AmEventQueue.cpp)(processEvents)(70): before processing event Jul 9 10:55:19 localhost sems[6425]: Debug: (AmB2BSession.cpp)(onB2BEvent)(272): reply received from other leg Jul 9 10:55:19 localhost sems[6425]: Debug: (Billing_sip.cpp)(startAccounting)(827): start accounting at 1215593719 Jul 9 10:55:19 localhost sems[6425]: Debug: (Billing_sip.cpp)(startAccounting)(842): price: 0, time 12000 Jul 9 10:55:19 localhost sems[6425]: Debug: (Billing_sip.cpp)(onOtherReply)(686): set credit 12000 Jul 9 10:55:19 localhost sems[6425]: Debug: (AmB2BSession.cpp)(onB2BEvent)(108): B2BSipReply: 200 OK (fwd=1) Jul 9 10:55:19 localhost sems[6425]: Debug: (AmB2BSession.cpp)(onB2BEvent)(109): B2BSipReply: content-type = Jul 9 10:55:19 localhost sems[6425]: Debug: (AmSipDialog.cpp)(updateStatusReply)(133): reply: transaction found! Jul 9 10:55:19 localhost sems[6425]: Debug: (AmSipDialog.cpp)(updateStatusReply)(172): req.method = PRACK; t.method = PRACK @ Jul 9 10:55:19 localhost sems[6425]: Debug: (parse_uri.cpp)(parse_sip_uri)(314): Converted URI port (5060) to int (5060) Jul 9 10:55:19 localhost sems[6425]: Debug: (trans_layer.cpp)(send_request)(558): Sending to 192.168.0.110:5060 <PRACK sip:[EMAIL PROTECTED]:5060 SIP/2.0^M Via: SIP/2.0/UDP 212.203.123.91:5070;branch=z9hG4bKQS86GaGZ^M From: <sip:[EMAIL PROTECTED]>;tag=0F43E446-48747CF5000CF6C7-B2AFBB90 ^M To: <sip:[EMAIL PROTECTED]>;tag=1C809D50-1C0A^M CSeq: 11 PRACK^M Call-ID: [EMAIL PROTECTED] Contact: <sip:[EMAIL PROTECTED]:5070>^M Max-Forwards: 69^M RAck: 9969 556 INVITE^M x-oriuri: 41798204104^M P-hint: rr-enforced lose rrrr^M Content-Length: 0^M ^M > Jul 9 10:55:19 localhost sems[6425]: Debug: (udp_trsp.cpp)(send)(244): send msg --++-- PRACK sip:[EMAIL PROTECTED]:5060 SIP/2.0^M Via: SIP/2.0/UDP 212.203.123.91:5070;branch=z9hG4bKQS86GaGZ^M From: <sip:[EMAIL PROTECTED]>;tag=0F43E446-48747CF5000CF6C7-B2AFBB90 ^M To: <sip:[EMAIL PROTECTED]>;tag=1C809D50-1C0A^M CSeq: 11 PRACK^M Call-ID: [EMAIL PROTECTED] Contact: <sip:[EMAIL PROTECTED]:5070>^M Max-Forwards: 69^M RAck: 9969 556 INVITE^M x-oriuri: 41798204104^M P-hint: rr-enforced lose rrrr^M Content-Length: 0^M ^M --++-- Jul 9 10:55:19 localhost sems[6425]: Debug: (sip_trans.cpp)(reset_timer)(149): New timer of type 0x4 at time=158697 Jul 9 10:55:19 localhost sems[6425]: Debug: (sip_trans.cpp)(reset_timer)(149): New timer of type 0x5 at time=160272 Jul 9 10:55:19 localhost sems[6425]: Debug: (sip_parser.cpp)(~sip_msg)(92): ~sip_msg() Jul 9 10:55:19 localhost sems[6425]: Debug: (AmEventQueue.cpp)(processEvents)(72): event processed Jul 9 10:55:19 localhost sems[6425]: Debug: (AmSession.cpp)(run)(410): [EMAIL PROTECTED] dlg.getUACTransPending() = 1 Jul 9 10:55:19 localhost sems[6425]: Debug: (AmSession.cpp)(run)(404): AmSession:: before wait for event [EMAIL PROTECTED] Jul 9 10:55:19 localhost sems[6425]: Debug: (udp_trsp.cpp)(run)(140): recvd msg --++-- SIP/2.0 200 OK^M Via: SIP/2.0/UDP 212.203.123.91:5070;branch=z9hG4bKQS86GaGZ^M From: <sip:[EMAIL PROTECTED]>;tag=0F43E446-48747CF5000CF6C7-B2AFBB90 ^M To: <sip:[EMAIL PROTECTED]>;tag=1C809D50-1C0A^M Date: Wed, 09 Jul 2008 08:37:02 GMT^M Call-ID: [EMAIL PROTECTED] Server: Cisco-SIPGateway/IOS-12.x^M CSeq: 11 PRACK^M Content-Length: 0^M ^M --++-- Jul 9 10:55:19 localhost sems[6425]: Debug: (trans_layer.cpp)(received_msg)(731): parse_sip_msg returned 0 Jul 9 10:55:19 localhost sems[6425]: Debug: (trans_layer.cpp)(received_msg)(815): Reply matched an existing transaction Jul 9 10:55:19 localhost sems[6425]: Debug: (trans_layer.cpp)(update_uac_trans)(858): reply code = 200 Jul 9 10:55:19 localhost sems[6425]: Debug: (sip_trans.cpp)(reset_timer)(104): Clearing old timer of type 0x4 Jul 9 10:55:19 localhost sems[6425]: Debug: (sip_trans.cpp)(reset_timer)(149): New timer of type 0x6 at time=158923 Jul 9 10:55:19 localhost sems[6425]: Debug: (SipCtrlInterface.cpp)(handleSipMsg)(472): Received reply: 200 OK Jul 9 10:55:19 localhost sems[6425]: Debug: (SipCtrlInterface.cpp)(handleSipMsg)(473): rep.callid = <[EMAIL PROTECTED]> Jul 9 10:55:19 localhost sems[6425]: Debug: (SipCtrlInterface.cpp)(handleSipMsg)(474): rep.local_tag = <0F43E446-48747CF5000CF6C7-B2AFBB90> Jul 9 10:55:19 localhost sems[6425]: Debug: (SipCtrlInterface.cpp)(handleSipMsg)(475): rep.remote_tag = <1C809D50-1C0A> Jul 9 10:55:19 localhost sems[6425]: Debug: (SipCtrlInterface.cpp)(handleSipMsg)(476): cseq = <11> Jul 9 10:55:19 localhost sems[6425]: Debug: (AmEventQueue.cpp)(postEvent)(48): AmEventQueue: trying to post event Jul 9 10:55:19 localhost sems[6425]: Debug: (AmEventQueue.cpp)(postEvent)(56): AmEventQueue: event posted Jul 9 10:55:19 localhost sems[6425]: Debug: (AmSession.cpp)(run)(406): AmSession:: after wait for event [EMAIL PROTECTED] Jul 9 10:55:19 localhost sems[6425]: Debug: (sip_parser.cpp)(~sip_msg)(92): ~sip_msg() Jul 9 10:55:19 localhost sems[6425]: Debug: (AmEventQueue.cpp)(processEvents)(70): before processing event Jul 9 10:55:19 localhost sems[6425]: Debug: (udp_trsp.cpp)(run)(118): before recvmsg (212.203.123.91:5070) Jul 9 10:55:19 localhost sems[6425]: Debug: (AmSession.cpp)(process)(556): AmSession::process Jul 9 10:55:19 localhost sems[6425]: Debug: (AmSession.cpp)(process)(560): Session received SIP Event Jul 9 10:55:19 localhost sems[6425]: Debug: (AmB2BSession.cpp)(onSipReply)(163): onSipReply: 200 OK (fwd=1) Jul 9 10:55:19 localhost sems[6425]: Debug: (AmB2BSession.cpp)(onSipReply)(164): onSipReply: content-type = Jul 9 10:55:19 localhost sems[6425]: Debug: (AmSipDialog.cpp)(updateStatus)(187): updateStatus(reply): transaction found! Jul 9 10:55:19 localhost sems[6425]: Debug: (AmB2BSession.cpp)(relayEvent)(185): AmB2BSession::relayEvent: id=04617FAC-48747CF5000C8654-B72FAB90 Jul 9 10:55:19 localhost sems[6425]: Debug: (AmEventQueue.cpp)(postEvent)(48): AmEventQueue: trying to post event Jul 9 10:55:19 localhost sems[6425]: Debug: (AmEventQueue.cpp)(postEvent)(56): AmEventQueue: event posted Jul 9 10:55:19 localhost sems[6425]: Debug: (AmEventQueue.cpp)(processEvents)(72): event processed Jul 9 10:55:19 localhost sems[6425]: Debug: (AmSession.cpp)(run)(410): [EMAIL PROTECTED] dlg.getUACTransPending() = 1 Jul 9 10:55:19 localhost sems[6425]: Debug: (AmSession.cpp)(run)(404): AmSession:: before wait for event [EMAIL PROTECTED] Jul 9 10:55:19 localhost sems[6425]: Debug: (AmSession.cpp)(run)(406): AmSession:: after wait for event [EMAIL PROTECTED] Jul 9 10:55:19 localhost sems[6425]: Debug: (AmEventQueue.cpp)(processEvents)(70): before processing event Jul 9 10:55:19 localhost sems[6425]: Debug: (AmB2BSession.cpp)(onB2BEvent)(272): reply received from other leg Jul 9 10:55:19 localhost sems[6425]: Debug: (Billing_sip.cpp)(startAccounting)(827): start accounting at 1215593719 Jul 9 10:55:19 localhost sems[6425]: Debug: (Billing_sip.cpp)(startAccounting)(842): price: 0, time 12000 Jul 9 10:55:19 localhost sems[6425]: Debug: (Billing_sip.cpp)(onOtherReply)(686): set credit 12000 Jul 9 10:55:19 localhost sems[6425]: Debug: (AmB2BSession.cpp)(onB2BEvent)(108): B2BSipReply: 200 OK (fwd=1) Jul 9 10:55:19 localhost sems[6425]: Debug: (AmB2BSession.cpp)(onB2BEvent)(109): B2BSipReply: content-type = Jul 9 10:55:19 localhost sems[6425]: Debug: (AmSipDialog.cpp)(updateStatusReply)(133): reply: transaction found! Jul 9 10:55:19 localhost sems[6425]: Debug: (AmSipDialog.cpp)(updateStatusReply)(172): req.method = PRACK; t.method = PRACK @ -----Original Message----- From: Stefan Sayer [mailto:[EMAIL PROTECTED] Sent: mercredi 9 juillet 2008 21:49 To: Laurent Schweizer Cc: [EMAIL PROTECTED] Subject: Re: [Sems] change reply in AmB2BSession and PRACK Hello, o Laurent Schweizer [07/09/08 21:28]: > Hello, > > > > I need to remove some header in reply (AmB2BSession). In wich funtion > can I do it ? I think you need to make void relaySip(const AmSipRequest& orig, const AmSipReply& reply); virtual, and then do like void MyB2BSession::relaySip(const AmSipRequest& orig, const AmSipReply& reply) { if (some condition on reply or state) { AmSipReply mod_reply(reply); .. apply some modification to mod_reply, e.g. reply.headers+="SomeHeader: someval\r\n"; ... AmB2BSession::relaySip(orig, mod_reply); return; } AmB2BSession::relaySip(orig, reply); } meybe there is a cleaner solution, depends on the type of reply you need to modify. Stefan P.S. I think it is enough to post to either sems or semsdev, depending on the type of question, no ? -- Stefan Sayer VoIP Services [EMAIL PROTECTED] www.iptego.com iptego GmbH Am Borsigturm 40 13507 Berlin Germany Amtsgericht Charlottenburg, HRB 101010 Geschaeftsfuehrer: Alexander Hoffmann _______________________________________________ Semsdev mailing list [email protected] http://lists.iptel.org/mailman/listinfo/semsdev
