Parche para el thomson ST2030

27 views
Skip to first unread message

Tron

unread,
Sep 18, 2007, 12:17:45 PM9/18/07
to aster...@googlegroups.com
Hola chicos,

        he estado creando un parche para que funcione el botón de captura del thomson ST2030. Debido al draft que utiliza el thomson, lo que he hecho ha sido aprovechar nuestro magnífico pickup, con lo que para que funcine el parche, tenéis que crear en vuestro extensions.conf una extensión que sea:

exten=>_*8.,1,Pickup(${EXTEN:1})


tened en cuenta que si teneís llamadas que entran por distintos sitios en vuestro extensions, el pickup deberá contemplarlo.

Ya me he enterado que en la próxima revisión del firmware del thomson, este mismo parche nos servirá para pulsar el botón de blf que esté parpadeando.

Espero que os sirva.


Saludos,

tron
chan_sip.c.diff

Saúl Ibarra

unread,
Sep 19, 2007, 4:13:57 PM9/19/07
to aster...@googlegroups.com
Muy buena Tron!! Alguien ya ha dejado constancia en voip-info...
http://www.voip-info.org/wiki/view/ST2030+SIP+Features&view_comment_id=14522

:)

El 18/09/07, Tron <asteri...@gmail.com> escribió:

> --- chan_sip.c.orig 2007-08-29 18:07:56.000000000 +0200
> +++ chan_sip.c 2007-09-18 13:48:12.000000000 +0200
> @@ -7153,6 +7153,10 @@
> else
> ast_build_string(&t, &maxbytes, "<dialog
> id=\"%s\">\n", p->exten);
> ast_build_string(&t, &maxbytes, "<state>%s</state>\n",
> statestring);
> + if((state & AST_EXTENSION_RINGING) && global_notifyringing
> && strstr(p->useragent,"THOMSON ST2030")){
> + ast_build_string(&t, &maxbytes, "<local><identity
> display=\"%s\">%s</identity><target
> uri=\"%s\"/></local>\n", p->exten, mfrom, mfrom);
> + ast_build_string(&t, &maxbytes, "<remote><identity
> display=\"%s\">sip:*8%s</identity><target
> uri=\"sip:*8%s\"/></remote>\n", "pickup", mto+4, mto+4);
> + }
> if (state == AST_EXTENSION_ONHOLD) {
> ast_build_string(&t, &maxbytes, "<local>\n<target
> uri=\"%s\">\n"
> "<param
> pname=\"+sip.rendering\" pvalue=\"no\">\n"
> @@ -14773,8 +14777,9 @@
> for it to expire and send NOTIFY messages to the
> peer only to have them
> ignored (or generate errors)
> */
> - ast_mutex_lock(&iflock);
> - for (p_old = iflist; p_old; p_old = p_old->next) {
> + if(!strstr(p->useragent,"THOMSON
> ST2030")){
> + ast_mutex_lock(&iflock);
> + for (p_old = iflist; p_old; p_old = p_old->next)
> {
> if (p_old == p)
> continue;
> if (p_old->initreq.method != SIP_SUBSCRIBE)
> @@ -14791,8 +14796,9 @@
> }
> }
>
> ast_mutex_unlock(&p_old->lock);
> + }
> + ast_mutex_unlock(&iflock);
> }
> - ast_mutex_unlock(&iflock);
> }
> if (!p->expiry)
> ast_set_flag(&p->flags[0], SIP_NEEDDESTROY);
>
>


--
Saúl -- "Nunca subestimes el ancho de banda de un camión lleno de disketes."
----------------------------------------------------------------
http://www.saghul.net/

Reply all
Reply to author
Forward
0 new messages