Calls cutting out sometimes


#1

Hello,

i read the post from Eric and have the same issues sometimes. I will not enter his thread so i opened a new one for my case.

I have a TCPdump running and have actually one cut off. What is needed for informations from this dump?

Cutoff 1:
SIP Error 480 Request: BYE

I’m happy about every helping hand and I just want to get an idea whether it’s at freepbx or our ISP or any other ISP in Germany.

Regards
Nico


#2

I believe that the referenced post is about momentary cutouts in the audio stream. If you have completely dropped calls, that’s a different issue. Of course, if a cutout lasts long enough, the parties will assume that the call has been dropped and hang up.

Shortly before the BYE, do you see any problem with the RTP?

Also, problems with SIP timers and/or lost NAT associations are common. In these cases, calls are dropped after a specific duration e.g. 30 minutes. If your dropped calls have the same length, this is likely your issue.

That said, a 480 response to BYE is very unusual. Who sent the BYE (the PBX or the provider)? Does the 480 have a Reason header? Any errors in the Asterisk log shortly before the BYE?


#3

Hi,

Okay I thought with the cut out are drops meant but yes I also have from time to time problems in streaming but that is because of the LTE with a staff member, which I will improve soon.
To the drops here is a screen of the tcpdump. The timestamp of the bye is 14:17:46. The cutoffs are arbitrary, this one happened after 38 seconds. I replaced the employee’s internal number with internal.

20-06-09 14:17:08] VERBOSE[1713][C-000003ef] pbx.c: Executing [s@func-apply-sipheaders:14] 
Return("PJSIP/internal-000008f8", "") in new stack
[2020-06-09 14:17:08] VERBOSE[1713][C-000003ef] app_stack.c: Spawn extension (from-internal, 
internal, 1) exited non-zero on 'PJSIP/internal-000008f8'
[2020-06-09 14:17:08] VERBOSE[1713][C-000003ef] app_stack.c: PJSIP/internal-000008f8 Internal 
Gosub(func-apply-sipheaders,s,1) complete GOSUB_RETVAL=
[2020-06-09 14:17:08] VERBOSE[1713][C-000003ef] app_dial.c: Called 
PJSIP/internal/sip:internal@172.18.1.135:5070
[2020-06-09 14:17:08] VERBOSE[13875] netsock2.c: Using SIP RTP Audio TOS bits 184
[2020-06-09 14:17:08] VERBOSE[13875] netsock2.c: Using SIP RTP Audio CoS mark 5
[2020-06-09 14:17:08] VERBOSE[1713][C-000003ef] app_dial.c: Connected line update to 
PJSIP/Telefonica-000008f7 prevented.
[2020-06-09 14:17:08] VERBOSE[1713][C-000003ef] app_dial.c: PJSIP/internal-000008f8 is ringing
[2020-06-09 14:17:08] VERBOSE[1713][C-000003ef] app_dial.c: PJSIP/internal-000008f8 is ringing
[2020-06-09 14:17:13] VERBOSE[1713][C-000003ef] app_dial.c: PJSIP/internal-000008f8 answered 
PJSIP/Telefonica-000008f7
[2020-06-09 14:17:13] VERBOSE[1731][C-000003ef] bridge_channel.c: Channel PJSIP/internal- 
000008f8 joined 'simple_bridge' basic-bridge <e1e8a897-df2d-4dd9-ab58-50366d0548a3>
[2020-06-09 14:17:13] VERBOSE[1713][C-000003ef] bridge_channel.c: Channel PJSIP/Telefonica- 
000008f7 joined 'simple_bridge' basic-bridge <e1e8a897-df2d-4dd9-ab58-50366d0548a3>
[2020-06-09 14:17:46] VERBOSE[1713][C-000003ef] bridge_channel.c: Channel PJSIP/Telefonica- 
000008f7 left 'simple_bridge' basic-bridge <e1e8a897-df2d-4dd9-ab58-50366d0548a3>
[2020-06-09 14:17:46] VERBOSE[1713][C-000003ef] app_macro.c: Spawn extension (macro-dial- 
one, s, 56) exited non-zero on 'PJSIP/Telefonica-000008f7' in macro 'dial-one'
[2020-06-09 14:17:46] VERBOSE[1731][C-000003ef] bridge_channel.c: Channel PJSIP/internal- 
000008f8 left 'simple_bridge' basic-bridge <e1e8a897-df2d-4dd9-ab58-50366d0548a3>
[2020-06-09 14:17:46] VERBOSE[1713][C-000003ef] app_macro.c: Spawn extension (macro-exten- 
vm, s, 26) exited non-zero on 'PJSIP/Telefonica-000008f7' in macro 'exten-vm'
[2020-06-09 14:17:46] VERBOSE[1731][C-000003ef] app_stack.c: PJSIP/internal-000008f8 Internal 
Gosub(crm-hangup,s,1) start
[2020-06-09 14:17:46] VERBOSE[1713][C-000003ef] pbx.c: Spawn extension (ext-local, internal, 3) 
exited non-zero on 'PJSIP/Telefonica-000008f7'
[2020-06-09 14:17:46] VERBOSE[1731][C-000003ef] pbx.c: Executing [s@crm-hangup:1] 
NoOp("PJSIP/internal-000008f8", "Sending Hangup to CRM") in new stack
[2020-06-09 14:17:46] VERBOSE[1713][C-000003ef] pbx.c: Executing [h@ext-local:1] 
Macro("PJSIP/Telefonica-000008f7", "hangupcall,") in new stack
[2020-06-09 14:17:46] VERBOSE[1731][C-000003ef] pbx.c: Executing [s@crm-hangup:2] 
NoOp("PJSIP/internal-000008f8", "HANGUP CAUSE: 16") in new stack
[2020-06-09 14:17:46] VERBOSE[1731][C-000003ef] pbx.c: Executing [s@crm-hangup:3] 
ExecIf("PJSIP/internal-000008f8", "0?Set(__CRM_VOICEMAIL=)") in new stack
[2020-06-09 14:17:46] VERBOSE[1713][C-000003ef] pbx.c: Executing [s@macro-hangupcall:1] 
GotoIf("PJSIP/Telefonica-000008f7", "1?theend") in new stack
[2020-06-09 14:17:46] VERBOSE[1731][C-000003ef] pbx.c: Executing [s@crm-hangup:4] 
NoOp("PJSIP/internal-000008f8", "MASTER CHANNEL: 1591705028.2433 = 1591705028.2432") in 
new stack
[2020-06-09 14:17:46] VERBOSE[1713][C-000003ef] pbx_builtins.c: Goto (macro-hangupcall,s,3)
[2020-06-09 14:17:46] VERBOSE[1731][C-000003ef] pbx.c: Executing [s@crm-hangup:5] 
GotoIf("PJSIP/internal-000008f8", "1?return") in new stack
[2020-06-09 14:17:46] VERBOSE[1731][C-000003ef] pbx_builtins.c: Goto (crm-hangup,s,8)
[2020-06-09 14:17:46] VERBOSE[1731][C-000003ef] pbx.c: Executing [s@crm-hangup:8] 
Return("PJSIP/internal-000008f8", "") in new stack
[2020-06-09 14:17:46] VERBOSE[1731][C-000003ef] app_stack.c: Spawn extension (from-internal, , 
1) exited non-zero on 'PJSIP/internal-000008f8'
[2020-06-09 14:17:46] VERBOSE[1731][C-000003ef] app_stack.c: PJSIP/internal-000008f8 Internal 
Gosub(crm-hangup,s,1) complete GOSUB_RETVAL=
[2020-06-09 14:17:46] VERBOSE[1713][C-000003ef] pbx.c: Executing [s@macro-hangupcall:3] 
ExecIf("PJSIP/Telefonica-000008f7", "0?Set(CDR(recordingfile)=)") in new stack
[2020-06-09 14:17:46] VERBOSE[1713][C-000003ef] pbx.c: Executing [s@macro-hangupcall:4] 
NoOp("PJSIP/Telefonica-000008f7", "PJSIP/internal-000008f8 montior file= ") in new stack
[2020-06-09 14:17:46] VERBOSE[1713][C-000003ef] pbx.c: Executing [s@macro-hangupcall:5] 
GotoIf("PJSIP/Telefonica-000008f7", "1?skipagi") in new stack
[2020-06-09 14:17:46] VERBOSE[1713][C-000003ef] pbx_builtins.c: Goto (macro-hangupcall,s,7)
[2020-06-09 14:17:46] VERBOSE[1713][C-000003ef] pbx.c: Executing [s@macro-hangupcall:7] 
Hangup("PJSIP/Telefonica-000008f7", "") in new stack
[2020-06-09 14:17:46] VERBOSE[1713][C-000003ef] app_macro.c: Spawn extension (macro- 
hangupcall, s, 7) exited non-zero on 'PJSIP/Telefonica-000008f7' in macro 'hangupcall'
[2020-06-09 14:17:46] VERBOSE[1713][C-000003ef] pbx.c: Spawn extension (ext-local, h, 1) exited 
non-zero on 'PJSIP/Telefonica-000008f7'
[2020-06-09 14:17:46] VERBOSE[1713][C-000003ef] app_stack.c: PJSIP/Telefonica-000008f7 
Internal Gosub(crm-hangup,s,1) start
[2020-06-09 14:17:46] VERBOSE[1713][C-000003ef] pbx.c: Executing [s@crm-hangup:1] 
NoOp("PJSIP/Telefonica-000008f7", "Sending Hangup to CRM") in new stack
[2020-06-09 14:17:46] VERBOSE[1713][C-000003ef] pbx.c: Executing [s@crm-hangup:2] 
NoOp("PJSIP/Telefonica-000008f7", "HANGUP CAUSE: 16") in new stack
[2020-06-09 14:17:46] VERBOSE[1713][C-000003ef] pbx.c: Executing [s@crm-hangup:3] 
ExecIf("PJSIP/Telefonica-000008f7", "0?Set(__CRM_VOICEMAIL=)") in new stack
[2020-06-09 14:17:46] VERBOSE[1713][C-000003ef] pbx.c: Executing [s@crm-hangup:4] 
NoOp("PJSIP/Telefonica-000008f7", "MASTER CHANNEL: 1591705028.2432 = 1591705028.2432") 
in new stack
[2020-06-09 14:17:46] VERBOSE[1713][C-000003ef] pbx.c: Executing [s@crm-hangup:5] 
GotoIf("PJSIP/Telefonica-000008f7", "0?return") in new stack
[2020-06-09 14:17:46] VERBOSE[1713][C-000003ef] pbx.c: Executing [s@crm-hangup:6] 
Set("PJSIP/Telefonica-000008f7", "__CRM_HANGUP=1") in new stack
[2020-06-09 14:17:46] VERBOSE[1713][C-000003ef] pbx.c: Executing [s@crm-hangup:7] 
AGI("PJSIP/Telefonica-000008f7", "agi://127.0.0.1/sangomacrm.agi") in new stack
[2020-06-09 14:17:46] VERBOSE[1713][C-000003ef] res_agi.c: <PJSIP/Telefonica-000008f7>AGI 
Script agi://127.0.0.1/sangomacrm.agi completed, returning 0
[2020-06-09 14:17:46] VERBOSE[1713][C-000003ef] pbx.c: Executing [s@crm-hangup:8] 
Return("PJSIP/Telefonica-000008f7", "") in new stack
[2020-06-09 14:17:46] VERBOSE[1713][C-000003ef] app_stack.c: Spawn extension (ext-local, h, 1) 
exited non-zero on 'PJSIP/Telefonica-000008f7'
[2020-06-09 14:17:46] VERBOSE[1713][C-000003ef] app_stack.c: PJSIP/Telefonica-000008f7 
Internal Gosub(crm-hangup,s,1) complete GOSUB_RETVAL=
[2020-06-09 14:17:58] VERBOSE[17732] pbx_variables.c: Setting global variable 'SIPDOMAIN' to 
'192.168.222.2'
[2020-06-09 14:17:58] VERBOSE[1903][C-000003f0] pbx.c: Executing [internal@from-pstn:1] 
Set("PJSIP/Telefonica-000008f9", "__DIRECTION=INBOUND") in new stack

Regards


#4

The Wireshark capture is not showing the full story. It shows Asterisk sending RTP to the extension, so RTP was presumably coming from the trunk at that time, but it’s not shown. Perhaps the trunk is on a different NIC that wasn’t being captured, or you had a capture filter or display filter that removed it. You need to look at the trunk side to see whether they sent a BYE (which might have a useful Reason header), or if there was some problem with the signaling.


#5

Hi,

okay i am wondering then you wrote with this command you can capture everything " tcpdump -s 0 -C 100 -W 100 -w rbuf -Z root &", i have to set the -i flag to capture from the outbound nic?

Regards


#6

Hi,

i hope this helps we had a drop.

Frame 88834: 539 bytes on wire (4312 bits), 539 bytes captured (4312 bits)
Encapsulation type: Ethernet (1)
Arrival Time: Jun 12, 2020 13:23:54.190416000 Mitteleuropäische Sommerzeit
[Time shift for this packet: 0.000000000 seconds]
Epoch Time: 1591961034.190416000 seconds
[Time delta from previous captured frame: 0.004367000 seconds]
[Time delta from previous displayed frame: 0.004367000 seconds]
[Time since reference or first frame: 901.349222000 seconds]
Frame Number: 88834
Frame Length: 539 bytes (4312 bits)
Capture Length: 539 bytes (4312 bits)
[Frame is marked: False]
[Frame is ignored: False]
[Protocols in frame: eth:ethertype:ip:udp:sip]
[Coloring Rule Name: UDP]
[Coloring Rule String: udp]
Ethernet II, Src: OneAcces_mac (mac), Dst: SpeedDra_mac (mac)
Internet Protocol Version 4, Src: 192.168.222.1, Dst: 192.168.222.2
User Datagram Protocol, Src Port: 5060, Dst Port: 5060
Source Port: 5060
Destination Port: 5060
Length: 505
Checksum: 0x8478 [unverified]
[Checksum Status: Unverified]
[Stream index: 2]
[Timestamps]
Session Initiation Protocol (BYE)
Request-Line: BYE sip:asterisk@192.168.222.2:5060 SIP/2.0
    Method: BYE
    Request-URI: sip:asterisk@192.168.222.2:5060
    [Resent Packet: False]
Message Header
    Call-ID: c3cdf73a-879c-41a7-a428-429f9d819f2a
    [Generated Call-ID: c3cdf73a-879c-41a7-a428-429f9d819f2a]
    CSeq: 52580 BYE
        Sequence Number: 52580
        Method: BYE
    From: <sip:externalnumber@192.168.222.1>;tag=1D81
        SIP from address: sip:externalnumber@192.168.222.1
            SIP from address User Part: externalnumber
            E.164 number (MSISDN): externalnumber
                Country Code: Germany (Federal Republic of) (49)
            SIP from address Host Part: 192.168.222.1
        SIP from tag: 1D81
    Max-Forwards: 67
    Record-Route: <sip:192.168.222.1;lr>,<sip:externalip?:50601;lr>
        Record-Route URI: sip:192.168.222.1;lr
        Record-Route URI: sip:externalip?:50601;lr
    To: "Employee" <sip:internalnumber@192.168.222.2>;tag=fbe25f99-9b9d-4729-ba60- 
80847b5bd56d
        SIP Display info: "Employee"
        SIP to address: sip:internalnumber@192.168.222.2
            SIP to address User Part: internalnumber
            E.164 number (MSISDN): internalnumber
                Country Code: Germany (Federal Republic of) (49)
            SIP to address Host Part: 192.168.222.2
        SIP to tag: fbe25f99-9b9d-4729-ba60-80847b5bd56d
    Via: SIP/2.0/UDP 192.168.222.1;branch=z9hG4bK-5F3E-139E,SIP/2.0/UDP 
externalip?:5060;branch=z9hG4bKg3Zqkv7iugbv76pq5ufzkqcez9h71dlmw
        Transport: UDP
        Sent-by Address: 192.168.222.1
        Branch: z9hG4bK-5F3E-139E
        Transport: UDP
        Sent-by Address: dont know this ip
        Sent-by port: 5060
        Branch: z9hG4bKg3Zqkv7iugbv76pq5ufzkqcez9h71dlmw
    Content-Length: 0

Regards


#7

The BYE request does not have any Reason header or other additional info.

Use Wireshark to decode the RTP for the call and listen to it. Although RTP was flowing both ways, it may have gone silent (because of an upstream issue) in one or both directions, the remote party decided that the call had gone dead and hung up. Or, possibly the remote party hung up because he was annoyed with what the agent just said.

If conversation was normal up to the drop, you may need to get some logs from the SBC or the carrier to see why the BYE was sent.


#8

Hi,

and that’s the problem. All other calls have a reason like cause 16, which means it was hung up normally. These drop offs have no reason, the stream is normal and there are no problems before and after. No one hangs up on the phone just like that, it’s just normal speech and all of a sudden the connection is gone and the phone goes out of call mode and is back in normal screen. I assume that freepbx has a reason for all errors and according to the tcpdump the BYE comes from external to internal which means that NOT freepbx causes this error. I will keep watching it and do some tests myself.

Regards


(system) closed #9

This topic was automatically closed 31 days after the last reply. New replies are no longer allowed.