[Asterisk-Dev] Sending ISDN q.931 messages to Zap span?

John Todd jtodd at loligo.com
Sat Nov 20 13:06:58 MST 2004


At 12:50 PM -0500 on 11/18/04, Andrew Kohlsmith wrote:
>I tried #asterisk-dev but everyone there is lurking or has me on /ignore.  :-)
>
>I'm trying to send ISDN MWI indication to a PRI on a Zap span.  From what I
>gather from the CAPI documentation is that I send a FACILITY_REQUEST message
>with parameter set to 0x0003 and function 0x0013 (MWI Activate), filling in
>the supplimentary structure to indicate number of messages, message status,
>destination facility number, source facility, etc., etc.
>
>Where I'm getting tripped up is in how to send this information over a PRI. 
>What is the most straightforward or perhaps more accurately, the most
>flexible way of sending an arbitrary q.931 message over a Zap span? 
>
>the zapata.conf mailbox settings are only attached to individual channels, and
>since I can't assign mailbox settings to the D channel that's out.  I was
>thinking perhaps something in the dialplan (perhaps a q931()) application)
>but perhaps wedging this into zapata.conf is better in the long run, at least
>for voicemail notification.
>
>Can anyone assist me in getting started?
>
>-A.

[note: this message not well-thought out; too busy with other things 
for full documentation]

I would suggest an app.  This would be pretty Zap-specific, but there 
is precedent for channel-specific applications or extensions (ADSI, 
Zap barge, etc.)  It seems that you might consider an application 
that can work both on the current channel, as well as to initiate 
"call events" through some new event that is triggered by an 
"external" event, such as voicemail being received.   (Now that I 
think about it, you could just have the existing Voicemail 
application cause a spooled call to be created, which in turn 
triggered this new application to be called to send a MWI indication 
via the PRI channel.  Or simply have a cron job running that created 
those spool files every hour or so to catch missed notifications or 
remote end resets.)

I'd also suggest that the app be generic enough to handle any q.931 
messages, so that other nifty things could be done by others who have 
more exotic requirements.


PS: I _swear_ I saw a patch or something in the bugtracker recently 
about the ability to send messages back to Zap spans without 
answering them, with particular ISDN response codes.  However, I 
can't find documentation or notes on this.  I'm looking for something 
like "Hangup(28)" where "28" is from 
./asterisk/include/asterisk/causes.h.  This could apply to pretty 
much any channel type, since we've mapped Q.931 codes in that file. 
I know I had a method in mind for hanging up calls before they were 
even answered, but doing it with specific rejection codes... but I'm 
darned if I can find those notes.

JT



More information about the asterisk-dev mailing list