Info function Page()

Hi, I’m using the Page() function. The function provides that only the conference host can close all channels and end the conference. Is there a way to end the conference created by the Page() function when the call is interrupted by any participant?

The purpose of the page function, as I understand it, is to enable the creation of a public address ( PA ) system, with recipient devices auto answering the call.

I’m not completely sure what you mean by “interrupted”, but I assume you mean the participant hangs up. Why would you want to kill the entire session in this case?

It seems to me, like you are not using the Page feature as intended, and as such, maybe there’s a better way of doing things?

For what the function is intended to do, destroying the session before the one initiating it, is done speaking, makes little sense, as the remaining participants would miss part of the message being broadcast.

From the Asterisk documentation regarding the Page() function, it says: The original caller is dumped into the conference as a speaker and the room is destroyed when the original caller leaves.
I need to close the conference even from a user who is not a speaker. It’s possible?
(Page - Asterisk Documentation)

You MIGHT say the same thing, but I’m not entirely sure. The way I read the documentation, it works like this:

  1. You pickup your phone, and make a special call triggering Page()
  2. The page application sends out a call to a set list of participants, eg. a certain department, building etc.
  3. A conference bridge is created
  4. Every dialed guest is added to the conference, muted.
  5. The caller is added unmuted, and able to talk to everyone.
    5.A. Any guest can leave at will, and the speaker can keep on speaking
  6. The caller hang up, and the call is terminated for all participants

I still don’t understand the scenario, where it would make sense to destroy the conference, BEFORE the announcement is completed.

As I understand the function it’s meant for things like handsfree intercom (With the duplex option enabled) or PA systems, eg. through ceiling speakers in a building.

What exactly is your use case, where any listener should be able to interrupt the call and prevent the message from being fully delivered to everyone else?

The user presses a button device with microphone which starts a conference with multiple interlocutors (approximately 3).

  1. The button device starts the conference.
  2. The button device cannot close the conference (it is not a classic VoIP telephone), which would therefore remain open.
    This is why it is important that the conference ends as soon as one of the other two interlocutors hangs up.
    Is there a way to close the conference created by Page() if one of the other interlocutors (non-realer) hangs up?

If it can initiate a call, it should be able to hangup as well. Eg. release the button and the call is terminated.

The way I read the docs, you can NOT do what you want with the Page application. If the device initiating the call, is incapable of performing a hangup, in any capacity, the call will just stay there.

Is the device something you’ve made yourself, some custom stuff made by someone else and left for you to manage, or some off the shelf device you’ve bought for the purpose?

If you have somewhere to get support for the device, figuring out how to make it perform a hangup when the announcement is done, would be the direction I’d personally choose, instead of trying to convince Asterisk to compensate for the device being kinda defective. (A device making a call, but not being able to hangup said call, is defective in my point of view. )

The device is not broken, it has the same functionality as an intercom, which initiates the call. The intercom cannot close the call which remains hanging.

The intercom should hangup the call, and free the line when the call is done. If you connected it to an analog phoneline and it had this behaviour, it would keep the line busy forever, preventing new calls from being made.

Was the device constructed to actually dial something, or is the device with the button connected to something else?

Most intercom/PA systems I’ve seen, works like this

  1. Push button, line opens
  2. Deliver your message
  3. Release button, line closes.

Translated to phone speak, replace open with dial, and close with hangup.

Unless the device hangs up when it’s done, you will never get the line released, and every recipient would have to hangup on their own. Also if the device is hanging in a call, it would be unable to perform a new call later, until the line has been release somehow.

If the device is connected to an ATA you may be able to set a timeout on silence in the ATA, which would make it perform a hangup when no audio has been heard for the set time.

If the device is performing the VoIP call all on it’s own, it’s inability to send a BYE message on completion is a defect, in my opinion, and should be fixed by the manufacturer. Everything connected to any sort of phoneline should AT LEAST be able to hangup calls, especially calls they perform themselves. In SIP land it means sending a BYE message, in analog land it means disconnecting the circuit.

But I get the impression that you have a PTT microphone connected to something else, that makes the call, and nobody though of either disconnecting the call on botton release, or adding another button for disconnecting the call, perhaps because there’s noway to get the button press to the device actually handling the call, and that device is not setup for detecting silence and ending the call after a set period of silence.

This definitely sounds “broken by design” to me - something which can start a
call and cannot end it.

Is this device natively SIP-compliant, or is it connected in to Asterisk via
some sort of adapter? How is Asterisk actually receiving the call?

Also, how does this device return to the “not in call state” if one of the
other participants does end the conference / page call? What allows it to
later start another call?


“The device … has the same functionality as an intercom, which initiates the
call. The intercom cannot close the call which remains hanging.”

So, leaving Asterisk completely out of the question for the time being, and
using this device in its intended environment, how does the person who presses
the button and initiates the call stop everyone who answers from hearing
everything else they say for the rest of the day, if those people simply
choose not to hang up?

Can you point us at an example of an available intercom device which actually
works this way, and cannot end the call?


This topic was automatically closed 30 days after the last reply. New replies are no longer allowed.