Asterisk, RTP and call routing

Ok, Hi Hi,

Can i force asterisk to only do IAX2 signaling without forcing it to take care of media traffic?

“directrtpsetup=yes” ??? like in sip.conf

Theres “notransfer=yes” and “transfer=mediaonly” in IAX2 land but no way to force a transfer, failing that hangup() type action.

Details:

I have 3 asterisk boxes called A,B,C

I will have asterisk based nodes/clients connecting via IAX2, and for example i’ll call them X,Y,Z

A,B,C peer with each other and have dialplans setup… etc etc

The nodes/clients only peer directly with one of A, B or C boxes…

This works fine X,Y,Z, A, B or C can all find each other…

So lets say X peers with A and Z peers with C…

Signaling goes from X via A and C then Z

And thats fine :o)

Only problem is if for some reason asterisk see a codec mismatch, etc, etc, etc… it with pass the RTP traffic via itself.

I want to stop this even if it means unroutable calls.

Hi MetalMick,

I would like to help but I am not 100% sure what you are asking. I think you want to stop reinvites from your SIP clients?

What are your clients SIP or IAX

Can you post the CLI output.

Cheers

Brett

G’Day Brett,

All peers are connected via IAX2.

What im looking for is a forced transfer or not at all.

Example of IAX2

< snip from lists.digium.com/pipermail/aster … 02874.html >

A -> B “NEW” (A sets up a call to B)
A <- B “ACK” (B acknowledges)
B -> C “NEW” (B sets up call to C)
B <- C “ACK” (C acks)
B <- C “RINGING” (C informs B of ringing if applicable)
A <- B “RINGING” (B informs A of ringing if applicable)
B <- C “ANSWER” (C informs B of answer condition)
A <- B “ANSWER” (B informs A of answer condition)
A <- B “TXREQ” (B requests A test connectivity to C)
B -> C “TXREQ” (B requests C test connectivity to A)
A -> C “TXCNT” (A attempts contact with C)
A <- C “TXCNT” (C attempts contact with A)
A <- C “TXACC” (C verifies connectivity with A)
A -> C “TXACC” (A verifies connectivity with C)

If at this point we fail to transfer a calls media path from A to C the connection is dropped…

Bottom line is i don’t want B in the above example doing media bridging for any reason.

B should only do at most the signaling between A and C… Media should be FORCED to transfer directly between A and C.