Soporte Punto a Multipunto en Modo NT DAHDI + Asterisk 1.6.1 + Librpi 1.4.9

89 views
Skip to first unread message

Odicha

unread,
Mar 13, 2009, 8:22:22 AM3/13/09
to asterisk-es
Hola.

Tras unas primeras pruebas, parece funcionar en las siguientes
condiciones

Asterisk SVN-branch-1.6.1-r179362M
chan_dahdi.c parcheado (ver mas abajo)

Dahdi-linux 2.1.0.4 (con el Odi-parche, que comentaba Ramses :)

libpri 1.4.9 (tal cual)

El parche en chan_dahdi.c es muy simple. El resto venía preparado de
la limpieza del odi-parche...
Lo que si podría pasar es que con las Digium B410P no funcione (la
señalizacion con cancelador de eco por hardware es la parte del codigo
que no toqué...es de ellos... de "los otros"..:)

Chan_dahdi.c

} else if (!strcasecmp(v->value,
"bri_net_ptmp")) {
+ confp->chan.sig =
SIG_BRI_PTMP; /* establecemos señalizacion */
+ confp->pri.nodetype =
PRI_NETWORK; /* establecemos NT */
/*
* ast_log(LOG_WARNING, "How
cool would it be if someone implemented this $
* For now, sucks for you.
(line %d)\n", v->lineno);
*/

Si alguien hace pruebas que informe de los resultados. De todos modos
seguiré haciendo pruebas...

* Configuracion de canales en modo NT PtMP

; Span 9: B4/1/1 "B4XXP (PCI) Card 1 Span 1"
group=0,19
context=from-pstn
switchtype = euroisdn
signalling = bri_net_ptmp
channel => 25-26
context = default
group = 63

; Span 10: B4/1/2 "B4XXP (PCI) Card 1 Span 2"
group=0,20
context=from-pstn
switchtype = euroisdn
signalling = bri_net_ptmp
channel => 28-29
context = default
group = 63

** Un dial in ....

Connected to Asterisk SVN-branch-1.6.1-r179362M currently running on
asterisk (pid = 2828)
Verbosity is at least 3
-- Going to extension s|1 because of Complete received
-- Accepting call from '2688' to 's' on channel 0/2, span 9
-- Executing [s@from-pstn:1] Set("DAHDI/26-1", "__FROM_DID=s") in
new stack
-- Executing [s@from-pstn:2] Gosub("DAHDI/26-1", "app-blacklist-
check,s,1") in new stack
-- Executing [s@app-blacklist-check:1] GotoIf("DAHDI/26-1", "0?
blacklisted") in new stack
-- Executing [s@app-blacklist-check:2] Return("DAHDI/26-1", "") in
new stack
-- Executing [s@from-pstn:3] ExecIf("DAHDI/26-1", "1 ?Set(CALLERID
(name)=2688)") in new stack
-- Executing [s@from-pstn:4] Set("DAHDI/26-1",
"__CALLINGPRES_SV=allowed_not_screened") in new stack
-- Executing [s@from-pstn:5] Set("DAHDI/26-1", "CALLERPRES()
=allowed_not_screened") in new stack
-- Executing [s@from-pstn:6] Goto("DAHDI/26-1", "from-did-direct,
109,1") in new stack
-- Goto (from-did-direct,109,1)
-- Executing [109@from-did-direct:1] Macro("DAHDI/26-1", "exten-
vm,novm,109") in new stack
-- Executing [s@macro-exten-vm:1] Macro("DAHDI/26-1", "user-
callerid") in new stack
-- Executing [s@macro-user-callerid:1] Set("DAHDI/26-1",
"AMPUSER=2688") in new stack
-- Executing [s@macro-user-callerid:2] GotoIf("DAHDI/26-1", "0?
report") in new stack
-- Executing [s@macro-user-callerid:3] ExecIf("DAHDI/26-1", "1?Set
(REALCALLERIDNUM=2688)") in new stack
-- Executing [s@macro-user-callerid:4] Set("DAHDI/26-1",
"AMPUSER=") in new stack
-- Executing [s@macro-user-callerid:5] Set("DAHDI/26-1",
"AMPUSERCIDNAME=") in new stack
-- Executing [s@macro-user-callerid:6] GotoIf("DAHDI/26-1", "1?
report") in new stack
-- Goto (macro-user-callerid,s,11)
-- Executing [s@macro-user-callerid:11] GotoIf("DAHDI/26-1", "0?
continue") in new stack
-- Executing [s@macro-user-callerid:12] Set("DAHDI/26-1",
"__TTL=64") in new stack
-- Executing [s@macro-user-callerid:13] GotoIf("DAHDI/26-1", "1?
continue") in new stack
-- Goto (macro-user-callerid,s,20)
-- Executing [s@macro-user-callerid:20] NoOp("DAHDI/26-1", "Using
CallerID "2688" <2688>") in new stack

Odicha

unread,
Mar 13, 2009, 8:45:52 AM3/13/09
to asterisk-es
Un diff para habilitarlo, que no se diga... Recompilar Asterisk... y a
llamar!!

--- /usr/src/originales/chan_dahdi.c 2009-03-13 12:31:51.000000000
+0000
+++ /usr/src/asterisk-1.6.1/channels/chan_dahdi.c 2009-03-13
12:33:38.000000000 +0000
@@ -14549,7 +14549,8 @@ static int process_dahdi(struct dahdi_ch
confp->chan.sig =
SIG_BRI_PTMP;
confp->pri.nodetype = PRI_CPE;
} else if (!strcasecmp(v->value,
"bri_net_ptmp")) {
- ast_log(LOG_WARNING, "How cool
would it be if someone implemented this mode! For now, sucks for you.
(line %d)\n", v->lineno);
+ confp->chan.sig =
SIG_BRI_PTMP;
+ confp->pri.nodetype =
PRI_NETWORK;
} else if (!strcasecmp(v->value,
"gr303fxoks_net")) {
confp->chan.sig =
SIG_GR303FXOKS;
confp->pri.nodetype =
PRI_NETWORK;

Jon Bonilla

unread,
Mar 13, 2009, 11:39:49 AM3/13/09
to aster...@googlegroups.com
El Fri, 13 Mar 2009 05:45:52 -0700 (PDT)
Odicha <jo...@opein.com> escribió:

>
> Un diff para habilitarlo, que no se diga... Recompilar Asterisk... y a
> llamar!!
>


Eres un crack! En cuanto tenga tiempo (allá por el 2012) lo pruebo :)


--
First they ignore you.
Then they laugh at you.
Then they fight you.
**Then you win.**

DaHjaj jaj QaQ Daghajjaj :)

Reply all
Reply to author
Forward
0 new messages