[asterisk-users] Disable connected line updates for dahdi PRI channel

Michael Smith msmith at cbnco.com
Wed Nov 24 11:45:12 CST 2010


Hi,

Starting in Asterisk 1.8.0, Asterisk supports connected line updates. 
This is fantastic for SIP. How can I prevent them from being sent to a 
PRI channel?

I'm having problems when a call is answered by an internal SIP 
extension, then transferred (blind or attended) to another internal SIP 
extension. One of my PRI providers can't handle the ROSE_ETSI_EctInform 
APDU and drops the call.

Looking through the chan_dahdi and sig_pri code, I don't see any 
configuration flag to block the updates from going through. I was even 
hoping I could set __CONNECTED_LINE_CALLER_SEND_MACRO to something 
bogus, but it looks like if the macro fails to execute in any way, the 
code will just go ahead and update the connected line data.

I wouldn't be surprised if the provider has the same issue with 
redirecting updates.

Here's what happens when external number 87133306 calls into my PRI, 
extension 1111 answers, does an attended transfer to 0102, and completes 
the transfer. The provider eventually hangs up with "Message not 
compatible with call state (101)".

channel.c: Released clone lock on 'SIP/1111-00000007<ZOMBIE>'
channel.c: Done Masquerading DAHDI/i1/87133306-3 (6)
chan_dahdi.c: Requested indication 26 on channel DAHDI/i1/87133306-3
chan_dahdi.c: Requested indication 17 on channel DAHDI/i1/87133306-3
channel.c: Bridge stops because we're zombie or need a soft hangup: 
c0=SIP/1111-00000007<ZOMBIE>, c1=SIP/1111-00000006, flags: Yes,Yes,No,No
channel.c: Bridge stops bridging channels SIP/1111-00000007<ZOMBIE> and 
SIP/1111-00000006
chan_dahdi.c: Requested indication 22 on channel DAHDI/i1/87133306-3
sig_pri.c: Received AST_CONTROL_CONNECTED_LINE on DAHDI/i1/87133306-3
chan_dahdi.c: 1 Adding facility ie contents to send in FACILITY message:
chan_dahdi.c: 1 ASN.1 dump
chan_dahdi.c: 1   Context Specific/C [1 0x01] <A1> Len:24 <18>
chan_dahdi.c: 1     Integer(2 0x02) <02> Len:1 <01>
chan_dahdi.c: 1       <03> - "~"
chan_dahdi.c: 1     OID(6 0x06) <06> Len:6 <06>
chan_dahdi.c: 1       <04 00 82 71 01 05> - "~~~q~~"
chan_dahdi.c: 1     Sequence/C(48 0x30) <30> Len:11 <0B>
chan_dahdi.c: 1       Enumerated(10 0x0A) <0A> Len:1 <01>
chan_dahdi.c: 1         <01> - "~"
chan_dahdi.c: 1       Context Specific/C [0 0x00] <A0> Len:6 <06>
chan_dahdi.c: 1         Context Specific [0 0x00] <80> Len:4 <04>
chan_dahdi.c: 1           <30 31 30 32> - "0102"
chan_dahdi.c: 1 ASN.1 end
chan_dahdi.c: 1 INVOKE Component Context Specific/C [1 0x01]
chan_dahdi.c: 1   invokeId Integer(2 0x02) = 3 0x0003
chan_dahdi.c: 1   operationValue OID(6 0x06) = 4.0.369.1.5
chan_dahdi.c: 1   operationValue = ROSE_ETSI_EctInform
chan_dahdi.c: 1   EctInform Sequence/C(48 0x30)
chan_dahdi.c: 1   callStatus Enumerated(10 0x0A) = 1 0x0001
chan_dahdi.c: 1   redirectionNumber PresentedNumberUnscreened
chan_dahdi.c: 1   Explicit Context Specific/C [0 0x00]
chan_dahdi.c: 1   presentationAllowedNumber PartyNumber
chan_dahdi.c: 1   unknownPartyNumber Context Specific [0 0x00] = "0102"
chan_dahdi.c: 1
chan_dahdi.c: 1 > DL-DATA request
chan_dahdi.c: 1 > Protocol Discriminator: Q.931 (8)  len=34
chan_dahdi.c: 1 > TEI=0 Call Ref: len= 2 (reference 43/0x2B) (Sent to 
originator)
chan_dahdi.c: 1 > Message Type: FACILITY (98)
chan_dahdi.c: 1 TEI=0 Transmitting N(S)=43, window is open V(A)=43 K=7
chan_dahdi.c: 1
chan_dahdi.c: 1 > Protocol Discriminator: Q.931 (8)  len=34
chan_dahdi.c: 1 > TEI=0 Call Ref: len= 2 (reference 43/0x2B) (Sent to 
originator)
chan_dahdi.c: 1 > Message Type: FACILITY (98)
chan_dahdi.c: 1 > [1c 1b 91 a1 18 02 01 03 06 06 04 00 82 71 01 05 30 0b 
0a 01 01 a0 06 80 04 30 31 30 32]
chan_dahdi.c: 1 > Facility (len=29, codeset=0) [ 0x91, 0xA1, 0x18, 0x02, 
0x01, 0x03, 0x06, 0x06, 0x04, 0x00, 0x82, 'q', 0x01, 0x05, '0', 0x0B, 
0x0A, 0x01, 0x01, 0xA0, 0x06, 0x80, 0x04, '0102' ]
channel.c: Hanging up channel 'SIP/1111-00000006'
app_dial.c: Exiting with DIALSTATUS=ANSWER.
pbx.c: Spawn extension (inbound_all,s,2) exited non-zero on 
'SIP/1111-00000007<ZOMBIE>'
pbx.c:   == Spawn extension (inbound_all, s, 2) exited non-zero on 
'SIP/1111-00000007<ZOMBIE>'
channel.c: Soft-Hanging up channel 'SIP/1111-00000007<ZOMBIE>'
channel.c: Hanging up zombie 'SIP/1111-00000007<ZOMBIE>'
chan_sip.c: Stopping retransmission on 
'4e4d6d5a1152cff85ed7c18c6ed2b7a9 at 172.20.45.10' of Request 103: Match Found
res_rtp_asterisk.c: No remote address on RTP instance '0x7f3a46298488' 
so dropping frame
res_rtp_asterisk.c: No remote address on RTP instance '0x7f3a46298488' 
so dropping frame
res_rtp_asterisk.c: No remote address on RTP instance '0x7f3a46298488' 
so dropping frame
chan_sip.c: Stopping retransmission on 
'565a02b66888481b6862e89b53af39ee at 172.20.45.10' of Request 103: Match Found
res_rtp_asterisk.c: No remote address on RTP instance '0x7f3a46298488' 
so dropping frame
res_rtp_asterisk.c: Setting RTCP address on RTP instance '0xa29ef8'
res_rtp_asterisk.c: No remote address on RTP instance '0x7f3a46298488' 
so dropping frame
chan_dahdi.c: 1
chan_dahdi.c: 1 < Protocol Discriminator: Q.931 (8)  len=9
chan_dahdi.c: 1 < TEI=0 Call Ref: len= 2 (reference 43/0x2B) (Sent from 
originator)
chan_dahdi.c: 1 < Message Type: DISCONNECT (69)
chan_dahdi.c: 1 < [08 02 82 e5]
chan_dahdi.c: 1 < Cause (len= 4) [ Ext: 1  Coding: CCITT (ITU) standard 
(0)  Spare: 0  Location: Public network serving the local user (2)
chan_dahdi.c: 1 <                  Ext: 1  Cause: Message not compatible 
with call state (101), class = Protocol Error (e.g. unknown message) (6) ]
chan_dahdi.c: 1 Received message for call 0xa285f0 on 0x7f3a46225b30 
TEI/SAPI 0/0, call->pri is 0x7f3a46225b30 TEI/SAPI 0/0
chan_dahdi.c: 1 -- Processing IE 8 (cs0, Cause)
chan_dahdi.c: 1 -- Found active call: 0xa285f0 cref:43
chan_dahdi.c: 1 q931.c:7201 post_handle_q931_message: Call 43 enters 
state 12 (Disconnect Indication).  Hold state: Idle
sig_pri.c: Span: 1 Processing event: PRI_EVENT_HANGUP_REQ
sig_pri.c:     -- Channel 0/7, span 1 got hangup request, cause 101



My chan_dahdi.conf:

signalling = pri_cpe
switchtype=euroisdn
pridialplan=unknown
prilocaldialplan=national
resetinterval = 3600
usecallerid=yes
threewaycalling=no
facilityenable=no
transfer=no

context = from_e1_provider1
group=0
channel => 1-15,17-31


Thanks,
Mike



More information about the asterisk-users mailing list