Page 1 of 1

Phone interactions

PostPosted: Tue Jan 01, 2013 9:12 am
by Sophira
So now that the ARG is over, and the phone numbers used in the game have been returned, I wanted to give a few details about how we set up the phone interactions for the game.

The software we used to run the interactions is called Asterisk. Asterisk itself is free, if you know how to set it up yourself. I didn't, but I spent some time learning, as I'm a quick learner when it comes to technical things. There are companies out there that can set up an installation for you if you prefer, however, and they'll normally charge a fair amount.

We ran Asterisk on a dedicated server from ServerBeach (which also hosted the locator puzzle). At this point, we had a server which could respond to VoIP calls, but with no means of connecting to the telephone network (PSTN).

To do this, we used a DID provider. "DID" stands for "Direct Inward Dialling", and in this case, DID as a noun refers to a telephone number on the main telephone network. We then told voip.ms to forward any calls received on these numbers to our Asterisk server via the Internet, which would then run the appropriate scripts according to which number had been dialled.

The DID provider we used was voip.ms. It's certainly not the only provider, but it was one which looked to provide a good quality service for a reasonable cost. We were right; in total, less than $50.00 was used with voip.ms for all five numbers, including pre-game testing, and once configured properly, we had no issues with the quality of the phone calls. It's certainly a service I'd recommend.

The actual phone interactions (or, as Asterisk calls them, "dialplans") were written in an Asterisk-specific format that's almost akin to a programming language, but not quite. To give an example, here's what the dialplan for Kenny Mann's number (used in the Sherlock/Tara storyline) looked like:

Code: Select all
[sherlock-kenny-inbound]
exten => s,1,NoOp()
        same => n,Answer()
        same => n,Wait(1.5)
        same => n,Background(xarg/kenny-greeting,m)
        same => n(full),Wait(0.5)
        same => n,Playback(xarg/kenny-vm-full)
        same => n,Wait(1)
        same => n,Hangup()

exten => #,1,Goto(s,full)


This was the simplest dialplan we used in the whole game. When a call was received, it answered the call, waited 1.5 seconds, then played Kenny's voicemail greeting. After doing that, it then waited 0.5 seconds and played a message to the effect of "This voicemail is full, please try again later." It then waited 1 more second, and hung up. If you pressed the # key while the greeting was playing, it would skip playing the rest of the greeting.

After coding that, transferring the necessary audio to the server, and setting it up to receive calls from the DID, you then have a reasonably accurate-sounding fake "full voicemail". In this case, of course, all that you needed from the interaction was in the greeting itself.

Every phone number that was used in the course of this ARG was done in a similar way. Joan Lawson's voicemail, in particular, was never intended to be recorded onto - there wasn't any code for that to work. Its sole purpose for existing was so that it could be 'hacked into'.

Long John's number was conceptually similar to Kenny's in that all you needed was in the voicemail greeting. However, I decided to do the code necessary to allow this one to record voicemails because I felt it could potentially be a way we could hear from people in the ARG - that it would be a conduit for the players to talk with us GMs privately. Obviously, though, it didn't turn out that way; it was assumed (quite fairly, IMO) that the voicemail might fill up if too many things were recorded, so in the end we got very little usage out of that.

(Side note: Because of the nature of having our server answering the calls instead of a normal answering machine, it was much easier to get access to the voicemails themselves on our end. I set it up so that each new voicemail would be recorded into a WAV file, which would automatically be linked on an internal web page. Every GM could then download the messages at will and listen to them. The voicemail would never have become full, despite your fears. Well, unless you decided to leave thousands of messages, but...)

I'm going to see if I can gather up all the recordings we did for the phone interactions and release them to you, because they're pretty interesting. (Note: We didn't record any of the calls themselves, other than any voicemail recordings, and I won't be releasing those except with permission. I'm just referring to the recordings *we* did, the "Press 1 to..." stuff and so on.)

One more thing. Remember the phone interaction that you had with Mr A's agent who gave away the location of the Zanadu Comics wall piece after you called him repeatedly? Mr A wasn't happy about him doing that. Had you called again about a day after the relevant information from it had been posted on the forums, you'd have heard a message from Mr A:

Mr Administrator wrote:WE HAVE SEIZED THIS LINE TO PREVENT FURTHER LEAKS OF INFORMATION. IT HAS COME TO OUR ATTENTION THAT OUR AGENTS ARE DEVELOPING INEXCUSABLE CASES OF LOOSE LIPS. THIS MUST BE STOPPED. END TRANSMISSION.

Re: Phone interactions

PostPosted: Tue Jan 01, 2013 9:31 am
by Scarab
Ooh, this is probably going to come in handy in the event that we run some ARG's of our own one day (and we're gonna do it, I think that much is bltantly obvious at this point) :D Thanks! I was wondering how that system actually worked...

I take it this system isn't usually designed to cater to ARG gaming, but maybe they're missing a trick there.

Re: Phone interactions

PostPosted: Tue Jan 01, 2013 10:01 am
by BlackWolfe
Scarab wrote:Ooh, this is probably going to come in handy in the event that we run some ARG's of our own one day (and we're gonna do it, I think that much is bltantly obvious at this point) :D Thanks! I was wondering how that system actually worked...

I take it this system isn't usually designed to cater to ARG gaming, but maybe they're missing a trick there.


Man, I bet we could bury all kinds of hidden stuff in submenus and whatnot.

Re: Phone interactions

PostPosted: Tue Jan 01, 2013 10:06 am
by Scarab
BlackWolfe wrote:
Scarab wrote:Ooh, this is probably going to come in handy in the event that we run some ARG's of our own one day (and we're gonna do it, I think that much is bltantly obvious at this point) :D Thanks! I was wondering how that system actually worked...

I take it this system isn't usually designed to cater to ARG gaming, but maybe they're missing a trick there.


Man, I bet we could bury all kinds of hidden stuff in submenus and whatnot.


I know right? Just the way they did in this game only more... elaborate. :) This is an incredibly useful tool for an ARG, and seems to be really cheap. Now we know where to come looking in the event that we decide to do this again.

Re: Phone interactions

PostPosted: Tue Jan 01, 2013 10:46 am
by Qara-Xuan Zenith
That Von Gouton number was pretty darn elaborate, folks. It took me forever to transcribe everything, and I'm still not sure I've explored every option on it!

Re: Phone interactions

PostPosted: Tue Jan 01, 2013 12:40 pm
by narrativedilettante
This is very impressive.

I did encounter a technical problem, though: Every time I tried to call Kenny Mann's number, I got a busy signal. Others seemed to have no trouble, and we got what we needed out of it so it's not really a big deal, but, do you have any idea why that might have happened?

Re: Phone interactions

PostPosted: Tue Jan 01, 2013 1:07 pm
by Sophira
narrativedilettante wrote:This is very impressive.

I did encounter a technical problem, though: Every time I tried to call Kenny Mann's number, I got a busy signal. Others seemed to have no trouble, and we got what we needed out of it so it's not really a big deal, but, do you have any idea why that might have happened?


Hmm. No, I don't; that shouldn't have happened. If you PM me the number you were calling from, I'll try looking it up in our call records and see what happened.

Re: Phone interactions

PostPosted: Tue Jan 01, 2013 1:08 pm
by Sophira
Scarab wrote:
BlackWolfe wrote:
Scarab wrote:Ooh, this is probably going to come in handy in the event that we run some ARG's of our own one day (and we're gonna do it, I think that much is bltantly obvious at this point) :D Thanks! I was wondering how that system actually worked...

I take it this system isn't usually designed to cater to ARG gaming, but maybe they're missing a trick there.


Man, I bet we could bury all kinds of hidden stuff in submenus and whatnot.


I know right? Just the way they did in this game only more... elaborate. :) This is an incredibly useful tool for an ARG, and seems to be really cheap. Now we know where to come looking in the event that we decide to do this again.


Asterisk is great, but it isn't the easiest thing to set up. While I haven't looked at it, there are other options, like Twilio, which works by calling PHP scripts on your webserver, which tell Twilio what it should do next. Setting up Asterisk requires someone who can do systems administration, whereas Twilio only requires PHP knowledge, I believe.

I haven't tested it myself, so that's not a recommendation; just something I came across lately. You may find it to be easier :D

Re: Phone interactions

PostPosted: Tue Jan 01, 2013 2:01 pm
by Connor Fallon
Now you guys know why, as waka, i was suggesting people leave funny messages for long john :P I wanted to listen to them. We did get one or two, and i greatly enjoyed them.

Posting from my phone is hard.

Re: Phone interactions

PostPosted: Tue Jan 01, 2013 3:54 pm
by Blurred_9L
Sophira wrote:
narrativedilettante wrote:This is very impressive.

I did encounter a technical problem, though: Every time I tried to call Kenny Mann's number, I got a busy signal. Others seemed to have no trouble, and we got what we needed out of it so it's not really a big deal, but, do you have any idea why that might have happened?


Hmm. No, I don't; that shouldn't have happened. If you PM me the number you were calling from, I'll try looking it up in our call records and see what happened.


I tried calling the LJS number once, but it didn't connect. I just assumed it was some problem with my location or my company and didn't try again :P

Re: Phone interactions

PostPosted: Thu Jan 03, 2013 4:33 am
by Dryunya
All the limes for the technical details! Very educative. :P

Re: Phone interactions

PostPosted: Thu Jan 03, 2013 4:56 am
by WackyMeetsPractical
If I understand correctly (And there's a good possibility that I misinterpreted something and this is totally off), when we (though not me) called Mr. A's agent, I believe it was a live person the callers were calling. Which one of you were they talking to, and how long were you willing to stand by the phone taking our calls? And if I'm wrong about that, please correct me. I was not one of the people calling so I'm working from second hand knowledge.

Re: Phone interactions

PostPosted: Thu Jan 03, 2013 5:03 pm
by Sophira
That one actually wasn't a live interaction - just a really complex one. I'm glad you asked about it, because it's one of my favourites.

The first time the number was called, the person calling would hear this message:

*Sigh* Look, don’t bother speaking; I don’t recognize your number so I pretty much know what you are calling about. This line is generally reserved for... uh... look, let’s just cut to the chase: No, I don’t know anything, yes, the guy is crazy, and you should feel bad for helping him waste more of my time. So leave me alone and never call me again. Bye!


The system would then 'block' their number from calling again. (Note: If you had withheld your caller ID when calling, you'd have heard a message saying that the caller doesn't accept calls without caller ID.)

The next time a call was received, the system would check to see if it was within 10 minutes of the previous call. If more than 10 minutes had passed since the previous call, it would unblock any blocked numbers, reset the puzzle, and go back to the beginning. Otherwise, you'd hear the next message:

Another one? One of you goons just called me 5 minutes ago. I normally get one or two a week. I guess Lucas is stepping up his game. Look, okay, he thinks he saw me talking to a man in a void on a television screen, I know. But it was just a pilot for a show I am working on. The... man in the void... pilot.

You know what, just leave me alone.


The system would then 'block' the second number and reset the timer back to 10 minutes for the next caller.

The same logic then happened for the next few messages: It would check to see if it was within 10 minutes of the previous call, and reset the puzzle if it was later than that. Here are the next messages you would hear:

Oh my god. Really? I DON’T KNOW ANYTHING ABOUT THE WALL, SO PLEASE, PLEASE STOP CALLING ME! I have more valuable things to do with my time than... than fielding calls from crazy people.


Leave me alone. I’m not talking to you. Same thing that I said to the last three guys is still true; I DON’T KNOW MR. ADMINISTRATOR.

…Crap. I can’t take much more of this. STOP CALLING ME.


Go away. I’ve had enough. Goodbye.


Seriously? This has to be organized. You, and all your friends - please leave me alone.


WHAT DO I HAVE TO DO TO GET YOU GUYS TO STOP? JESUS CHRIST!


You guys just won’t give up, will you? That’s eight in the last…



You know what, screw this. Mr. Administrator did not tell me that incessant calls would be part of the job. You want the truth? Everything the crazy guy said is right. Yeah, the wall is broken, and yeah, the man in the white void knows a lot about it. A whole lot. He entrusted me with a piece of the wall; he wanted me to protect it.

So where is it? Uh, well, uh...

I lost it.

I, uh, I left it in Seattle. Kind of forgot my bag while I was buying comics at… uh, I don’t really remember. Downtown, had a lot of emblems – neon bat signal, Superman, some green ‘o’ thing. I figured it wasn’t a big deal as I was supposed to store it somewhere surrounded by fiction, but…

Please don’t tell him. Tell him you beat me up or something to get it. You shouldn’t have much trouble finding the bag… it has a pony on it.


That last message was special. After you got it, the puzzle was considered "won". The system unblocked all numbers, and any subsequent calls went directly through to this message without triggering anything further:

Really? I told you guys all you need to know. You all beat me! Crazy guy is right, I work for the man in the void. Was guarding the wall piece, lost it in a comic shop in downtown Seattle with a glowing batman logo on it. The bag had ponies on it.

Please... just leave me alone.


The fact that you managed to blaze through all the messages without the puzzle resetting at all is definitely a testament to the power of the tram. I do think that there may have been one case where someone got through on the same phone because Skype didn't do its usual thing and block caller IDs, but we did do our best testing with Skype to make sure that wouldn't happen. Regardless, you still had to find a lot of different phones, so... we salute you.

But yeah, that was one of my favourite interactions to code. :D

[edit: Fixing a typo.]

Re: Phone interactions

PostPosted: Thu Jan 03, 2013 6:18 pm
by narrativedilettante
I'm amazed to discover that this puzzle was actually EASIER to solve with all of us calling at once. Normally that's not a very good strategy, but here out enthusiasm really payed off!

Re: Phone interactions

PostPosted: Fri Jan 04, 2013 7:13 pm
by screenstorming
Sophira wrote:Asterisk is great, but it isn't the easiest thing to set up. While I haven't looked at it, there are other options, like Twilio, which works by calling PHP scripts on your webserver, which tell Twilio what it should do next. Setting up Asterisk requires someone who can do systems administration, whereas Twilio only requires PHP knowledge, I believe.

I haven't tested it myself, so that's not a recommendation; just something I came across lately. You may find it to be easier :D

I've played around with Twilio -- it's got some great features, including SMS, text-to-speech, speech-to-text, and 40-way voice conferencing, and it's very cheap.

I suppose that with Twitter, texting is less necessary, but I can see its value as part of an interactive storyline. Some interesting chain effect triggers could be set up, as well, or some kind of time-limited response thing that pulls players into a plot thread instead of counting on people to turn up.

Something based on SMS could also allow a more limited kind of participation among a broader player base, who are less dialed into a very complex storyline.