Well This seems to work.

[macro-pageall]
; Context for paging all devices.
;       This will search the sip table in the realtime database
;       for all phones that start with a number.  That number is
;       passed to this macro as ${ARG1}.
;
;       ARG1 = The first digit of the phones to be paged (US Campus=6,
LS Campus=2)
;       ARG2 = Device for the PA system.  If the user selected to
;               page the PA system.  That will be included.
;
exten => s,1,MYSQL(Connect connid ${realdb_host} ${realdb_user}
${realdb_pass} ${realdb_db})
exten => s,2,MYSQL(Query resultid ${connid} SELECT\ name\ FROM\ sip\
WHERE\ name\ LIKE\ "'${ARG1}%'")
exten => s,3,MYSQL(Fetch fetchid ${resultid} number)
exten => s,4,GoToIf($["${fetchid}" = "1"]?5:8)
exten => s,5,Set(pagedevice=${pagedevice}&SIP/${number})
exten => s,6,NoOp(${number})
exten => s,7,GoToIf($["${fetchid}" = "1"]?3:8)
exten => s,8,Set(pagedevice=${pagedevice:1})
exten => s,9,NoOp(PageDevice ${pagedevice})
exten => s,10,MYSQL(Clear ${resultid})
exten => s,11,MYSQL(Disconnect ${connid})
exten => s,12,GoToIf($["${ARG2}" != ""]?13:14)
exten => s,13,Set(pagedevice=${pagedevice}&${ARG2})
exten => s,14,Set(_ALERT_INFO="RA")
exten => s,15,Page(${pagedevice})
exten => s,16,Hangup()


On 5/8/07, Remco Post <[EMAIL PROTECTED]> wrote:
Forrest Beck wrote:
> I have all my SIP users in a realtime database.  I would like to use
> MySQL command to query the database and use the results from the query
> to page all the phones found in the query.
>
> The results from the MySQL query will be multiple rows of extension:
> Something like:
>
> mysql> Select extension from sip where extension like '6%'
> 6001
> 6002
> 6003
> ex....
>
> I need to put all the results into a variable that would equal something
> like:
>
> SIP/6001&SIP/6002&SIP/6003
>
> I have setup a couple basic MYSQL Query's for my dialplan.  Mostly
> just looking up a DID to Extension Mapping for setting callerid on
> outbound and inbound calls.
>
> How does asterisk handle the multiple results.  Is there a way to loop
> until there are no more rows?
>
> Something like Set(devices=${devices}&${newrow_result})
>
> I looked at the example on
> http://www.voip-info.org/wiki/view/Asterisk+cmd+MYSQL but that doesn't
> seem to be accurate.
>
> Thanks all!!
>

What I've done in postgresql is to build an pl/pgsql procedure that
returns the desired dialstring. So the procedure does the select and
then concats them.


--

Remco Post

"I didn't write all this code, and I can't even pretend that all of it
makes sense." -- Glen Hattrup
_______________________________________________
--Bandwidth and Colocation provided by Easynews.com --

asterisk-users mailing list
To UNSUBSCRIBE or update options visit:
   http://lists.digium.com/mailman/listinfo/asterisk-users



--
***
Forrest Beck
IAXTEL: 17002871718
[EMAIL PROTECTED]
_______________________________________________
--Bandwidth and Colocation provided by Easynews.com --

asterisk-users mailing list
To UNSUBSCRIBE or update options visit:
  http://lists.digium.com/mailman/listinfo/asterisk-users

Reply via email to