[Asterisk-Dev] How are SIP calls connected/bridged ?

Arnaud turbo2cv at gmail.com
Wed Nov 30 11:58:28 MST 2005


Hi Alexander,
Thanks for your response. I have a few remarks below

On 11/29/05, Alexander Lopez <alex.lopez at opsys.com> wrote:
> Please try not to post to the -dev list unless it is a bug or a feature.

I understand, however I was not sure if anyone on -users would be able to help.

> I assume that by Alice and Bob both talking to Asterisk they are:
> A:      Dancing to the sweet sounds of the IVR
> B:      talking to each other and Asterisk is Bridging the call.
> C:      They are on hold.

B

> And by Asterisk, Answering the call by Todd I can assume:
> A:      Todd called the system and is surfing the IVR
> B:      Todd is a moron and has no clue what he is doing on Warth!!
>         (I'll assume A)

C: In 3GPP-IMS and 3GPP2-MMD a mobile phone can trigger a handoff from
say a VoIP WLAN to a some 3G circuit. So Todd is not a moron, Todd is
a handoff trigger telling * to now bridge Todd's call with Alice. The
reason being that Todd(=Bob's) call on WLAN is not doing well anymore
and needs to handoff to 3G.

According to IMS/MMD terminology Asterisk plays the role of the CCCF

> When Todd selects the correct extension or option from the IVR, Asterisk
> will attempt to place a new call via the SIP channel to the device
> registered as or to Alice. If her device supports call waiting, she will
> see, or hear Todd (Who at this point is peeing himself because the phone
> worky) Alice drops or places Bob on hold and there is a forth!!(4)
> channel with 2 calls. When Bob hangs up the call the legs between Alice
> and Bob are closed.

Alice's phone shall not ring when Bob handsoff to Todd (because it is
a of handoff ! ). Therefore we should never have 4 Callids. * has to
bridge Callid 1 with Callid3 silently to Alice. Bob 's call is
terminated, but that is OK since Bob's call is now sent to Todd,
living on the same phone but on a different air interface.

> What you are looking to do is a redirection of channels

Where is this implemented in the code ?

Regards and thanks for your help - Arnaud



More information about the asterisk-dev mailing list