SIP based Fax Server deployment

Unanswered Question
Apr 15th, 2010
User Badges:

Hey All,

I'm deploying a product called FaxCore which is a fax server with the BrookTrout SR140 software fax board.

I have the fax server communicating with my CM7.1 publisher via an unsecure SIP trunk. I can send faxes internaly via 4 digit dial to the fax server. It works fine.

The problem I have is when sending a fax to the sax server from the PSTN though my 2811 MGCP gateway. The fax server answers and I can here the fax training going on. I see G.711 packets between the gateway and fax server. The fax fails everytime. I do have T.38 enabled at the gateway.

Does anyone have any ideas? What CM logs should I look at?



  • 1
  • 2
  • 3
  • 4
  • 5
Overall Rating: 0 (0 ratings)
William Bell Thu, 04/15/2010 - 13:40
User Badges:
  • Purple, 4500 points or more

What IOS version are you running on the 2811. There was a nasty bug related to CA-controlled T.38 on some of the 12.4T trains. The bug I am thinking of is:

CSCsy29533 : Failure to convert to T38 on 12.4(15)T9 as well as 12.4(21)T.

Symptoms: A T.38 fax relay call may fail.

Conditions: The symptom is observed with an MGCP-controlled T.38 fax relay call when the gateway is configured for CA control T.38. The output of the

debug voip vtsp all command shows fax relay as "DISABLED."

Workaround: Use Cisco IOS Release 12.4(15)T7 or Release 12.4(22)T.

I have confirmed that 12.4(15)T12 works as does 12.4(24)T2. I have tested the former on a vg224 and the latter on several 28xx ISRs in my lab.

Also, while we are on the topic. You will need to ensure you are using protocol-based or CA-controlled T.38 relay. Not NSE-based.




hypnotoad Thu, 04/15/2010 - 14:06
User Badges:

I'm running IP voice version 12.4(20)T. I

can upgrade this if nessesary.

I attached the output of the debug you mensioned. This is the entire session from dial to fail. It's a production gateway so there is probably other garbage in there.

Here is also the output of my 'show mgcp' command.

caph-vg1#sh mgcp
MGCP Admin State ACTIVE, Oper State ACTIVE - Cause Code NONE
MGCP call-agent: 2427 Initial protocol service is MGCP 0.1
MGCP validate call-agent source-ipaddr DISABLED
MGCP validate domain name DISABLED
MGCP block-newcalls DISABLED
MGCP send SGCP RSIP: forced/restart/graceful/disconnected DISABLED
MGCP quarantine mode discard/step
MGCP quarantine of persistent events is ENABLED
MGCP dtmf-relay voip codec all mode out-of-band
MGCP dtmf-relay for voAAL2 is SDP controlled
MGCP voip modem passthrough mode: NSE, codec: g711ulaw, redundancy: DISABLED,
MGCP voaal2 modem passthrough disabled
MGCP voip modem relay: Disabled
MGCP T.38 Named Signalling Event (NSE) response timer: 200
MGCP Network (IP/AAL2) Continuity Test timer: 200
MGCP 'RTP stream loss' timer disabled
MGCP request timeout 500
MGCP maximum exponential request timeout 4000
MGCP rtp unreachable timeout 1000 action notify
MGCP gateway port: 2427, MGCP maximum waiting delay 3000
MGCP restart delay 0, MGCP vad DISABLED
MGCP system resource check DISABLED
MGCP xpc-codec: DISABLED, MGCP persistent hookflash: DISABLED
MGCP persistent offhook: ENABLED, MGCP persistent onhook: DISABLED
MGCP piggyback msg ENABLED, MGCP endpoint offset DISABLED
MGCP simple-sdp ENABLED
MGCP undotted-notation DISABLED
MGCP codec type g711ulaw, MGCP packetization period 20
MGCP JB threshold lwm 30, MGCP JB threshold hwm 150
MGCP LAT threshold lwm 150, MGCP LAT threshold hwm 300
MGCP PL threshold lwm 1000, MGCP PL threshold hwm 10000
MGCP CL threshold lwm 1000, MGCP CL threshold hwm 10000
MGCP playout mode is adaptive 60, 40, 1000 in msec
MGCP Fax Playout Buffer is 300 in msec
MGCP media (RTP) dscp: ef, MGCP signaling dscp: af31
MGCP default package: trunk-package
MGCP supported packages: gm-package dtmf-package trunk-package line-package
                         hs-package rtp-package atm-package ms-package dt-package
                         mo-package mt-package sst-package pre-package md-package
MGCP Explicit HookState Detection Disabled
MGCP Digit Map matching order: shortest match
SGCP Digit Map matching order: always left-to-right
MGCP VoAAL2 ignore-lco-codec DISABLED
MGCP T.38 Max Fax Rate is DEFAULT
MGCP T.38 Fax NSF Override is DISABLED
MGCP T.38 Fax Low Speed Redundancy: 0
MGCP T.38 Fax High Speed Redundancy: 0
MGCP Fax relay SG3-to-G3: ENABLED
MGCP control bind :DISABLED
MGCP media bind :DISABLED
MGCP Upspeed payload type for G711ulaw: 0,  G711alaw: 8
MGCP Dynamic payload type for Cisco fax indication: 96, Cisco fax ack: 97
MGCP Static payload type for G.726-16K codec
MGCP Dynamic payload type for G.726-24K codec
MGCP Dynamic payload type for G.726-32K codec
MGCP Dynamic payload type for G.Clear codec
MGCP Dynamic payload type for NSE is 100
MGCP Dynamic payload type for NTE is 99
MGCP rsip-range is enabled for TGCP only.
MGCP Comedia role is NONE
MGCP Comedia check media source is DISABLED
MGCP Comedia SDP force is DISABLED
MGCP Guaranteed scheduler time is DISABLED
MGCP DNS stale threshold is 30 seconds

What do you think?

Thanks again,


hypnotoad Mon, 04/19/2010 - 17:27
User Badges:

I have my protocol analyzer hooked up. When watching SIP traffic between

my CM subscriber and fax server I het this message

in responce to a SIP INVITE message from the fax server:

"SIP/2.0 488 Not Acceptable Media"

hypnotoad Wed, 04/21/2010 - 12:43
User Badges:

I fixed my inbound fax issue. T38 was needed at the MGCP gateway. It WAS enabled but t

here was a package missing. I added this line:

mgcp package-capability fxr-package

Now I'm working on the outbound faxing. All indications from the vendor is that they aren't getting dial tome from the SIP trunk. Any ideas of how to fix this?


William Bell Tue, 04/27/2010 - 10:07
User Badges:
  • Purple, 4500 points or more


I was out of pocket last week.  Trying to catch up on things.  I am not sure I follow the vendor's thoughts on not getting a dial tone from the SIP trunk.  Have you looked at the SIP session setup between the fax server and the CUCM?  You may also want to look at the MGCP gateway to see if the call is presented to the MGCP gateway.  If it is, I don't see how the presence (or lack thereof) of dial tone on the SIP trunk between the fax server and the CUCM cluster is relevant.  You will need to look at the CM trace, a sniffer trace is good too, and you may want to look at the following "show"/"debug" commands on the MGCP gateway:

"show call active voice brief"

Example output (after the call is switched over from VoIP to fax):

11E2 : 4 2956390ms.1 +10500 pid:1 Originate 200 active
dur 00:00:46 tx:707/13770 rx:914/12339
IP SRTP: off rtt:3ms pl:4800/0ms lost:0/0/0 delay:60/60/70ms t38 TextRelay: off

"debug mgcp packets"  (very beafy output).  You are looking for a Notify event (NTFY) that contains "O: FXR/t38(start)" option.  This is checking to see if the gateway properly identifies that it should switchover.

I am suspecting that the switchover mechanism is where you should look.

For MGCP config commands, you may want to check to ensure you have the following:

mgcp package-capability fxr-package  /*which you already have done*/

mgcp default-package fxr-package

no mgcp fax t38 inhibit  /*this should be default in your version of IOS*/

You can check runtime of mgcp:  "show mgcp | i Fax | T.38 | fxr"

Example output:

gw01#sh mgcp | i Fax | T.38 | fxr
MGCP T.38 Named Signalling Event (NSE) response timer: 200
MGCP Fax Playout Buffer is 300 in msec
MGCP default package: fxr-package
                         mo-package mt-package sst-package fxr-package pre-package
MGCP T.38 Max Fax Rate is DEFAULT
MGCP T.38 Fax NSF Override is DISABLED
MGCP T.38 Fax Low Speed Redundancy: 0
MGCP T.38 Fax High Speed Redundancy: 0
MGCP Fax relay SG3-to-G3: ENABLED
MGCP Fax relay ANSam suppression: DISABLED

You may also want to see if the test fax scenario is expecting SG3.  Cisco DSPs do not support SG3 with T.38 fax relay.  You can spoof this on MGCP: "mgcp fax-relay sg3-to-g3".  This is likely not the problem but I figured I would bring it up.  Also, I think that sg3-to-g3 spoofing is the default configuration with MGCP.  At least, it is with 12.4(24)T.

Finally, check the IOS release.  Maybe even test a different revision.  I am actually surprised you has 12.4(20)T working for ingress fax because all of my tests on this release showed that MGCP CA-based T.38 fax relay fails all of the time.  But, I haven't tested with a SIP-based fax server.  So, take that with a grain of salt.

Since you are already comfortable with looking at protocol/sniffer traces for the SIP session setup then that may be the place where you gain some understanding of the problem.

Sorry I don't have something more definitive.  Back to catching up!


hypnotoad Fri, 04/30/2010 - 16:22
User Badges:

I was able to get my outbound faxing working. The problem turned out to be dial string

related. I did some traces and watched the numbers coming into the SIP trunk. It wasn't hard to get that going once I saw what the problem really was.


hypnotoad Wed, 05/05/2010 - 12:39
User Badges:

I have a follow up question on this issue.

The faxing is working great within my main site/region. The regions are configured such that I use G.711 within and G.729 accross WAN links.

My problem is this - I want to give a user in another location a FAX number on the new SIP based fax server. That number routes into a gateway on the other side of the WAN. The PRI port is in a different device group so that it forces G.729. This breaks the FAX. If I change my SIP trunk to be in the same device pool as the remote gateway the fax works but then fails for the HQ site.

Can I create a seperate SIP trunk for each of my remote sites? Is there a better way to do this?




This Discussion