<DIV>Hi Chris,</DIV>
<DIV>&nbsp;</DIV>
<DIV>&nbsp;&nbsp; In case of a Static ENDPOINT&nbsp; which has multiple VM boxes defined in sip.conf, it will send a NOTIFY for each mailbox defined, which I think might not be a problem.</DIV>
<DIV>&nbsp;</DIV>
<DIV>&nbsp; However, if a Softswitch is registering with the Asterisk, then this wont work. Asterisk is desingned to aggregate all NEW and OLD msgs for a registering Endpoint/Softswitch and send them in on NOTIFY msg.</DIV>
<DIV>&nbsp;</DIV>
<DIV>&nbsp; The idea to put in an extra RemoteMailbox in sip.conf looks good. Going through the Asterisk Code and how if retireves Data from Files, i was a little confused as to how it actually gets info from the files like sip.conf.</DIV>
<DIV>&nbsp;</DIV>
<DIV>&nbsp;&nbsp;&nbsp; Here is how I would have to implement the remotemailbox thing....</DIV>
<DIV>&nbsp;</DIV>
<OL>
<LI>&nbsp;&nbsp;&nbsp; Add it to the sip_peer structure</LI>
<LI>&nbsp;&nbsp;&nbsp; make sure the FILE i/o operation reads that new variable (remotemailbox) from sip.conf.....(This I am not sure how to implement - Any pointers would help)</LI>
<LI>Use the remotemailbox&nbsp; in all the places that I am using mailbox currently in my new Functions..</LI></OL>
<DIV>Regarding your point of create MWI 's&nbsp;on the fly..can you explain what teh purpose for such a Feature would be.. I guess I missed your point....</DIV>
<DIV>&nbsp;</DIV>
<DIV>Thx,</DIV>
<DIV>J</DIV>
<DIV><BR><B><I>"Chris A. Icide" &lt;chris@netgeeks.net&gt;</I></B> wrote:</DIV>
<BLOCKQUOTE class=replbq style="PADDING-LEFT: 5px; MARGIN-LEFT: 5px; BORDER-LEFT: #1010ff 2px solid">This looks like a great idea.&nbsp; However I've got some questions.<BR><BR>You indicate you are making some decision based upon whether or not an endpoint is registered or static.&nbsp; What happens if a static endpoint is really just a SIP UA EP?&nbsp; What happens if a softswitch you are serving as voicemail media for is registering with you instead of being static?<BR><BR>Would it work better if you added a special argument to the sip.conf?<BR><BR>instead of <BR><BR><A href="mailto:mailbox=12895551001@suppc5cm1,12895551002@suppc5cm1,12455551000@suppc5cm1">mailbox=12895551001@suppc5cm1,12895551002@suppc5cm1,12455551000@suppc5cm1</A><BR><BR>how about:<BR><BR>remotemailbox<A href="mailto:mailbox=12895551001@suppc5cm1,12895551002@suppc5cm1,12455551000@suppc5cm1">=12895551001@suppc5cm1,12895551002@suppc5cm1,12455551000@suppc5cm1</A><BR><BR>That way you leave the decision of whether or
 not the host statement is static or dynamic to remain a functional decision versus a policy argument.&nbsp; (I could just be misunderstanding your detailed description as well)<BR><BR>On similar another note, I've been thinking about something I think would be valuable.<BR><BR><BR><BR>How difficult would it be to create a dialplan command that could assign, un-assign, etc. MWI pointers on the fly?&nbsp; How would this fit in with your changes here?<BR><BR>For example:<BR><BR>exten =&gt; s,1,MWISet(SIP/1234,1001@office)&nbsp; ;set MWI for SIP/1234 to 1001@office&nbsp; <BR><BR>exten =&gt; s,1,MWIClear(SIP/1234)&nbsp; ;remove all MWI setting for SIP/1234<BR><BR>exten =&gt; s,1,MWISet(SIP/1234,2222@softswitch,r)&nbsp; ; same as above except r options indicates this is a remote softswitch.<BR><BR><BR>-Chris<BR><BR><BR>On 12:45 PM 4/14/2005, Jay Ray wrote:<BR><BR>
<BLOCKQUOTE class=cite cite="" type="cite">Here is relevant portion of sip.conf. for those peer softswitches....I have tested with 2 Clarent Softswitches one with 3 and other with just one mailbox..worked fine. I will go to bugs.digium.com..and submit a case....Thx<BR>&nbsp;<BR>I followed the NOTIFY mechanism for sending MWI as per RFC 3842....<BR>&nbsp;<BR>&nbsp;<BR>---------------------------------------------------------------sip.conf---------------------------------------<BR>[10.1.1.1:5080]&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; //This sofswitch uses port 5080 for VoiceMail...we do have to <BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; explicitly mention the port here so that Asterisk does not loose it while
 <BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; sending NOTIFY to Softswitches..I found out that Asterisk does loose <BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; this port.<BR>type=friend<BR>username=c5cm<BR>context=clarentcm<BR>dtmfmode=rfc2833<BR>host=10.1.1.1<BR><A href="mailto:mailbox=12895551001@suppc5cm1,12895551002@suppc5cm1,12455551000@suppc5cm1">mailbox=12895551001@suppc5cm1,12895551002@suppc5cm1,12455551000@suppc5cm1</A><BR>allow=ulaw<BR>port=5080<BR>[10.1.1.2:5080]<BR>type=friend<BR>context=JerryC5_84<BR>dtmfmode=rfc2833<BR>host=10.1.1.2<BR><A
 href="mailto:mailbox=15142550001@jerryc5vm">mailbox=15142550001@jerryc5vm</A><BR>allow=ulaw<BR>port=5080<BR>--------------------------------------------------------------------------------------------------------------------------------------------<BR><BR><BR><B><I>John Todd &lt;jtodd@loligo.com&gt;</I></B> wrote:<BR>
<DL><BR>
<DD>This looks interesting. Can you provide a bit more detail and some <BR>
<DD>other updates?<BR><BR>
<DD>1) Can you supply a diff on the sip.conf file that shows an example <BR>
<DD>of your new method (comment the section out, and use several lines of <BR>
<DD>comments to explain what the example does)<BR><BR>
<DD>2) On what softswitches is this known to work? I assume you've <BR>
<DD>tested with SER, as a baseline?<BR><BR>
<DD>3) Have you signed a disclaimer with Digium?<BR><BR>
<DD>4) Can you submit this as an addition to bugs.digium.com so that it <BR>
<DD>will be included in future Asterisk releases if it meets approval and <BR>
<DD>functionality criteria (as nebulous as both of those are...)?<BR><BR>
<DD>JT<BR><BR><BR>
<DD>At 11:05 AM -0700 on 4/14/05, Jay Ray wrote:<BR>
<DD>&gt;Hi All,<BR>
<DD>&gt;<BR>
<DD>&gt; I had proposed the changes to be able to support Asterisk <BR>
<DD>&gt;VoiceMail for 3rd Party Softswitches. Here is what I have changed o n <BR>
<DD>&gt;Asterisk in chan_sip.c<BR>
<DD>&gt;<BR>
<DD>&gt;While in function sip_send_mwi_to_peer() . in case peer-&gt;tohost has <BR>
<DD>&gt;a value which means that its not a registered EP - but a static <BR>
<DD>&gt;peer, I call another function called sip_send_mwi_to_softswitch() <BR>
<DD>&gt;.....in which I separate the comma separated mailboxes defined in <BR>
<DD>&gt;sip.conf for that peer. and send NOTIFY in a for loop for each of <BR>
<DD>&gt;the Mailboxes....by calling another new function <BR>
<DD>&gt; transmit_notify_to_softswitch_with_mwi()<BR>
<DD>&gt;<BR>
<DD>&gt;In transmit_notify_to_softswitch_with_mwi() , I populate the <BR>
<DD>&gt;sip_pvt-&gt;username with the mailbox number (minus the mailbox <BR>
<DD>&gt;context, if any)...so that the mailbox number gets added to the "TO" <BR>
<DD>&gt;header in the NOTIFY going out to that Softswitch...for the <BR>
<DD>&gt;Softswitch to pass on the NOTIFY to the appropriate Endpoint....<BR>
<DD>&gt;<BR>
<DD>&gt;The DIFF is below, comments appreciated.......<BR>
<DD>&gt;<BR>
<DD>&gt;<BR>
<DD>&gt;<BR>
<DD>&gt;<BR>
<DD>&gt;[root@jerrylinux channels]# diff chan_sip.c.wrking1 chan_sip.c.orig<BR>
<DD>&gt;489,490d488<BR>
<DD>&gt;&lt; int *lastmsgsent_switch; /* maintaining last message <BR>
<DD>&gt;sent for EPS on a Third Party Softswitch */<BR>
<DD>&gt;&lt;<BR>
<DD>&gt;1207c1205<BR>
<DD>&gt;&lt;<BR>
<DD>&gt;---<BR>
<DD>&gt;&gt;<BR>
<DD>&gt;1209d1206<BR>
<DD>&gt;&lt;<BR>
<DD>&gt;1212d1208<BR>
<DD>&gt;&lt;<BR>
<DD>&gt;3930,3932d3925<BR>
<DD>&gt;&lt;<BR>
<DD>&gt;&lt;<BR>
<DD>&gt;&lt;<BR>
<DD>&gt;4217,4271d4209<BR>
<DD>&gt;&lt; /*--- transmit_notify_to_softswitch_with_mwi: Notify Softswitch user of<BR>
<DD>&gt;&lt; messages waiting in voicemail ---*/<BR>
<DD>&gt;&lt; /* Notification works for Softswitch peers with mailbox= definitions<BR>
<DD>&gt;&lt; * in sip.conf<BR>
<DD>&gt;&lt; * We use the SIP Event package message-summary<BR>
<DD>&gt;&lt; * MIME type defaults to "application/simple-message-summary";<BR>
<DD>&gt;&lt; */<BR>
<DD>&gt;&lt; static int transmit_notify_to_softswitch_with_mwi(struct sip_pvt <BR>
<DD>&gt;*p, char *mbox, int newmsgs, int oldmsgs)<BR>
<DD>&gt;&lt; {<BR>
<DD>&gt;&lt; struct sip_request req;<BR>
<DD>&gt;&lt; char tmp[256];<BR>
<DD>&gt;&lt; char tmp2[256];<BR>
<DD>&gt;&lt; char *tmp_mbox;<BR>
<DD>&gt;&lt; char clen[20];<BR>
<DD>&gt;&lt;<BR>
<DD>&gt;&lt; /* I will put the Mailbox Number - the part before the @<BR>
<DD>&gt;&lt; * in p-&gt;username, and then call initreqprep as initreqprep<BR>
<DD>&gt;&lt; * looks for a p-&gt;username and puts it in TO Header<BR>
<DD>&gt;&lt; */<BR>
<DD>&gt;&lt;<BR>
<DD>&gt;&lt; tmp_mbox = (char*) calloc(strlen(mbox), sizeof(char));<BR>
<DD>&gt;&lt;<BR>
<DD>&gt;&lt; strncpy(tmp_mbox, mbox, strlen(mbox));<BR>
<DD>&gt;&lt;<BR>
<DD>&gt;&lt; tmp_mbox = strsep(&amp;tmp_mbox, "@");<BR>
<DD>&gt;&lt;<BR>
<DD>&gt;&lt; strncpy(p-&gt;username, tmp_mbox, strlen(tmp_mbox));<BR>
<DD>&gt;&lt;<BR>
<DD>&gt;&lt;<BR>
<DD>&gt;&lt;<BR>
<DD>&gt;&lt; initreqprep(&amp;req, p, "NOTIFY", NULL);<BR>
<DD>&gt;&lt;<BR>
<DD>&gt;&lt; add_header(&amp;req, "Event", "message-summary");<BR>
<DD>&gt;&lt; add_header(&amp;req, "Content-Type", default_notifymime);<BR>
<DD>&gt;&lt;<BR>
<DD>&gt;&lt; snprintf(tmp, sizeof(tmp), "Messages-Waiting: %s\r\n", <BR>
<DD>&gt;ne wmsgs ? "yes" : "no");<BR>
<DD>&gt;&lt; snprintf(tmp2, sizeof(tmp2), "Voice-Message: %d/%d\r \n", <BR>
<DD>&gt;newmsgs, oldmsgs);<BR>
<DD>&gt;&lt; snprintf(clen, sizeof(clen), "%d", (int)(strlen(tmp) + <BR>
<DD>&gt;strlen(tmp2)));<BR>
<DD>&gt;&lt; add_header(&amp;req, "Content-Length", clen);<BR>
<DD>&gt;&lt; add_line(&amp;req, tmp);<BR>
<DD>&gt;&lt; add_line(&amp;req, tmp2);<BR>
<DD>&gt;&lt;<BR>
<DD>&gt;&lt; if (!p-&gt;initreq.headers) {<BR>
<DD>&gt;&lt; /* Use this as the basis */<BR>
<DD>&gt;&lt; copy_request(&amp;p-&gt;initreq, &amp;req);<BR>
<DD>&gt;&lt; parse(&amp;p-&gt;initreq);<BR>
<DD>&gt;&lt; if (sip_debug_test_pvt(p))<BR>
<DD>&gt;&lt; ast_verbose("%d headers, %d lines\n", <BR>
<DD>&gt;p-&gt;initreq.headers, p-&gt;initreq.lines);<BR>
<DD>&gt;&lt; determine_firstline_parts(&amp;p-&gt;initreq);<BR>
<DD>&gt;&lt; }<BR>
<DD>&gt;&lt;<BR>
<DD>&gt;&lt; return send_request(p, &amp;req, 1, p-&gt;ocseq);<BR>
<DD>&gt;&lt; }<BR>
<DD>&gt;&lt;<BR>
<DD>&gt;&lt;<BR>
<DD>&gt;8628,8734d8565<BR>
<DD>&gt;&lt; //Ujju - sip_send_mwi_to_softswitch : Sending MWI to another Softswitch.<BR>
<DD>&gt;&lt; static int sip_send_mwi_to_softswitch(struct sip_peer *peer)<BR>
<DD>&gt;&lt; {<BR>
<DD>&gt;&lt; /* Checking for all the m alboxes configured for a softswitch<BR>
<DD>&gt;&lt; and sending NOTIFY w/MWI for all */<BR>
<DD>&gt;&lt; struct sip_pvt *p;<BR>
<DD>&gt;&lt; char name[256] = "";<BR>
<DD>&gt;&lt; int newmsgs, oldmsgs;<BR>
<DD>&gt;&lt;<BR>
<DD>&gt;&lt; if(peer-&gt;mailbox==NULL){<BR>
<DD>&gt;&lt; ast_log(LOG_WARNING, "No Mailboxes defined in sip.conf and <BR>
<DD>&gt;voicemail.conf for this softswitch");<BR>
<DD>&gt;&lt; return 0;<BR>
<DD>&gt;&lt; }<BR>
<DD>&gt;&lt;<BR>
<DD>&gt;&lt; int i;<BR>
<DD>&gt;&lt; int mbox_count=0;<BR>
<DD>&gt;&lt; char *mbox[500]; /*Pointer to individual malboxes*/<BR>
<DD>&gt;&lt; char *tmp=NULL; /*Temp Pointer to individual mailboxes*/<BR>
<DD>&gt;&lt; char *mailboxes;/* storing full comma separated mailbox <BR>
<DD>&gt;string here */<BR>
<DD>&gt;&lt;<BR>
<DD>&gt;&lt; mailboxes=(char *)calloc(strlen(peer-&gt;mailbox),sizeof(char));<BR>
<DD>&gt;&lt;<BR>
<DD>&gt;&lt; strcpy(mailboxes,peer-&gt;mailbox);<BR>
<DD>&gt;&lt;<BR>
<DD>&gt;&lt;<BR>
<DD>&gt;&lt; tmp=strchr(mailboxes,',');<BR>
<DD>&gt;&lt; //**mbox=(char **)malloc(sizeof(char *)*256);<BR>
<DD>&gt;&lt; //This copies first Mailbox in mbox[0]<BR>
<DD>&gt;&lt; mbox[mbox_count]=mailboxes;<BR>
<DD>&gt;&lt; mbox[mbox_count]=strsep(&amp;mbox[mbox_count], ",");<BR>
<DD>&gt;&lt;<BR>
<DD>&gt;&lt; //This copies rest of the mailboxes in mbox[1, 2, 3......]<BR>
<DD>&gt;&lt; while(tmp!=NULL)<BR>
<DD>&gt;&lt; {<BR>
<DD>&gt;&lt; mbox_count++;<BR>
<DD>&gt;&lt; tmp+=1;<BR>
<DD>&gt;&lt; mbox[mbox_count]=(char*) calloc(strlen(tmp), sizeof(char));<BR>
<DD>&gt;&lt; strncpy(mbox[mbox_count],tmp, strlen(tmp));<BR>
<DD>&gt;&lt; mbox[mbox_count]=strsep(&amp;mbox[mbox_count], ",");<BR>
<DD>&gt;&lt; tmp=strchr(tmp,',');<BR>
<DD>&gt;&lt; }<BR>
<DD>&gt;&lt;<BR>
<DD>&gt;&lt;<BR>
<DD>&gt;&lt; /* Allocating memory for PTR to last msg for each mailbox <BR>
<DD>&gt;for EPs on Softswitch */<BR>
<DD>&gt;&lt; if (peer-&gt;lastmsgsent_switch == NULL) {<BR>
<DD>&gt;&lt; peer-&gt;lastmsgsent_switch = (int *) <BR>
<DD>&gt;calloc(mbox_count,sizeof(int));<BR>
<DD>&gt;&lt; for (i=0;i&lt;=mbox_count;i++)<BR>
<DD>&gt;&lt; peer-&gt;lastmsgsent_switch[i]=-1;<BR>
<DD>&gt;&lt; }<BR>
<DD>&gt;&lt;<BR>
<DD>&gt;&lt;<BR>
<DD>&gt;&lt; //Now looping through all the Mailboxes to send individual Notify's<BR>
<DD>&gt;&lt; for(i=0;i&lt;=mbox_count;i++) {<BR>
<DD>&gt;&lt;<BR>
<DD>&gt;&lt;<BR>
<DD>&gt;&lt; ast_app_messagecount(mbox[i], &amp;newmsgs, &amp;oldmsgs);<BR>
<DD>&gt;&lt;<BR>
<DD>&gt;&lt; time(&amp;peer-&gt;lastmsgcheck);<BR>
<DD>&gt;&lt;<BR>
<DD>&gt;&lt; /* Retur n now if it's the same thing we told them <BR>
<DD>&gt;last time */<BR>
<DD>&gt;&lt; if (((newmsgs &lt;&lt; 8) | (oldmsgs)) == <BR>
<DD>&gt;peer-&gt;lastmsgsent_switch[i]) {<BR>
<DD>&gt;&lt; if (i==mbox_count)<BR>
<DD>&gt;&lt; return 0;<BR>
<DD>&gt;&lt; else<BR>
<DD>&gt;&lt; continue;<BR>
<DD>&gt;&lt; }<BR>
<DD>&gt;&lt;<BR>
<DD>&gt;&lt; p = sip_alloc(NULL, NULL, 0);<BR>
<DD>&gt;&lt; if (!p) {<BR>
<DD>&gt;&lt; ast_log(LOG_WARNING, "Unable to build sip <BR>
<DD>&gt;pvt data for MWI\n");<BR>
<DD>&gt;&lt; return -1;<BR>
<DD>&gt;&lt; }<BR>
<DD>&gt;&lt; strncpy(name, peer-&gt;name, sizeof(name) - 1);<BR>
<DD>&gt;&lt; peer-&gt;lastmsgsent_switch[i] = ((newmsgs &lt;&lt; 8) | (oldmsgs));<BR>
<DD>&gt;&lt; if (create_addr(p, name)) {<BR>
<DD>&gt;&amp;lt<BR>
<DD>; /* Maybe they're not registered, etc. */<BR>
<DD>&gt;&lt; sip_destroy(p);<BR>
<DD>&gt;&lt; return 0;<BR>
<DD>&gt;&lt; }<BR>
<DD>&gt;&lt; /* Recalculate our side, and recalculate Call ID */<BR>
<DD>&gt;&lt; if (ast_sip_ouraddrfor(&amp;p-&gt;sa.sin_addr,&amp;p-&gt;ourip))<BR>
<DD>&gt;&lt; memcpy(&amp;p-&gt;ourip, &amp;__ourip, sizeof(p-&gt;ourip));<BR>
<DD>&gt;&lt; build_via(p, p-&gt;via, sizeof(p-&gt;via));<BR>
<DD>&gt;&lt; build_callid(p-&gt;callid, sizeof(p-&gt;callid), p-&gt;ourip, <BR>
<DD>&gt;p-&gt;fromdomain);<BR>
<DD>&gt;&lt; /* Here I call another Function to Build Proper to header */<BR>
<DD>&gt;&lt; /* Sen d MWI */<BR>
<DD>&gt;&lt; ast_set_flag(p, SIP_OUTGOING);<BR>
<DD>&gt;&lt;<BR>
<DD>&gt;&lt; //Ujju Set the p-&gt;peername pointer to char to NULL <BR>
<DD>&gt;if its length is 0<BR>
<DD>&gt;&lt;<BR>
<DD>&gt;&lt; if (!strlen(p-&gt;peername)){<BR>
<DD>&gt;&lt; strncpy(p-&gt;peername, peer-&gt;name, sizeof(p-&gt;peername));<BR>
<DD>&gt;&lt; }<BR>
<DD>&gt;&lt;<BR>
<DD>&gt;&lt;<BR>
<DD>&gt;&lt; transmit_notify_to_softswitch_with_mwi(p, mbox[i], <BR>
<DD>&gt;newmsgs, oldmsgs);<BR>
<DD>&gt;&amp;l<BR>
<DD>t; ; sip_scheddestroy(p, 15000);<BR>
<DD>&gt;&lt; }<BR>
<DD>&gt;&lt;<BR>
<DD>&gt;&lt;<BR>
<DD>&gt;&lt;<BR>
<DD>&gt;&lt; return 0;<BR>
<DD>&gt;&lt;<BR>
<DD>&gt;&lt; }<BR>
<DD>&gt;&lt;<BR>
<DD>&gt;&lt;<BR>
<DD>&gt;&lt;<BR>
<DD>&gt;8743,8750c8574<BR>
<DD>&gt;&lt; /* Ujju Here we call function to separate all the mailboxes <BR>
<DD>&gt;if tohost ne NULL and<BR>
<DD>&gt;&lt; then call the below func - sip_send_mwi_to_softswitch - <BR>
<DD>&gt;for each of those mailboxes */<BR>
<DD>&gt;&lt;<BR>
<DD>&gt;&lt; if (strlen(peer-&gt;tohost) != 0){<BR>
<DD>&gt;&lt; sip_send_mwi_to_softswitch(peer);<BR>
<DD>&gt;&lt; return 0;<BR>
<DD>&gt;&lt; }<BR>
<DD>&gt;&lt;<BR>
<DD>&gt;---<BR>
<DD>&gt;&gt; /* Check for messages */<BR>
<DD>&gt;<BR>
<DD>&gt;<BR>
<DD>&gt;<BR>
<DD>&gt;Do you Yahoo!?<BR>
<DD>&gt;Yahoo! Small Business - <BR>
<DD>&gt;Try <BR>
<DD>&gt;our new resources site!<BR>
<DD>&gt;<BR>
<DD>&gt;_______________________________________________<BR>
<DD>&gt;Asterisk-Dev mailing list<BR>
<DD>&gt;Asterisk-Dev@lists.digium.com<BR>
<DD>&gt;<A href="http://lists.digium.com/mailman/listinfo/asterisk-dev" eudora="autourl">http://lists.digium.com/mailman/listinfo/asterisk-dev</A><BR>
<DD>&gt;To UNSUBSCRIBE or update options visit:<BR>
<DD>&gt; <A href="http://lists.digium.com/mailman/listinfo/asterisk-dev" eudora="autourl">http://lists.digium.com/mailman/listinfo/asterisk-dev</A><BR><BR></DD></DL><BR><BR><BR>Do you Yahoo!?<BR>Yahoo! Mail - 250MB free storage. <A href="http://us.rd.yahoo.com/evt=29915/*http://info.mail.yahoo.com/mail_250">Do more. Manage less.</A> <BR>_______________________________________________<BR>Asterisk-Dev mailing list<BR>Asterisk-Dev@lists.digium.com<BR><A href="http://lists.digium.com/mailman/listinfo/asterisk-dev" eudora="autourl">http://lists.digium.com/mailman/listinfo/asterisk-dev</A><BR>To UNSUBSCRIBE or update options visit:<BR>&nbsp;&nbsp; <A href="http://lists.digium.com/mailman/listinfo/asterisk-dev" eudora="autourl">http://lists.digium.com/mailman/listinfo/asterisk-dev</A> </BLOCKQUOTE>_______________________________________________<BR>Asterisk-Dev mailing list<BR>Asterisk-Dev@lists.digium.com<BR>http://lists.digium.com/mailman/listinfo/asterisk-dev<BR>To UNSUBSCRIBE or update
 options visit:<BR>http://lists.digium.com/mailman/listinfo/asterisk-dev</BLOCKQUOTE><BR><BR><p>__________________________________________________<br>Do You Yahoo!?<br>Tired of spam?  Yahoo! Mail has the best spam protection around <br>http://mail.yahoo.com