I have two asterisk VMs setup. One Asterisk VM calls the other, passing geo location information.
On one box, I initiate an Originate via AMI I pass in a blank A2 value (attempting to replicate a blank A2 field a customer's SIP passes to them). Everything is fine when I don't pass the A2=, portion. The easy answer is not to send the A2=, portion. However, it seems like it might be important to make sure Asterisk doesn't generate a segmentation fault when a packet like this is received. Action: Originate^M ActionID: S29^M Channel: PJSIP/3333@192.168.33.33^M Exten: createcall^M Context: IS^M Priority: 1^M Timeout: 60000^M CallerID: John Doe <1234>^M Variable: CALLERID(num-pres)=allowed_passed_screen,TrunkAllocateId=3,OriginateCallId=3^M Variable: GEOLOC_PROFILE(usage_rules)="retransmission-allowed=true",GEOLOC_PROFILE(allow_routing_use)="yes",GEOLOC_PROFILE(pidf_element)="tuple",GEOLOC_PROFILE(confidence)="pdf=Normal,value=80",GEOLOC_PROFILE(location_info)="country=CA,\ A1=QC,A2=,A3=COOKSHIRE EATON,HNO=160,RD=POPE,PC=J0B 1M0,NAM=CENTRE DE SANTE COOKSHIRE",GEOLOC_PROFILE(method)="Manual",GEOLOC_PROFILE(format)="civicAddress"^M Async: true^M Codecs: ulaw^M ^M The second box sees the INVITE and starts processing it but then outputs a Segmentation fault. <--- Received SIP request (2262 bytes) from UDP:192.168.33.31:5060 ---> INVITE sip:3333@192.168.33.33 SIP/2.0 Via: SIP/2.0/UDP 192.168.33.31:5060;rport;branch=z9hG4bKPj62f47e49-29fd-420e-97fb-d9a1970aba48 From: "John Doe" <sip:1234@192.168.33.31>;tag=36ae7a5e-8264-4a38-8468-873aa245985e To: <sip:3333@192.168.33.33> Contact: <sip:asterisk@192.168.33.31:5060> Call-ID: 0ab86466-cbca-4d11-a0dd-b8d14b9e687c CSeq: 1996 INVITE Allow: OPTIONS, REGISTER, SUBSCRIBE, NOTIFY, PUBLISH, INVITE, ACK, BYE, CANCEL, UPDATE, PRACK, MESSAGE, REFER Supported: 100rel, timer, replaces, norefersub, histinfo Session-Expires: 1800 Min-SE: 90 Geolocation: <cid:twpre@192.168.33.31> Geolocation-Routing: yes Max-Forwards: 70 User-Agent: Asterisk PBX 18.14.0 Content-Type: multipart/mixed;boundary=1ffe84bc-e538-44a4-a860-788994f54a28 Content-Length: 1479 --1ffe84bc-e538-44a4-a860-788994f54a28 Content-Type: application/sdp Content-Length: 181 v=0 o=- 812269913 812269913 IN IP4 192.168.33.31 s=Asterisk c=IN IP4 192.168.33.31 t=0 0 m=audio 10742 RTP/AVP 0 a=rtpmap:0 PCMU/8000 a=ptime:20 a=maxptime:150 a=sendrecv --1ffe84bc-e538-44a4-a860-788994f54a28 Content-ID: <twpre@192.168.33.31> Content-Type: application/pidf+xml Content-Length: 1018 <?xml version="1.0"?> <presence xmlns="urn:ietf:params:xml:ns:pidf" xmlns:ca="urn:ietf:params:xml:ns:pidf:geopriv10:civicAddr" xmlns:dm="urn:ietf:params:xml:ns:pidf:data-model" xmlns:fn="http://www.w3.org/2005/xpath-functions" xmlns:gbp="urn:ietf:params:xml:ns:pidf:geopriv10:basicPolicy" xmlns:gml="http://www.opengis.net/gml" xmlns:gp="urn:ietf:params:xml:ns:pidf:geopriv10" xmlns:gs="http://www.opengis.net/pidflo/1.0" xmlns:con="urn:ietf:params:xml:ns:geopriv:conf" xmlns:date="http://exslt.org/dates-and-times" entity="PJSIP/192.168.33.33-00000002"> <tuple> <status> <gp:geopriv> <gp:location-info> <ca:civicAddress xml:lang="en"/> <con:confidence pdf="Normal">80</con:confidence> </gp:location-info> <gp:usage-rules> <gp:retransmission-allowed>true</gp:retransmission-allowed> </gp:usage-rules> <gp:method>Manual</gp:method> </gp:geopriv> </status> <timestamp>2022-09-07T21:10:45Z</timestamp> </tuple> </presence> --1ffe84bc-e538-44a4-a860-788994f54a28-- <--- Transmitting SIP response (376 bytes) to UDP:192.168.33.31:5060 ---> SIP/2.0 100 Trying Via: SIP/2.0/UDP 192.168.33.31:5060;rport=5060;received=192.168.33.31;branch=z9hG4bKPj62f47e49-29fd-420e-97fb-d9a1970aba48 Call-ID: 0ab86466-cbca-4d11-a0dd-b8d14b9e687c From: "John Doe" <sip:1234@192.168.33.31>;tag=36ae7a5e-8264-4a38-8468-873aa245985e To: <sip:3333@192.168.33.33> CSeq: 1996 INVITE Server: Asterisk PBX 18.14.0 Content-Length: 0 Segmentation fault [09/07 16:10:45.813] DEBUG[102650] res_pjsip/pjsip_distributor.c: Could not find matching transaction for Request msg INVITE/cseq=1996 (rdata0x7f509c002578) [09/07 16:10:45.813] DEBUG[102650] res_pjsip/pjsip_distributor.c: Calculated serializer pjsip/distributor-00000059 to use for Request msg INVITE/cseq=1996 (rdata0x7f509c002578) [09/07 16:10:45.813] DEBUG[102651] res_pjsip_endpoint_identifier_ip.c: Source address 192.168.33.31:5060 does not match identify 'identify55' [09/07 16:10:45.813] DEBUG[102651] res_pjsip_endpoint_identifier_ip.c: Source address 192.168.33.31:5060 does not match identify 'identify57' [09/07 16:10:45.813] DEBUG[102651] res_pjsip_endpoint_identifier_ip.c: Source address 192.168.33.31:5060 does not match identify 'identify59' [09/07 16:10:45.813] DEBUG[102651] res_pjsip_endpoint_identifier_ip.c: Source address 192.168.33.31:5060 matches identify 'identify61' [09/07 16:10:45.813] DEBUG[102651] res_pjsip_endpoint_identifier_ip.c: Identify 'identify61' SIP message matched to endpoint 192.168.33.31 [09/07 16:10:45.813] DEBUG[102651] res_pjsip_session.c: (null session) Request: INVITE [09/07 16:10:45.813] DEBUG[102651] res_pjsip_session.c: Request: [09/07 16:10:45.813] DEBUG[102651] res_pjsip/pjsip_distributor.c: Calculated serializer pjsip/distributor-00000059 to use for Request msg INVITE/cseq=1996 (rdata0x7f509c016b98) [09/07 16:10:45.813] DEBUG[102651] chan_pjsip.c: 192.168.33.31 [09/07 16:10:45.813] DEBUG[102651] chan_pjsip.c: Direct media no glare mitigation [09/07 16:10:45.813] DEBUG[102651] res_pjsip_session.c: 192.168.33.31 [09/07 16:10:45.813] DEBUG[102651] res_pjsip_session.c: 192.168.33.31: Call (UDP:192.168.33.31:5060) to extension '3333' sending 100 Trying [09/07 16:10:45.813] DEBUG[102651] res_pjsip_session.c: 192.168.33.31: Method is INVITE, Response is 100 Trying [09/07 16:10:45.813] DEBUG[102651] res_pjsip_session.c: 192.168.33.31 [09/07 16:10:45.813] DEBUG[102651] res_pjsip_session.c: 192.168.33.31 Event: TSX_STATE Inv State: INCOMING [09/07 16:10:45.813] DEBUG[102651] res_pjsip_session.c: 192.168.33.31: Source of transaction state change is TX_MSG [09/07 16:10:45.813] DEBUG[102651] res_pjsip_session.c: [09/07 16:10:45.813] DEBUG[102651] res_pjsip_session.c: 192.168.33.31 TSX State: Proceeding Inv State: INCOMING [09/07 16:10:45.813] DEBUG[102651] res_pjsip_session.c: Nothing delayed [09/07 16:10:45.813] DEBUG[102651] res_pjsip_session.c: 192.168.33.31 TSX State: Proceeding Inv State: INCOMING [09/07 16:10:45.813] DEBUG[102651] res_pjsip_session.c: Topology: Pending: (null topology) Active: (null topology) [09/07 16:10:45.813] DEBUG[102651] res_pjsip_session.c: [09/07 16:10:45.813] DEBUG[102651] res_pjsip_session.c: 192.168.33.31: Media count: 1 [09/07 16:10:45.813] DEBUG[102651] res_pjsip_session.c: 192.168.33.31: Processing stream 0 [09/07 16:10:45.813] DEBUG[102651] res_pjsip_session.c: 192.168.33.31: Using audio-0 for new stream name [09/07 16:10:45.813] DEBUG[102651] res_pjsip_session.c: 192.168.33.31: Using new stream 0:audio-0:audio:sendrecv (nothing) [09/07 16:10:45.813] DEBUG[102651] res_pjsip_session.c: 192.168.33.31 Adding position 0 [09/07 16:10:45.813] DEBUG[102651] res_pjsip_session.c: Creating new media session [09/07 16:10:45.813] DEBUG[102651] res_pjsip_session.c: Setting media session as default for audio [09/07 16:10:45.813] DEBUG[102651] res_pjsip_session.c: Done [09/07 16:10:45.813] DEBUG[102651] res_pjsip_session.c: 192.168.33.31: Negotiating incoming SDP media stream 0:audio-0:audio:sendrecv (nothing) using audio SDP handler [09/07 16:10:45.813] DEBUG[102651] res_pjsip_sdp_rtp.c: 192.168.33.31 [09/07 16:10:45.813] DEBUG[102651] res_pjsip_sdp_rtp.c: Transport transport1 bound to 0.0.0.0: Using it for RTP media. [09/07 16:10:45.813] DEBUG[102651] rtp_engine.c: Using engine 'asterisk' for RTP instance '0x7f507003eef0' [09/07 16:10:45.813] DEBUG[102651] res_rtp_asterisk.c: (0x7f507003eef0) RTP allocated port 14734 [09/07 16:10:45.813] DEBUG[102651] res_rtp_asterisk.c: (0x7f507003eef0) ICE creating session 0.0.0.0:14734 (14734) [09/07 16:10:45.813] DEBUG[102651] res_rtp_asterisk.c: (0x7f507003eef0) ICE create [09/07 16:10:45.814] DEBUG[102651] res_rtp_asterisk.c: (0x7f507003eef0) ICE add system candidates [09/07 16:10:45.814] DEBUG[102651] res_rtp_asterisk.c: (0x7f507003eef0) ICE add candidate: 192.168.33.33:14734, 2130706431 [09/07 16:10:45.814] DEBUG[102651] rtp_engine.c: RTP instance '0x7f507003eef0' is setup and ready to go [09/07 16:10:45.814] DEBUG[102651] res_rtp_asterisk.c: (0x7f507003eef0) ICE stopped [09/07 16:10:45.814] DEBUG[102651] res_rtp_asterisk.c: (0x7f507003eef0) RTCP setup on RTP instance [09/07 16:10:45.814] DEBUG[102651] res_pjsip_sdp_rtp.c: 192.168.33.31 [09/07 16:10:45.814] DEBUG[102651] res_pjsip_sdp_rtp.c: 192.168.33.31 [09/07 16:10:45.814] DEBUG[102651] rtp_engine.c: Setting tx payload type 0 based on m type on 0x7f503ca182b0 [09/07 16:10:45.814] DEBUG[102651] res_pjsip_sdp_rtp.c: [09/07 16:10:45.814] DEBUG[102651] res_pjsip_session/pjsip_session_caps.c: '192.168.33.31' Caps for incoming audio call with pref 'local' - remote: (ulaw) local: (ulaw) joint: (ulaw) [09/07 16:10:45.814] DEBUG[102651] rtp_engine.c: Crossover copying tx to rx payload mapping 0 (0x7f5070020ed8) from 0x7f503ca182b0 to 0x7f503ca182b0 [09/07 16:10:45.814] DEBUG[102651] rtp_engine.c: Copying rx payload mapping 0 (0x7f5070020ed8) from 0x7f503ca182b0 to 0x7f507003f0c8 [09/07 16:10:45.814] DEBUG[102651] rtp_engine.c: Copying tx payload mapping 0 (0x7f5070020ed8) from 0x7f503ca182b0 to 0x7f507003f0c8 [09/07 16:10:45.814] DEBUG[102651] res_pjsip_sdp_rtp.c: [09/07 16:10:45.814] DEBUG[102651] res_pjsip_sdp_rtp.c: [09/07 16:10:45.814] DEBUG[102651] res_pjsip_session.c: 192.168.33.31: Media stream 0:audio-0:audio:sendrecv (ulaw) handled by audio [09/07 16:10:45.814] DEBUG[102651] res_pjsip_session.c: 192.168.33.31: Done with stream 0:audio-0:audio:sendrecv (ulaw) [09/07 16:10:45.814] DEBUG[102651] res_pjsip_session.c: 192.168.33.31: Handled? yes [09/07 16:10:45.814] DEBUG[102651] res_pjsip_session.c: 192.168.33.31 [09/07 16:10:45.814] DEBUG[102651] res_pjsip_session.c: 192.168.33.31: Processing streams [09/07 16:10:45.814] DEBUG[102651] res_pjsip_session.c: 192.168.33.31: Processing stream 0:audio-0:audio:sendrecv (ulaw) [09/07 16:10:45.814] DEBUG[102651] res_pjsip_session.c: 192.168.33.31 Adding position 0 [09/07 16:10:45.814] DEBUG[102651] res_pjsip_session.c: Using existing media_session [09/07 16:10:45.814] DEBUG[102651] res_pjsip_session.c: 192.168.33.31 Stream: 0:audio-0:audio:sendrecv (ulaw) [09/07 16:10:45.814] DEBUG[102651] res_pjsip_sdp_rtp.c: 192.168.33.31 Type: audio 0:audio-0:audio:sendrecv (ulaw) [09/07 16:10:45.814] DEBUG[102651] res_rtp_asterisk.c: (0x7f507003eef0) RTCP ignoring duplicate property [09/07 16:10:45.814] DEBUG[102651] res_pjsip_sdp_rtp.c: RC: 1 [09/07 16:10:45.814] DEBUG[102651] res_pjsip_session.c: Had handler [09/07 16:10:45.814] DEBUG[102651] res_pjsip_session.c: 192.168.33.31: Stream 0:audio-0:audio:sendrecv (ulaw) added [09/07 16:10:45.814] DEBUG[102651] res_pjsip_session.c: 192.168.33.31: Done with 0:audio-0:audio:sendrecv (ulaw) [09/07 16:10:45.814] DEBUG[102651] res_pjsip_session.c: 192.168.33.31: Adding bundle groups (if available) [09/07 16:10:45.814] DEBUG[102651] res_pjsip_session.c: 192.168.33.31: Copying connection details [09/07 16:10:45.814] DEBUG[102651] res_pjsip_session.c: 192.168.33.31: Processing media 0 [09/07 16:10:45.814] DEBUG[102651] res_pjsip_session.c: 192.168.33.31: Media 0 reset [09/07 16:10:45.814] DEBUG[102651] res_pjsip_session.c: 192.168.33.31 [09/07 16:10:45.814] DEBUG[102651] res_pjsip_session.c: 192.168.33.31: Method is INVITE [09/07 16:10:45.814] DEBUG[102651] chan_pjsip.c: 192.168.33.31 [09/07 16:10:45.814] DEBUG[102651] chan_pjsip.c: 192.168.33.31 [09/07 16:10:45.814] DEBUG[102651] channel_internal_api.c: <initializing>: Formats: (none) [09/07 16:10:45.814] DEBUG[102651] channel_internal_api.c: Channel is being initialized or destroyed [09/07 16:10:45.814] DEBUG[102651] stasis.c: Creating topic. name: channel:1662585045.0, detail: [09/07 16:10:45.814] DEBUG[102651] stasis.c: Topic 'channel:1662585045.0': 0x7f5070046e20 created [09/07 16:10:45.814] DEBUG[102651] channel.c: Channel 0x7f507005c950 'PJSIP/192.168.33.31-00000000' allocated [09/07 16:10:45.814] DEBUG[102651] chan_pjsip.c: Topology: <0:audio-0:audio:sendrecv (ulaw)> Formats: (ulaw) [09/07 16:10:45.814] DEBUG[102651] chan_pjsip.c: Compatible? yes [09/07 16:10:45.814] DEBUG[102651] channel_internal_api.c: PJSIP/192.168.33.31-00000000: MultistreamFormats: (ulaw) [09/07 16:10:45.814] DEBUG[102651] channel_internal_api.c: Set native formats but not topology [09/07 16:10:45.814] DEBUG[102651] channel_internal_api.c: PJSIP/192.168.33.31-00000000: <0:audio-0:audio:sendrecv (ulaw)> [09/07 16:10:45.814] DEBUG[102651] channel_internal_api.c: Used provided topology [09/07 16:10:45.814] DEBUG[102651] chan_pjsip.c: [09/07 16:10:45.814] DEBUG[102651] chan_pjsip.c: PJSIP/192.168.33.31-00000000 [09/07 16:10:45.814] DEBUG[102651] res_pjsip_geolocation.c: PJSIP/192.168.33.31-00000000 [09/07 16:10:45.814] DEBUG[102651] res_pjsip_geolocation.c: PJSIP/192.168.33.31-00000000: Geolocation: <cid:twpre@192.168.33.31> [09/07 16:10:45.814] DEBUG[102651] res_pjsip_geolocation.c: Processing URI '<cid:twpre@192.168.33.31>' [09/07 16:10:45.814] DEBUG[102651] res_pjsip_geolocation.c: Processing PIDF-LO '<cid:twpre@192.168.33.31>' [09/07 16:10:45.814] DEBUG[102651] res_geolocation/geoloc_eprofile.c: PJSIP/192.168.33.31-00000000 [09/07 16:10:45.815] DEBUG[102651] res_geolocation/geoloc_eprofile.c: PJSIP/192.168.33.31-00000000 [09/07 16:10:45.815] DEBUG[102651] res_geolocation/geoloc_eprofile.c: PJSIP/192.168.33.31-00000000 [09/07 16:10:45.815] DEBUG[102651] res_geolocation/geoloc_eprofile.c: PJSIP/192.168.33.31-00000000 [09/07 16:10:45.815] DEBUG[102651] res_geolocation/geoloc_eprofile.c: PJSIP/192.168.33.31-00000000: Done Dan
-- _____________________________________________________________________ -- Bandwidth and Colocation Provided by http://www.api-digital.com -- asterisk-dev mailing list To UNSUBSCRIBE or update options visit: http://lists.digium.com/mailman/listinfo/asterisk-dev