[asterisk-users] Pointer to debug "Got SETUP with duplicate call ptr . Dropping call."

Richard Mudgett rmudgett at digium.com
Tue Mar 26 12:04:38 CDT 2013


> I'm reading this in my log files:
> [Mar 25 12:01:23] WARNING[1593] sig_pri.c: Span 1: Got SETUP with
> duplicate call ptr (0x8e3b998). Dropping call.
> [Mar 25 13:21:40] WARNING[1593] sig_pri.c: Span 1: Got SETUP with
> duplicate call ptr (0x8e3b998). Dropping call.
> [Mar 26 10:20:54] WARNING[2643] sig_pri.c: Span 1: Got SETUP with
> duplicate call ptr (0x8e06788). Dropping call.
> [Mar 26 10:52:10] WARNING[2643] sig_pri.c: Span 1: Got SETUP with
> duplicate call ptr (0x8e06788). Dropping call.
> 
> 
> Do you have any pointer to correct this ?

No.  It is a condition that should not happen.

This message is likely the result of a previous call that terminated
abnormally and did not complete cleaning up by telling sig_pri.c that
the call is gone.  The sig_pri.c module already has that call pointer
in its data structure and is complaining that it is receiving another
SETUP message for an existing call.  sig_pri.c is told about new call
pointers when a call comes from SETUP messages.  sig_pri.c is told
when the call goes away at hangup to forget about the call pointer
for the call.

Finding the conditions that cause this is not going to be easy since
it is a miscommunication between libpri and sig_pri.c.  Since I think
this is resulting from an earlier abnormally terminated call, I would
need pri debug traces including the abnormal call.  The abnormal call
could have happened quite a while before you see the warning message.

I expect that before you see the warning message, one of the B channels
was unusable.  The "pri show channels" command has a "PRI Call" column
that indicates if a call pointer is associated with the B channel.

> 
> My setup is :
> Asterisk 11.2.1
> DAHDI Version: 2.6.1 Echo Canceller: HWEC, OSLEC
> libpri version: 1.4.14
> Digium HA8 with BRI module
> single BRI line in TE/Ptmp mode
> 
> An extract from chan_dahdi.conf :
> 
> [channels]
> layer1_presence=ignore
> layer2_persistence=keep_up

You do not need to do both methods.  One or the other will suffice.
It is better to use the layer1_presence=ignore method.

Richard



More information about the asterisk-users mailing list