Greetings,
I am proxying INVITEs and need to be able to know when the 200 OK that is part of that particular transaction dialogue (same CSeq as the INVITE) appears so that I stamp voice-bearing media start in my logs.
However, I cannot seem to detect it. I see from the packet capture that the 200 OK from the far end of the call does go back through my OpenSER proxy (I do record_route() on all methods but REGISTER & OPTIONS as per the spec), but I can't seem to programmatically access it in any way. Are there special steps required to get at it?
This is to say, my main route contains:
if(is_method("INVITE")) { ... }
But I never seem to catch anything with it but actual INVITE messages. What gives? I tried doing
if(t_check_status("200"))
within that block, but without anything that I would describe as success. I never even get another message whose overall transaction method is INVITE even when I dump them all for debugging purposes in the main route.
Insights appreciated!
Thanks,
-- Alex Balashov Evariste Systems Web : http://www.evaristesys.com/ Tel : +1-678-954-0670 Direct : +1-678-954-0671
Alex,
Alex Balashov wrote:
Greetings,
I am proxying INVITEs and need to be able to know when the 200 OK that is part of that particular transaction dialogue (same CSeq as the INVITE) appears so that I stamp voice-bearing media start in my logs.
However, I cannot seem to detect it. I see from the packet capture that the 200 OK from the far end of the call does go back through my OpenSER proxy (I do record_route() on all methods but REGISTER & OPTIONS as per the spec), but I can't seem to programmatically access it in any way. Are there special steps required to get at it?
This is to say, my main route contains:
if(is_method("INVITE")) { ... }
But I never seem to catch anything with it but actual INVITE messages. What gives? I tried doing
if(t_check_status("200"))
within that block, but without anything that I would describe as success. I never even get another message whose overall transaction method is INVITE even when I dump them all for debugging purposes in the main route.
You might want to have a look at the onreply_route core function:
http://www.openser.org/dokuwiki/doku.php/core-cookbook:1.2.x#onreply_route
You should have access to all replies in the onreply_route[] block.
/Christian
Insights appreciated!
Thanks,
-- Alex Balashov Evariste Systems Web : http://www.evaristesys.com/ Tel : +1-678-954-0670 Direct : +1-678-954-0671
Users mailing list Users@openser.org http://openser.org/cgi-bin/mailman/listinfo/users
Christian,
On Fri, 5 Oct 2007, Christian Schlatter wrote:
You might want to have a look at the onreply_route core function:
Ah, so replies to these types of transactions never hit the request routes even if I don't have reply routes defined. Gotcha!
Thanks much !
-- Alex Balashov Evariste Systems Web : http://www.evaristesys.com/ Tel : +1-678-954-0670 Direct : +1-678-954-0671
Hi Alex,
For a better understanding of how and in what routes the SIP messages are processed in OpenSER, you can refer to the OpenSER Admin training materials: http://www.openser.org/mos/view/OpenSER-Admin-Course---Rome-2007/
Refer to "Configuration Basics" (note that in PDF format the animation does not work, so use the ODT file)
regards, Bogdan
Alex Balashov wrote:
Christian,
On Fri, 5 Oct 2007, Christian Schlatter wrote:
You might want to have a look at the onreply_route core function:
Ah, so replies to these types of transactions never hit the request routes even if I don't have reply routes defined. Gotcha!
Thanks much !
-- Alex Balashov Evariste Systems Web : http://www.evaristesys.com/ Tel : +1-678-954-0670 Direct : +1-678-954-0671
Users mailing list Users@openser.org http://openser.org/cgi-bin/mailman/listinfo/users