[asterisk-users] MeetMe Conferencing and Marked Mode

Tobias Wolf tobias.wolf at evision.de
Thu Dec 14 04:03:44 MST 2006


RR schrieb:

> And what would someone have to do to sweet-talk you into sharing this
> AGI ;)

Hmmm, there is really not much to share. Most of the code handles
Authentication or other stuff, like informing another server that a new
user has entered an conf-room, or updating databases.

Mostly I look an the CallerId to decide if this should be a "marked
user" (but there are not many scenarios ther the CallerID is known in
advance), or the Caller has to make the choice by himself, by touching
the right button.

I use Asterisk-Java as AGI-Implementation.

Everytime then an AGI-Script gets executed by an Extensions the
service-Method of my Java-Class will be executed:

	private String adminMeetme = "dMaXq"; // not the 'a' for the marked Mode

	private String userMeetme = "dMXq";

	public void service(AGIRequest req, AGIChannel channel) throws
AGIException {
		// Ask if we want to be marked
		char option = getOption(wantAdminPrompt, "12", 360 * 1000);

		if (option == '1') {
			// Yes

			// This sets a Channel-Variable with the
			// correct MeetMe-Parameters
			exec("SET", "MEETMEOPTS=" + adminMeetme);
		} else {
			// No
			// Parameter for a normal user
			exec("SET", "MEETMEOPTS=" + userMeetme);
		}
	}

My dialplan looks like this:

exten => 1000,1,AGI(agi://localhost/askformarked.agi)
exten => 1000,n,MeetMe(${EXTEN},${MEETMEOPTS})
exten => 1000,n,Hangup()

This is a minimalistic Example, i have erased a lot of logic that has
little to do with the actual MeetMe-Room. But it is the essence of
dealing with the correct Parameters, there a lot of other way to
accomplish this. It depends on what you have in mind with your
application which way works for you.

So, you see there is no ready-to-use-multi-purpose-AGI which you can
simply plug-in to your Asterisk, sorry for that ;)

But i think the effort as not that great, even if you solve it only with
Dialplan-Logic, or AEL.

I am sure, you will come up with an solution :D

Take care,

Tobias Wolf


More information about the asterisk-users mailing list