Help - Search - Members - Calendar
Full Version: API call to "Invite to conference"
Skype Community > English > Development, Betas and Skype Garage > Skype Public API
jasonbsteele_
I'm trying to find the API call(s) that will invite a user to an existing call. I know that I can use PlaceCall to start a conference by passing more than one user handle; and I know that I can use Join to join an existing call to another existing call, thus forming a conference; but neither of these are what I am looking for.

I want to call a new user using a call that is already joined. Using the Skype client you can do this by being in a call and then right-clicking on another friend and selecting "Invite to conference".

Thanks for any help
jasonbsteele_
In my previous post perhaps I should have said that I was referring to methods in Skype4COM.

In terms of Skype API commands. Ican use CALL to call more than one user at once:
CALL <target>[, <target>]*

or I can join two existing calls to make a conference:
SET CALL <joining_id> JOIN_CONFERENCE <master_id>

The first is no good because I want to add subsequent users to the conference over time. The second is no good because it requires that I make a call to the second user then join it to the call with first user. This causes the call for the first user to be held whilst the call to the second is established.

Is there any way within the Skype API of achieving the Skype client's "Invite to conference" function?

Many Thanks
jasonbsteele_
Have I made the question clear enough?

Can anyone confirm what I am talking about?

Do I need to raise this in Jira to get a response?

Thanks
andreskaasik_
Hello. There is no more ways to create a conference call using API except the two you already mentioned in your previous posts.
jasonbsteele_
Andre,

Thanks for getting back to me. It's a relief to know that I haven't overlooked something obvious.

Are there plans to add this functionality to the API?

Do you advise raising a Jira entry to ask for it?

Mnay Thanks
Ivan Gavrilyuk
You may select the contact, then simulate right-click and I (shortcut for "invite to conference"). However, the contact must be in contact list and of couse interface language must be English. Please let me know if you find another solution as I'm very interested too.
Avo Nappo
> Are there plans to add this functionality to the API?

No. But you can "simulate" conference call invites pretty well with current API as well.

If I understand correctly, the problem is with putting existing calls on hold while adding a new call participant? The trick is that you do not actually need to wait until the new call becomes InProgress. You can actually:

1. Have a conference call up already.
2. Put existing calls on hold.
3. Place a new call.
4. Resume all the old calls.
5. Wait until the new call comes InProgress.
6. Then join it up with the conference.

That way there is no noticeable in for the existing conference at all. The only slightly annoying aspect is that the busy tone from the new call will be audible.

The Skype4COM conference call example on DevZone didnt use the "instant resume" feature. I changed it a bit (see below) and this seems to work.

https://developer.skype.com/Docs/Skype4COM/...ferenceCall_pas

Note that this enables both "invites by host" with /cadd <skypneame> as well as remote joins with /join

ezio
Hi
I think that there is a bug in this sample:
https://developer.skype.com/Docs/Skype4COM/...ferenceCall_pas


// 1. Put existing calls OnHold.
// 2. Wait until they all actually are on hold.
// 3. Make a new call.
// 4. Resume all the calls that were previously on hold.
// 5. Wait until the new call actually starts (or fails).
// 6. Join it up with the conference.


the last point - join:

CODE
For I := 1 to Skype.ActiveCalls.Count do
Begin
if Skype.ActiveCalls[I].Status = clsLocalHold Then
Begin
Call.Join(Skype.ActiveCalls[I].ID);
Break;
End;
End;



if Skype.ActiveCalls[I].Status = clsLocalHold

but there is no calls in LocalHold becouse in point 4 we resume all calls.

Avo Nappo

> but there is no calls in LocalHold becouse in point 4 we resume all calls.

You are right, silly me smile.png

It should be something like this:

CODE
        For I := 1 to Skype.ActiveCalls.Count do
        Begin
          if (Skype.ActiveCalls[I].Status = clsInProgress) and (Skype.ActiveCalls[I].Id <> Call.Id) then
          Begin
            Call.Join(Skype.ActiveCalls[I].ID);
            Break;
          End;
        End;

This is a "lo-fi" version of our main content. To view the full version with more information, formatting and images, please click here.