MGCP-stack

8 views
Skip to first unread message

Tom Uijldert

unread,
Oct 13, 2009, 10:29:22 AM10/13/09
to mobicent...@googlegroups.com
Hi,

Quick question wrt. the MGCP-stack (MGCP-RA 1.0.1.GA):

- Will the stack try to send a command/transaction once or does it re-send
on timeout?

Thanks in advance,
Tom Uijldert.

Sachin Parnami

unread,
Oct 13, 2009, 10:33:53 AM10/13/09
to mobicent...@googlegroups.com
AFAIK
It sends it again on Time-Out
--
Regards,
Sachin Parnami

Amit Bhayani

unread,
Oct 13, 2009, 10:51:01 AM10/13/09
to mobicent...@googlegroups.com
It does resend. There is timer as 

Amit Bhayani

unread,
Oct 13, 2009, 10:54:15 AM10/13/09
to mobicent...@googlegroups.com
Sorry pressed send in mid.

As per RFC 3435 the re-transmission timers should be calculated as per TCP way. So you will say re-transmission happening depending on load and network congestion.

Tom Uijldert

unread,
Oct 14, 2009, 4:04:17 AM10/14/09
to mobicent...@googlegroups.com
Thanks for the swift reply, had trouble locating it in the code.


From: mobicent...@googlegroups.com [mailto:mobicent...@googlegroups.com] On Behalf Of Amit Bhayani
Sent: dinsdag 13 oktober 2009 16:54
To: mobicent...@googlegroups.com
Subject: [mobicents-public] Re: MGCP-stack

Uijltje

unread,
Oct 26, 2009, 11:39:03 AM10/26/09
to mobicents-public
Hi,
The actual cause behind this question:
When there is no reply on a CRCX command (due to network problems),
the TRANSACTION_TIMEOUT is -maybe- fired, but the event is definitely
not delivered to my sbb.
Anyone an idea as to why?

The sbb is attached to the connection activity.
Is it fired on some other activity?

TIA,
Tom.

On 14 okt, 09:04, "Tom Uijldert" <tom.uijld...@gmail.com> wrote:
> Thanks for the swift reply, had trouble locating it in the code.
>
>   _____  
>
> From: mobicent...@googlegroups.com
> [mailto:mobicent...@googlegroups.com] On Behalf Of Amit Bhayani
> Sent: dinsdag 13 oktober 2009 16:54
> To: mobicent...@googlegroups.com
> Subject: [mobicents-public] Re: MGCP-stack
>
> Sorry pressed send in mid.
>
> As per RFC 3435 the re-transmission timers should be calculated as per TCP
> way. So you will say re-transmission happening depending on load and network
> congestion.
>
> On Tue, Oct 13, 2009 at 7:51 AM, Amit Bhayani <amit.bhay...@gmail.com>
> wrote:
>
> It does resend. There is timer as  
>
> On Tue, Oct 13, 2009 at 7:33 AM, Sachin Parnami <sachin.mob...@gmail.com>
> wrote:
>
> AFAIK
> It sends it again on Time-Out
>
> On Tue, Oct 13, 2009 at 7:59 PM, Tom Uijldert <tom.uijld...@gmail.com>

Amit Bhayani

unread,
Oct 27, 2009, 12:45:33 AM10/27/09
to mobicent...@googlegroups.com
Yes looks like its not firing the net.java.slee.resource.mgcp.TRANSACTION_TIMEOUT event

http://code.google.com/p/mobicents/issues/detail?id=1022

Amit Bhayani

unread,
Oct 27, 2009, 1:24:55 AM10/27/09
to mobicent...@googlegroups.com
This issue is for migrated MGCP 2.x.y RA
This works in MGCP 1.x.y RA.

In 1.x.y,make sure that your SBB is listening for

        <event event-direction="Receive" initial-event="False">
            <event-name>TxTimeout</event-name>
            <event-type-ref>
                <event-type-name>net.java.slee.resource.mgcp.TRANSACTION_TIMEOUT</event-type-name>
                <event-type-vendor>net.java</event-type-vendor>
                <event-type-version>1.0</event-type-version>
            </event-type-ref>
        </event>

Tom Uijldert

unread,
Oct 27, 2009, 4:17:46 AM10/27/09
to mobicent...@googlegroups.com
Hmmm, this happens in 1.0.1.GA and my Sbb listens for exactly _that_ event.
Possibly a diff between 1.0.1 and 1.0.3?


From: mobicent...@googlegroups.com [mailto:mobicent...@googlegroups.com] On Behalf Of Amit Bhayani
Sent: dinsdag 27 oktober 2009 6:25

Amit Bhayani

unread,
Oct 27, 2009, 4:27:50 AM10/27/09
to mobicent...@googlegroups.com
Possible for you to test it out from trunk or 1.0.3 (both are same) to confirm?

Tom Uijldert

unread,
Oct 27, 2009, 8:16:08 AM10/27/09
to mobicent...@googlegroups.com
Sorry, I stand corrected.
Made a test and it _does_ generate the timeouts.
 
So what I'm left with is something that looks like a network-problem but probably isn't.
My sbb creates and sends the command but no timeout (nor response) is received.
 
So something goes wrong or is lost between giving the 'sendMgcpEvents()' command by the sbb and actually sending it over the socket (which starts the timer).
 
Could it be that the ThreadPoolExecutor has a discard-policy when saturated or exceptions are hidden?
 
TIA,
Tom.
 


From: mobicent...@googlegroups.com [mailto:mobicent...@googlegroups.com] On Behalf Of Amit Bhayani
Sent: dinsdag 27 oktober 2009 9:28

Amit Bhayani

unread,
Oct 27, 2009, 9:57:26 PM10/27/09
to mobicent...@googlegroups.com
If there is any error (may be RejectedExecutionException if you have set the executorTableSize to 1 in mgcp-stack.properties and load is very high, but I really suspect this could be the case) it should propagate all the way to SBB.

A simple wire-shark trace can show you if the Request is going to network or not.

You should see the TRANSACTION_TIMEOUT even if the Request goes on wire but there is no response.

Please also enable the DEBUG for org.mobicents.mgcp.stack and attach

Tom Uijldert

unread,
Oct 30, 2009, 8:13:21 AM10/30/09
to mobicent...@googlegroups.com
Hi Amit,
 
Found the cause in a roundabout way, it's the old SLEE-problem: event handling is not serialized in an Sbb over multiple activities and RA's cannot use transactions.
Hence, a response could be handled in parallel with the request, which would have the effect as if losing events. :(
 
Can hardly wait for Mobicents 2.0 :)
 
Anyway, thanks for your suggestions and patience.


From: mobicent...@googlegroups.com [mailto:mobicent...@googlegroups.com] On Behalf Of Amit Bhayani
Sent: woensdag 28 oktober 2009 2:57
Reply all
Reply to author
Forward
0 new messages