From: "Anonymous" <sip:[email protected]>.... why?

Hi all, I have been trying to fix this for days, I am aware that my knowledge about ip-telephony and Asterisk is very little, however most of times I am able to apply fixes based on solutions that I find on the forum, but this particular case it’s driving me crazy, I have this setup:

POTS → Vega 50 → Asterisk

I am using the vega 50 as fxo gateway, in asterisk I only have one default incoming route from this trunk and one default outgoing route to this trunk and I always receive the call to extension as Anonymous, I never get the caller ID, and I know for fact that the analog line works because if I plug an analog phone straight to the modem, I can receive calls with caller ID as normal.

I am attaching full traces from vega and from asterisk of one test call, here is the first line with the word “Anonymous” that I can find:

Asterisk:
ExecIf(“PJSIP/Vega-0000000d”, “9?Set(FROMEXTEN=Anonymous)”) in new stack

Vega:
From: “Anonymous” sip:[email protected];tag=0016-01A0-CB6D1DF4

I think (but I can be wrong) that somehow the vega is causing this.

I enabled debug on vega while making the test call but the output was this only:

admin >debug on
debug to this console = enabled
LOG: 14/04/2024 04:54:42.327 POTS (I)R01Cab incoming
call ref=[f10000d6] srce= [0]
LOG: 14/04/2024 04:54:42.345 ROUTER (I)R0bC00 FINDROUTE profile:20(To_SIP) plan:2
call ref=[f10000d6] ← POTS [9,1] dest=
→ SIP [2,1] dest=TEL:0201
LOG: 14/04/2024 04:54:42.345 ROUTER (I)R0bC00 call proceeding
call ref=[f10000d6]
LOG: 14/04/2024 04:54:51.410 SIP (I)R03C13 connect g711Ulaw64k (Profile 1 - Voice)
call ref=[f10000d6]
LOG: 14/04/2024 04:55:00.962 SIP (I)R04C13 disconnect(disc ind) 16
call ref=[f10000d6]
LOG: 14/04/2024 04:55:00.980 POTS (I)R05Cab disconnect call cause 16
call ref=[f10000d6]
admin >debug off
debug to this console = disabled
admin >

I am also attaching the sngrep capture from asterisk:

traces.tgz (5.9 KB)
capture.pcap.tgz (1.8 KB)

I have read many posts with similar problem, some of them are marked as solved but when I try the solution it does not work for me.

I do really appreciate your reply.

Aldo

This is an ATA problem not an Asterisk/FreePBX one.

The Vega isn’t sending caller ID. That is probably because it is not receiving it, either because the PSTN operator isn’t sending it, or because the gateway is configured for the wrong standard (or doesn’t support the standard in use).

SIP m:2730072 0595 00007--- UA TX --> To     UDP(7):192.168.5.2:5060
  INVITE sip:[email protected]:5060 SIP/2.0
  Via: SIP/2.0/UDP 192.168.5.3:5060;rport;branch=z9hG4bK-vega1-D71422D374DA-000A-0001-0254-79F6C443
  From: "Anonymous" <sip:[email protected]>;tag=0016-01A0-CB6D1DF4
  To: <sip:[email protected]>
  Max-Forwards: 70
  Call-ID: 0010-016C-69E94F24-00000063@3DBD6CCDB5BF7FFB8
  CSeq: 2810015 INVITE
  Contact: <sip:[email protected]:5060>
  Supported: replaces, privacy, norefersub
  Allow: INVITE,ACK,BYE,CANCEL,INFO,NOTIFY,OPTIONS,REFER,SUBSCRIBE,UPDATE
  Accept-Language: en
  Content-Type: application/sdp
  Privacy: none
  P-Preferred-Identity: "Anonymous" <sip:[email protected]>
  User-Agent: VEGAEURO/13.02.08.8xS069
  Content-Length: 327
  
  v=0
  o=Vega 1325 1325 IN IP4 192.168.5.3
  s=Sip Call
  c=IN IP4 192.168.5.3
  t=0 0
  m=audio 10006 RTP/AVP 18 0 8 4 98 101
  a=rtpmap:18 G729/8000
  a=rtpmap:0 PCMU/8000
  a=rtpmap:8 PCMA/8000
  a=rtpmap:4 G723/8000
  a=rtpmap:98 CLEARMODE/8000
  a=rtpmap:101 telephone-event/8000
  a=fmtp:101 0-15,16
  a=fmtp:18 annexb=no
  a=sendrecv
SIP m:2730077 0005 00008<-- UA RX --- From  UDP(7):192.168.5.2:5060
  SIP/2.0 100 Trying
  Via: SIP/2.0/UDP 192.168.5.3:5060;rport=5060;received=192.168.5.3;branch=z9hG4bK-vega1-D71422D374DA-000A-0001-0254-79F6C443
  Call-ID: 0010-016C-69E94F24-00000063@3DBD6CCDB5BF7FFB8
  From: "Anonymous" <sip:[email protected]>;tag=0016-01A0-CB6D1DF4
  To: <sip:[email protected]>
  CSeq: 2810015 INVITE
  Server: FPBX-16.0.40.7(20.5.2)
  Content-Length:  0

Well I know for sure that he caller Id works if I connect an analog phone to the phone line, problem is when I use the fxp gateway, should I try another brand of ata?

Look at the Vega Admin Guide for the callerid_type parameter and set it correctly for the country the Vega is in. Also note (as explained in that section of the guide) that pots.port.x.callerid must be correctly set.

What are the settings of these parameters, from page 233 of https://ftp.sangoma.com/vega/custom/TTSL/Vega_Admin_Guide_R11_v1.4.pdf (the document doesn’t seem to list possible values - it is also possible that it doesn’t apply to your model):

[pots.port.n]
    callerid = on/off
[pots]
    callerid_type = caller id type
    callerid_wait = time to wait to see if a callerID is being
                    presented – if time is exceeded then the Vega
                    assumes that no caller ID will be received.

I think n represents an analogue port number rather than being literally n.

What country are you in and who is providing your PSTN line?

Also note that this thread started on Callerid=sipusername while using a tunk to vega 50 as fxo gateway for my default incoming/outgoing route - Asterisk Hardware - Asterisk Community although the OP is a FreePBX user.

I will try that just now.

Country: MX
Carrier: Telnor(Telmex)

will try that thanks

I have these settings:

  • callerid_type=“gr30-sdmf”
  • quick.codec.v1=“g729”
  • callerid_wait=“6000”

Note: After changing the callerid_type to gr30-sdmf I can see caller ID now but it sometimes works and sometimes don’t. I have noticed the two following patterns:

  1. When I dial my pots number and it immediately rings on the extension, it displays the caller ID.
  2. When I dial my pots line and I ear three ring tones before it rings, the caller ID is Anonymous always.
  3. When I hang up on the caller side, the extension always continues ringing for 1 or two full tones.

So I think I am on the right (more or less) direction as far as the caller ID, the problem now is that some other tune needed maybe since caller ID sometimes works and sometimes don’t as I described in the previous pattern that explains that if vega detects the incoming call immediately it displays caller id, if it delays to detect it it sets it as anonymous…

I read on this other forum that my carrier (Telmex) uses codec g729, which I have as first priority on the vega.

These are the pots settings of my device according to page 233 of the admin guide you mentioned:

cp .pots.port.9
set .pots.port.9.call_conference=“off”
set .pots.port.9.call_fwd_enable=“on”
set .pots.port.9.call_transfer=“on”
set .pots.port.9.call_waiting=“off”
set .pots.port.9.callerid=“on”
set .pots.port.9.dnd_enable=“on”
set .pots.port.9.dnd_off_hook_deactivate=“off”
set .pots.port.9.dnd_response=“instant_reject”
set .pots.port.9.enable=“1”
set .pots.port.9.fx_profile=“1”
set .pots.port.9.lyr1=“g711Alaw64k”
set .pots.port.9.tdm_profile=“1”
set .pots.port.9.tx_gain=“0”
purge .pots.port.9.if
cp .pots.port.9.if.1
set .pots.port.9.if.1.dn=“MY POTS NUMBER”
set .pots.port.9.if.1.interface=“0201”
set .pots.port.9.if.1.profile=“2”
set .pots.port.9.if.1.ring_index=“1”
set .pots.port.9.if.1.username=“MY POTS NUMBER”

cp .pots.profile.2
set .pots.profile.2.callerid_time=“DST”
set .pots.profile.2.callerid_type=“gr30-sdmf”
set .pots.profile.2.callerid_wait=“6000”
set .pots.profile.2.dtmf_dial_digit=“#”
set .pots.profile.2.dtmf_dial_timeout=“5”
set .pots.profile.2.line_busy_cause=“34”
set .pots.profile.2.name=“FXO_ports_profile”

cp .planner.profile.20
set .planner.profile.20.enable=“1”
set .planner.profile.20.name=“To_SIP”
purge .planner.profile.20.plan
cp .planner.profile.20.plan.1
set .planner.profile.20.plan.1.cost=“0”
set .planner.profile.20.plan.1.dest=“IF:9901,TEL:<1>”
set .planner.profile.20.plan.1.group=“0”
set .planner.profile.20.plan.1.name=“To_SIP”
set .planner.profile.20.plan.1.srce=“IF:0[1]…,TEL:<.*>”
cp .planner.profile.20.plan.2
set .planner.profile.20.plan.2.cost=“0”
set .planner.profile.20.plan.2.dest=“IF:9901,TEL:0201”
set .planner.profile.20.plan.2.group=“0”
set .planner.profile.20.plan.2.name=“FXO_0201_To_SIP”
set .planner.profile.20.plan.2.srce=“IF:0201”
cp .planner.profile.20.plan.3
set .planner.profile.20.plan.3.cost=“0”
set .planner.profile.20.plan.3.dest=“IF:9901,TEL:0202”
set .planner.profile.20.plan.3.group=“0”
set .planner.profile.20.plan.3.name=“FXO_0202_To_SIP”
set .planner.profile.20.plan.3.srce=“IF:0202”

set .quick.country=“MX”
set .quick.emergency_numbers=“999,112,911,000”
set .quick.hostname=“vega-europa”
set .quick.timezone_offset=“-0800”
set .quick.codec.v1=“g729”
set .quick.codec.v2=“g711Ulaw64k”
set .quick.codec.v3=“g711Alaw64k”
set .quick.codec.v4=“g7231”
set .quick.codec.v5=“t38udp”
set .quick.codec.v6=“octet”
set .quick.fxo.callerid_type=“gr30-sdmf”
set .quick.fxo.digital_rx_gain=“-1”
set .quick.fxo.digital_tx_gain=“3”
set .quick.fxo.tone_detect=“1”
purge .quick.fxo
cp .quick.fxo.1
set .quick.fxo.1.clid_enable=“1”
set .quick.fxo.1.handle_emergency_calls=“1”
set .quick.fxo.1.incoming_forward=“default”
set .quick.fxo.1.name=“MY POTS NUMBER”
set .quick.fxo.1.numlist=“.*”
set .quick.fxo.1.this_tel=“MY POTS NUMBER”

set ._advanced.pots.ilim_reg_bit=“0”
set ._advanced.pots.poll_timer=“15”
set ._advanced.pots.save_pots_user_status=“off”
purge ._advanced.pots.fxo
cp ._advanced.pots.fxo.1
set ._advanced.pots.fxo.1.call_connection_time=“30”
set ._advanced.pots.fxo.1.digital_rx_gain=“-1”
set ._advanced.pots.fxo.1.digital_tx_gain=“3”
set ._advanced.pots.fxo.1.dtmf_holdoff_time=“1500”
set ._advanced.pots.fxo.1.early_line_seize=“0”
set ._advanced.pots.fxo.1.early_line_seize_to=“30”
set ._advanced.pots.fxo.1.force_disconnects=“1”
set ._advanced.pots.fxo.1.full_scale=“0”
set ._advanced.pots.fxo.1.hookflash_time=“200”
set ._advanced.pots.fxo.1.impedance=“600R”
set ._advanced.pots.fxo.1.line_reversal_debounce_time=“50”
set ._advanced.pots.fxo.1.line_reversal_detect=“0”
set ._advanced.pots.fxo.1.loop_current_detect=“0”
set ._advanced.pots.fxo.1.port_notreleased_cause=“34”
set ._advanced.pots.fxo.1.port_release_delay=“0”
set ._advanced.pots.fxo.1.pulse_break_time=“60”
set ._advanced.pots.fxo.1.pulse_dial_enable=“never”
set ._advanced.pots.fxo.1.pulse_dial_encoding=“normal”
set ._advanced.pots.fxo.1.pulse_interdigit_time=“300”
set ._advanced.pots.fxo.1.pulse_make_time=“40”
set ._advanced.pots.fxo.1.ring_detect_longest_ring_off=“4000”
set ._advanced.pots.fxo.1.ring_detect_shortest_ring_on=“1000”
set ._advanced.pots.fxo.1.ringback_present=“1”
set ._advanced.pots.fxo.1.tone_detect=“1”
set ._advanced.pots.fxo.1.voice_detect=“0”
set ._advanced.pots.fxo.1.voice_detect_delay=“0”
set ._advanced.pots.fxo.1.voice_detect_min_time=“800”
set ._advanced.pots.fxo.1.voice_detect_power_threshold=“-60”
set ._advanced.pots.fxo.1.voice_lost_disc_time=“0”
set ._advanced.pots.fxo.1.wink_on_disconnect=“0”

Thanks for taking the time to read my responses.

Aldo

Assuming caller_wait is in milliseconds, that just means it failed to recognize any caller ID signalling.

That doesn’t sound right, although it could be possible. However, it can only apply to the digital part of their network, and I believe you are getting an analogue interface. Forcing that codec is an unnecessary degradation of the media path.

I hope the caller ID is being injected into the media path outside of the G.729 part of the network, as G.729 and any form of tone signalling are a complete mismatch.

I’m not familiar with the caller ID signalling format, and don’t know what the carrier actually uses. It doesn’t sound like the de facto US format, or the BT format in the UK. I did notice the EURO in the model name. Is it possible that you have a grey import, that wasn’t intended for the North American market?

According to https://support.yeastar.com/hc/en-us/community/posts/115000601708-CALLER-ID-MEXICO I’d expect the standard North American Bell 202 format.

On an analogue line, you can only normally detect the end of ringing by waiting for the next expected ring current cycle and noting that it didn’t happen. The ringing on the VoIP will not be synchronized, so that seems reasonable. (Note that detecting the end of a call can also be a problem on analogue lines; it may not be possible, and, if possible, may require specific settings on the gateway. The most common signal is removing the battery voltage for a short time.)

It looks like it won’t consider the call abandoned until 4 seconds after the last ring ended.

It’s difficult to say without full documentation of the options, but no answer or disconnect supervision options seem to be set. That might be correct, but the defaults are probably set to give the least worst behaviour, rather than the the best behaviour for when the provider’s signalling is known.

First, thanks for taking the time to look at my issue and for telling me your input about it.

Yes I agree with you, because if I increase the “Caller ID wait” for example to 12000, the called station waits 12 seconds to ring in the cases that caller id is not detected, and when it detects the caller ID it rings immediatedly.

My bad, but thank you so much for the explanation. And the equipment is US version, it just happens that the model name is branded as “Europa”

2024-04-15_19-00

In fact it comes with predefined templates for many countries including Mexico, I guess I still need to do some tuning to make the caller ID works 100% of time.

I made some testing according to your information and it is accurate, I set the “Longest Ring Off Time” value to 4000 and the disconnect time was improved.

I appreciate your assistance, at least I have caller I now (intermittent) after changed the setting “Caller ID type” = gr30-sdmf. Since the original issue was solved, now I will open a ticket with more specific information about the intermittence of the caller ID detection.

Thanks!

This worked, now I have caller id

Thanks!

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