diff options
-rw-r--r-- | net-misc/asterisk/ChangeLog | 6 | ||||
-rw-r--r-- | net-misc/asterisk/Manifest | 12 | ||||
-rw-r--r-- | net-misc/asterisk/files/1.0.0/asterisk-1.0.9-ukcid.patch | 168 |
3 files changed, 181 insertions, 5 deletions
diff --git a/net-misc/asterisk/ChangeLog b/net-misc/asterisk/ChangeLog index 291b2df38542..eb98ee21ecd5 100644 --- a/net-misc/asterisk/ChangeLog +++ b/net-misc/asterisk/ChangeLog @@ -1,6 +1,10 @@ # ChangeLog for net-misc/asterisk # Copyright 2002-2006 Gentoo Foundation; Distributed under the GPL v2 -# $Header: /var/cvsroot/gentoo-x86/net-misc/asterisk/ChangeLog,v 1.114 2006/04/27 22:03:41 antarus Exp $ +# $Header: /var/cvsroot/gentoo-x86/net-misc/asterisk/ChangeLog,v 1.115 2006/04/30 16:43:26 stkn Exp $ + + 30 Apr 2006; Stefan Knoblich <stkn@gentoo.org> + +files/1.0.0/asterisk-1.0.9-ukcid.patch: + Add missing ukcid patch, spotted by Jason Wever <weeve@gentoo.org>. 27 Apr 2006; Alec Warner <antarus@gentoo.org> files/digest-asterisk-1.0.10-r1, files/digest-asterisk-1.0.10-r2, diff --git a/net-misc/asterisk/Manifest b/net-misc/asterisk/Manifest index 58b4bda07dc1..992ad1d93e0a 100644 --- a/net-misc/asterisk/Manifest +++ b/net-misc/asterisk/Manifest @@ -66,6 +66,10 @@ AUX 1.0.0/asterisk-1.0.9-freetds.diff 854 RMD160 eef8cd1e4563d3b41c99513ed6f8081 MD5 e993bfc45e54507214329e00b3a66966 files/1.0.0/asterisk-1.0.9-freetds.diff 854 RMD160 eef8cd1e4563d3b41c99513ed6f8081d0461cb2d files/1.0.0/asterisk-1.0.9-freetds.diff 854 SHA256 8adb853ba920f994f158616246d8a138c1da90f2f3085e9430fccb49a7dd81fe files/1.0.0/asterisk-1.0.9-freetds.diff 854 +AUX 1.0.0/asterisk-1.0.9-ukcid.patch 5782 RMD160 b33b463b1c8abc3b4797aa23dadb928e30227326 SHA1 bc6807c9354cc01b071f57ebd80bf9b29685fa84 SHA256 8036816b419f4e05e0872abdeeb14103ab44d16cb5e560f95731c160de444ed3 size 5782 +MD5 6ae8722706e882375ec03cce99fc8349 files/1.0.0/asterisk-1.0.9-ukcid.patch 5782 +RMD160 b33b463b1c8abc3b4797aa23dadb928e30227326 files/1.0.0/asterisk-1.0.9-ukcid.patch 5782 +SHA256 8036816b419f4e05e0872abdeeb14103ab44d16cb5e560f95731c160de444ed3 files/1.0.0/asterisk-1.0.9-ukcid.patch 5782 AUX 1.0.0/asterisk-1.0.9-vmail.cgi.patch 770 RMD160 e8c31ee58ae4d458fa4c7a31aa2e86831ba99926 SHA1 ec7b984c08d345c716659a1943c3be25f3217a4b SHA256 bdfde3722ef0e5d1a65e7c2cd21134a0c3d5fb27148f3abbbcfc660526cb17f6 size 770 MD5 c25cdb98ebd69a740014cd45bea1c9ba files/1.0.0/asterisk-1.0.9-vmail.cgi.patch 770 RMD160 e8c31ee58ae4d458fa4c7a31aa2e86831ba99926 files/1.0.0/asterisk-1.0.9-vmail.cgi.patch 770 @@ -178,10 +182,10 @@ EBUILD asterisk-1.2.7_p1.ebuild 13073 RMD160 32f7e2d427dc53d76f007f7b07361c962d1 MD5 09d2b6905923ef8beadadb6fc592d62c asterisk-1.2.7_p1.ebuild 13073 RMD160 32f7e2d427dc53d76f007f7b07361c962d17ec80 asterisk-1.2.7_p1.ebuild 13073 SHA256 4ae20f0889bcf4eae2b16d10765e1abf99effc4462f5fa78d6d7d96e9967e8c1 asterisk-1.2.7_p1.ebuild 13073 -MISC ChangeLog 23393 RMD160 75124fe674033142cde3fe4cfa137b8ee1371533 SHA1 f3a12dec205b5599647ba71156f1f260acb079d2 SHA256 88ef9b043b65c8b5a5ce08f9e40b45bbbc71381ef879199765e8be8b799a2f2f size 23393 -MD5 90ea8b93e8832de95687960cc6e1189d ChangeLog 23393 -RMD160 75124fe674033142cde3fe4cfa137b8ee1371533 ChangeLog 23393 -SHA256 88ef9b043b65c8b5a5ce08f9e40b45bbbc71381ef879199765e8be8b799a2f2f ChangeLog 23393 +MISC ChangeLog 23553 RMD160 ff240f3e734d99154caaef8d0e142fabc7628d30 SHA1 b25497eb17eea21be95aef55f3d0c34b435fbdc6 SHA256 f72006100a249271e7e89cfc787ac365ee4dc8aed851f338fc5134fc225e7953 size 23553 +MD5 4158ec11bea2c53f1e246906b626ef61 ChangeLog 23553 +RMD160 ff240f3e734d99154caaef8d0e142fabc7628d30 ChangeLog 23553 +SHA256 f72006100a249271e7e89cfc787ac365ee4dc8aed851f338fc5134fc225e7953 ChangeLog 23553 MISC metadata.xml 384 RMD160 f5de78add5676233b8e0b9e111eab08970443582 SHA1 0441844fb3a715d6979e6c548147ada23d73fec2 SHA256 674224368cb2be6f72655cd67ee19d4d2d0f3425d560aff22b698269e0adc6d8 size 384 MD5 488aea6fbdb7537394cc049b0ff9e5d5 metadata.xml 384 RMD160 f5de78add5676233b8e0b9e111eab08970443582 metadata.xml 384 diff --git a/net-misc/asterisk/files/1.0.0/asterisk-1.0.9-ukcid.patch b/net-misc/asterisk/files/1.0.0/asterisk-1.0.9-ukcid.patch new file mode 100644 index 000000000000..de86f2a903f7 --- /dev/null +++ b/net-misc/asterisk/files/1.0.0/asterisk-1.0.9-ukcid.patch @@ -0,0 +1,168 @@ +? asterisk_ukcid.diff +Index: channels/chan_zap.c +=================================================================== +RCS file: /usr/cvsroot/asterisk/channels/chan_zap.c,v +retrieving revision 1.344.2.7 +diff -u -r1.344.2.7 chan_zap.c +--- channels/chan_zap.c 27 Oct 2004 14:41:55 -0000 1.344.2.7 ++++ channels/chan_zap.c 4 Nov 2004 21:05:03 -0000 +@@ -790,6 +790,14 @@ + return 0; + } + ++static int zt_get_history(int fd, void *buf, int buf_size) ++{ ++ struct zt_history hist; ++ hist.buf=buf; ++ hist.len=buf_size; ++ return ioctl(fd, ZT_GET_HISTORY, &hist); ++} ++ + static int alloc_sub(struct zt_pvt *p, int x) + { + ZT_BUFFERINFO bi; +@@ -5114,6 +5122,120 @@ + } + } + #endif ++ /* If we're using an X100P in the UK, caller ID needs to be extracted from ++ * the history buffer */ ++ if (p->use_callerid && p->cid_start == CID_START_USEHIST) { ++ ast_log(LOG_DEBUG,"Using history buffer to extract UK caller ID\n"); ++ cs = callerid_new(cid_signalling); ++ if (cs) { ++ unsigned char cidbuf[16384]; ++ res=0; ++ ++ res = zt_get_history(p->subs[index].zfd,cidbuf,sizeof(cidbuf)); ++ if(res<0) { ++ ast_log(LOG_ERROR,"zt_get_history failed: %s\n", strerror(errno)); ++ } else { ++ res=callerid_feed(cs,cidbuf,sizeof(cidbuf),AST_LAW(p)); ++ if (res < 0) { ++ ast_log(LOG_WARNING, "CallerID feed failed: %s\n", strerror(errno)); ++ } ++ } ++ ++ if(res==1) { ++ callerid_get(cs, &name, &number, &flags); ++ if (option_debug) ++ ast_log(LOG_DEBUG, "CallerID number: %s, name: %s, flags=%d\n", number, name, flags); ++ } ++ } ++ if (p->usedistinctiveringdetection == 1) { ++#if 1 ++ bump_gains(p); ++#endif ++ len = 0; ++ distMatches = 0; ++ /* Clear the current ring data array so we dont have old data in it. */ ++ for (receivedRingT=0; receivedRingT < 3; receivedRingT++) { ++ curRingData[receivedRingT] = 0; ++ } ++ receivedRingT = 0; ++ counter = 0; ++ counter1 = 0; ++ /* Check to see if context is what it should be, if not set to be. */ ++ if (strcmp(p->context,p->defcontext) != 0) { ++ strncpy(p->context, p->defcontext, sizeof(p->context)-1); ++ strncpy(chan->context,p->defcontext,sizeof(chan->context)-1); ++ } ++ ++ for(;;) { ++ i = ZT_IOMUX_READ | ZT_IOMUX_SIGEVENT; ++ if ((res = ioctl(p->subs[index].zfd, ZT_IOMUX, &i))) { ++ ast_log(LOG_WARNING, "I/O MUX failed: %s\n", strerror(errno)); ++ callerid_free(cs); ++ ast_hangup(chan); ++ return NULL; ++ } ++ if (i & ZT_IOMUX_SIGEVENT) { ++ res = zt_get_event(p->subs[index].zfd); ++ ast_log(LOG_NOTICE, "Got event %d (%s)...\n", res, event2str(res)); ++ res = 0; ++ /* Let us detect distinctive ring */ ++ ++ curRingData[receivedRingT] = p->ringt; ++ ++ if (p->ringt < RINGT/2) ++ break; ++ ++receivedRingT; /* Increment the ringT counter so we can match it against ++ values in zapata.conf for distinctive ring */ ++ } else if (i & ZT_IOMUX_READ) { ++ res = read(p->subs[index].zfd, buf, sizeof(buf)); ++ if (res < 0) { ++ if (errno != ELAST) { ++ ast_log(LOG_WARNING, "read returned error: %s\n", strerror(errno)); ++ callerid_free(cs); ++ ast_hangup(chan); ++ return NULL; ++ } ++ break; ++ } ++ if (p->ringt) ++ p->ringt--; ++ if (p->ringt == 1) { ++ res = -1; ++ break; ++ } ++ } ++ } ++ if(option_verbose > 2) ++ /* this only shows up if you have n of the dring patterns filled in */ ++ ast_verbose( VERBOSE_PREFIX_3 "Detected ring pattern: %d,%d,%d\n",curRingData[0],curRingData[1],curRingData[2]); ++ ++ for (counter=0; counter < 3; counter++) { ++ /* Check to see if the rings we received match any of the ones in zapata.conf for this ++ channel */ ++ distMatches = 0; ++ for (counter1=0; counter1 < 3; counter1++) { ++ if (curRingData[counter1] <= (p->drings.ringnum[counter].ring[counter1]+10) && curRingData[counter1] >= ++ (p->drings.ringnum[counter].ring[counter1]-10)) { ++ distMatches++; ++ } ++ } ++ if (distMatches == 3) { ++ /* The ring matches, set the context to whatever is for distinctive ring.. */ ++ strncpy(p->context, p->drings.ringContext[counter].contextData, sizeof(p->context)-1); ++ strncpy(chan->context, p->drings.ringContext[counter].contextData, sizeof(chan->context)-1); ++ if(option_verbose > 2) ++ ast_verbose( VERBOSE_PREFIX_3 "Distinctive Ring matched context %s\n",p->context); ++ break; ++ } ++ } ++ } ++ /* Restore linear mode (if appropriate) for Caller*ID processing */ ++ zt_setlinear(p->subs[index].zfd, p->subs[index].linear); ++#if 1 ++ restore_gains(p); ++#endif ++ } ++ + /* If we want caller id, we're in a prering state due to a polarity reversal + * and we're set to use a polarity reversal to trigger the start of caller id, + * grab the caller id and wait for ringing to start... */ +@@ -9178,6 +9300,8 @@ + cid_start = CID_START_RING; + else if (!strcasecmp(v->value, "polarity")) + cid_start = CID_START_POLARITY; ++ else if (!strcasecmp(v->value, "usehist")) ++ cid_start = CID_START_USEHIST; + else if (ast_true(v->value)) + cid_start = CID_START_RING; + } else if (!strcasecmp(v->name, "threewaycalling")) { +Index: include/asterisk/callerid.h +=================================================================== +RCS file: /usr/cvsroot/asterisk/include/asterisk/callerid.h,v +retrieving revision 1.7 +diff -u -r1.7 callerid.h +--- include/asterisk/callerid.h 19 Sep 2004 16:17:18 -0000 1.7 ++++ include/asterisk/callerid.h 4 Nov 2004 21:05:04 -0000 +@@ -30,6 +30,7 @@ + + #define CID_START_RING 1 + #define CID_START_POLARITY 2 ++#define CID_START_USEHIST 3 + + + #define AST_LIN2X(a) ((codec == AST_FORMAT_ALAW) ? (AST_LIN2A(a)) : (AST_LIN2MU(a))) |