Calls ignoring fax rule

AndyCoo

SMB User
Joined
Oct 21, 2025
Messages
10
Reaction score
3
I'm having some issues with a new 3CX install and getting a DID to forward to the fax server (888).

We're using a generic SIP trunk (Fusion PBX) and it's working fine for older instances that were upgraded from V18 to V20.

On the new server the call comes in and completely ignores the inbound rule and ends up in the default "any hours" one.

Here's a typical call flow from the verbose activity log:


10/21/2025 2:47:44.203 PM[CM503012]: Inbound any hours rule (unnamed) for 10000 forwards to DN:800
10/21/2025 2:47:44.203 PMRule matched
10/21/2025 2:47:44.203 PMChecking inbound rule '': hour type = 1; cond = 4; mask = ''
10/21/2025 2:47:44.203 PMChecking inbound rule '': hour type = 2; cond = 6; mask = '*YYYY1889'
10/21/2025 2:47:44.203 PMChecking inbound rule '': hour type = 2; cond = 6; mask = '07YYYY1889'
10/21/2025 2:47:44.203 PM[Flow] No office hours set, office hours assumed
10/21/2025 2:47:44.203 PMCurrent local time is: 13:47:44
10/21/2025 2:47:44.203 PM[Flow] Looking for inbound target: called=300; caller="02XXXX9291" <sip:02XXXX9291@:0>
10/21/2025 2:47:44.203 PMCallerNameAddr: "02XXXX9291"<sip:0XXXX9291;nf=e>
10/21/2025 2:47:44.203 PMNo inbound caller ID reformat rule for DN:10000 is defined, or it is disabled (<Rules />)
10/21/2025 2:47:44.203 PMCreated device copy Dev(756325401):[sip:10000@servername:5060 / 300]: AOR = <sip:300@servername:5060/UDP>
10/21/2025 2:47:44.203 PMLine Lc:10000(@main Fusion Trunk[<sip:10000@servername:5060/UDP>]) found for rinstance 'ba8454d2a866d10f'
10/21/2025 2:47:44.203 PMLsip{5523/34.1/UAS[GotInvite&Neutral]} incoming call: InvIN Recv Req INVITE from 103.227.61.198:5060 tid=5QHt8XU34N3HS Call-ID=8b280b3e-28d3-123f-c383-0050569e49f6: INVITE sip:[email protected]:5060;rinstance=ba8454d2a866d10f SIP/2.0 Via: SIP/2.0/UDP 103.xxx.xxx.xxx;rport=5060;branch=z9hG4bK5QHt8XU34N3HS Max-Forwards: 61 Contact: <sip:[email protected]:5060> To: <sip:[email protected]:5060;rinstance=ba8454d2a866d10f> From: "07YYYY1889" <sip:02XXXX9291@servername>;tag=0Fj5g47378r0N Call-ID: 8b280b3e-28d3-123f-c383-0050569e49f6 CSeq: 105955440 INVITE Allow: INVITE, ACK, BYE, CANCEL, OPTIONS, MESSAGE, INFO, UPDATE, REGISTER, REFER, NOTIFY, PUBLISH, SUBSCRIBE Content-Disposition: session Content-Type: application/sdp Supported: timer, path, replaces User-Agent: FreeSWITCH Allow-Events: talk, hold, conference, presence, as-feature-event, dialog, line-seize, call-info, sla, include-session-description, presence.winfo, message-summary, refer Remote-Party-ID: "07YYYY1889" <sip:02XXXX9291@servername>;party=calling;screen=yes;privacy=off X-FS-Support: update_display,send_info Content-Length: 298

My understanding was the initial number in the From line should be triggering the match but that doesn't seem to be the case.

The older instances were setup by the outgoing engineer but I've been unable to see any differences in the settings.

Can anyone provide a clue as to where I am going wrong?
 
Hello,

Perhaps a screenshot of your Fax config might help. In general you should have a DID assigned to the fax extension directly via its config page.
 
From: "07YYYY1889" <sip:02XXXX9291@servername>
It looks like the Display name of the From header displays 1 number (07YYYY1889) while the UserPart displays another (02XXXX9291). So it depends on how the template is configured. I am guessing you want to be reading 07YYYY1889 as the callers number and not 07YYYY1889.
If that is the case you need to configure your template accordingly to read the CallersNum from the "From: DisplayName" SIP field.
 
Thanks guys. I've really just copied the settings from the older already established 3CX instances that are working.

As far as I can determine the SIP trunk is setting this "effective_caller_id_name=07YYYY1889" for any calls coming into the fax number.

Yiannis, is the Options section of the trunk config what you mean by template? I've set the caller ID options as per the existing instances but am happy to change anything that'll get it working.

3CX - Fax settings.pngScreenshot 2025-10-22 085925.png
 
Looking at your logs again, I see that the FusionPBX is sending the call TO 300 instead of 07YYYY1889 which you have as your DID..
Code:
To: <sip:[email protected]:5060

It's the To: number the PBX needs to match to route the call correctly. Sorry for the confusion in my previous reply.
So the call is not being sent to a valid DID you have in your trunk so it gets routed to the main trunk number destination.

You need to the call to be directed to 07YYYY1889 not 300.
 
Hi Yiannis, 300 is the extension for all calls going from Fusion to 3CX. It's the Authentication ID of the SIP Trunk in 3CX.

Here's an example of a log from a working instance:

10/23/2025 8:53:08.133 AM[CM503012]: Inbound office hours rule (unnamed) for 10000 forwards to Fax:888
10/23/2025 8:53:08.133 AMRule matched
10/23/2025 8:53:08.133 AMChecking inbound rule '': hour type = 2; cond = 6; mask = '07YYY4722'
10/23/2025 8:53:08.133 AM[Flow] No office hours set, office hours assumed
10/23/2025 8:53:08.133 AMCurrent local time is: 7:53:8
10/23/2025 8:53:08.133 AM[Flow] Looking for inbound target: called=07YYY4722; caller="07XXXX1890" <sip:07XXXX1890@:0>
10/23/2025 8:53:08.133 AMCallerNameAddr: "07XXXX1890"<sip:07XXXX1890;nf=e>
10/23/2025 8:53:08.133 AMNo inbound caller ID reformat rule for DN:10000 is defined, or it is disabled (<Rules />)
10/23/2025 8:53:08.133 AMCreated device copy Dev(250184986):[sip:[email protected]:5060 / 300]: AOR = <sip:[email protected]:5060/UDP>
10/23/2025 8:53:08.131 AMLine Lc:10000(@main Fusion Trunk[<sip:10000@ADDRESS:5060/UDP>]) found for rinstance '39e593e3fc4d2515'
10/23/2025 8:53:08.063 AMLsip{36179/88.1/UAS[GotInvite&Neutral]} incoming call: InvIN Recv Req INVITE from 103.xxx.xxx.xxx:5060 tid=57tgD6rN2Z9mH Call-ID=55872431-2a34-123f-c383-0050569e49f6: INVITE sip:[email protected]:5060;rinstance=39e593e3fc4d2515 SIP/2.0 Via: SIP/2.0/UDP 103.xxx.xxx.xxx;rport=5060;branch=z9hG4bK57tgD6rN2Z9mH Max-Forwards: 61 Contact: <sip:[email protected]:5060> To: <sip:[email protected]:5060;rinstance=39e593e3fc4d2515> From: "07YYY4722" <sip:07XXXX1890@ADDRESS>;tag=aX6g8eNrNBQSp Call-ID: 55872431-2a34-123f-c383-0050569e49f6 CSeq: 106031201 INVITE Allow: INVITE, ACK, BYE, CANCEL, OPTIONS, MESSAGE, INFO, UPDATE, REGISTER, REFER, NOTIFY, PUBLISH, SUBSCRIBE Content-Disposition: session Content-Type: application/sdp Supported: timer, path, replaces User-Agent: FreeSWITCH Allow-Events: talk, hold, conference, presence, as-feature-event, dialog, line-seize, call-info, sla, include-session-description, presence.winfo, message-summary, refer Remote-Party-ID: "07YYY4722" <sip:07XXXX1890@ADDRESS>;party=calling;screen=yes;privacy=off X-FS-Support: update_display,send_info Content-Length: 298 v

It looks like this initial check is where it differs:
Not working - [Flow] Looking for inbound target: called=300; caller="02XXXX9291" <sip:02XXXX9291@:0>
Working - [Flow] Looking for inbound target: called=07YYY4722; caller="07XXXX1890" <sip:07XXXX1890@:0>

I'm not sure how I can adjust the rules to fix that.
 
Export both trunks and check where they differ in the inbound parameters. Look for the "ParameterIn" field and compare them. The difference should be there.
 
Hi guys, I've managed to fix the issue.

As you just mentioned I was able to export the the trunk xml (three dots menu then Export) on both instances.

Threw them into a text comparison and found the Generic Trunk template has:
<field name="ParameterIn" custom="" parameter="ToUserPart">$CalledNum</field>

The engineer who setup the other 3CX instances must've modified it to:
<field name="ParameterIn" custom="" parameter="FromDisplayName">$CalledNum</field>

It seems like that setting isn't adjustable through the normal settings.

I've deleted the old trunk and uploaded the new one as a Provider Template (Advanced > Templates > Provider Templates).

Calls are now correctly routing to the fax number.

Thanks for your help.
 

Members Online Now

Forum statistics

Threads
111,831
Messages
589,277
Members
164,660
Latest member
RJenkinsROCK