Showing posts with label gateway. Show all posts
Showing posts with label gateway. Show all posts

Wednesday, 27 February 2019

Adventures With Multicast Dial-peers

After quite a bit of tinkering we managed to get a multicast dial-peer working so that a call into a specific DN is then sent out to a specified multicast group. However there's a few moving parts to be considered, apart from the obvious enabling of multicast end to end between source & destinations. The Cisco Configure Land Mobile Radio (LMR) / Hoot and Holler Over IP on IOS-XE Voice Gateways document is very useful & includes various troubleshooting steps.

Summary of Steps

An analogue port has to be used to source the audio, attempting to use a SIP dial-peer to connect to the multicast dial-peer results in a 404 back from the gateway & a voice IEC syslog messsage about incompatible protocols:

%VOICE_IEC-3-GW: C SCRIPTS: Internal Error (Incompatible protocols): IEC=1.1.47.11.23.0 on callID

To get around this an FXS port was connected back to back with an FXO port, which is configured for PLAR to automatically dial the multicast dial-peer. So the call flow is: DN associated with FXS -> FXO -> multicast.

The multicast dial-peer must be set to a single specific CODEC, because there's no call control to negotiate CODECs.

A Vif interface is required with a /31 or larger mask to source the multicast from. Otherwise the source IP address will end up as nonsense like 0.0.0.1 or 255.255.255.255, resulting in downstream routers dropping the multicast traffic due to it failing the RPF check. The source IP address is actually the Vif interface IP address minus 1, e.g. .2 interface IP = .1 multicast source IP. It does appear to loop around so .1 interface IP = .255 multicast source IP with a /24 subnet mask.

On 4300/4400 series routers ip pim sparse-mode must be enabled on the Service-Engine interface that corresponds to the voice-port, e.g. voice-port 0/1/0 = service-engine0/1/0. Otherwise the audio won't be forwarded over the router's backplane & then out the egress interface.

4300/4400 series routers also have a bug CSCvk02072 that means the multicast RTP stream has DSCP BE (0) instead of EF (46). This can be re-marked via a suitable policy-map applied to the gateway's egress interface.

Lastly at least on IOS XE 16.3.5, for show rtp connection detail & show call active voice brief  the transmit packet counters never increment, staying at zero & giving the impression that the audio isn't being sent when it actually is.

Config Snipppets

ip multicast-routing
!
ip access-list extended VOICE-RTP
 permit udp any host 239.1.1.1 range 8000 48198
!
class-map match-any VOICE
 match access-group name VOICE-RTP
!
policy-map MCAST-QOS
 class VOICE
  set dscp ef
!
interface Service-Engine0/1/0

 description voice-port 0/1/0 backplane
 ip pim sparse-mode
!
interface GigabitEthernet0/0/0
 description Egress Interface
 ip address 192.168.1.1 255.255.255.0
 ip pim sparse-mode
 service-policy output MCAST-QOS
!
interface Vif1

 description Multicast Source Interface
 ip address 172.16.0.255 255.255.255.254
 ip pim sparse-mode
!
voice-port 0/1/0
 connection plar 12345
!
dial-peer voice 100 voip
 destination-pattern 12345
 session protocol multicast
 session target ipv4:239.1.1.1:16384
 codec g711ulaw
 vad aggressive
!
dial-peer voice 200 pots
 incoming called-number .T
 direct-inward-dial
 port 0/1/0

Friday, 2 November 2012

QuesCom GSM Gateways

I've just completed my 2nd deployment of a QuesCom GSM gateway & they're painful to use, so here's a couple of tips for those of you with the misfortune to also have to deal with one these.

Firmware Updates
To update the firmware you'll need:
  • A USB to serial adapter
  • An Ethernet cable
  • TFTPD
  • PuTTY
  • QuesCom firmware (getting this requires a support contract with QuesCom)
Now for the process:
  1. Connect your PC's NIC to the QuesCom using the Ethernet cable, then using the serial cable that came with the QuesCom, connect to the console port on the QuesCom (this is the bottom serial port).
  2. Run TFTPD, configure the DHCP server function on it & also enable PXE compatibility (otherwise you'll get errors), now restart TFTPD for the changes to take effect.
  3. Run PuTTY & connect to the serial port using 19200bps, 8 data bits, no parity, 1 stop bit & no flow control.
  4. Power on the QuesCom & interrupt booting by pressing CTRL + E, then type OK when it says to.
  5. Select 1, wait for it to get a DHCP lease. Alternatively you can manually configure an IP address if DHCP fails.
  6. Input the IP address of your PC running TFTPD, default gateway & file name of the firmware (this is case sensitive).
  7. Wait for the firmware to finish downloading, then select 0 to boot with the new firmware.

Caller ID
The QuesCom GSM gateways default to restricting the caller ID on all outbound calls, regardless of what caller ID you present via H323 or SIP. This is undesirable as many people won't answer the phone to withheld numbers. Unfortunately you can't disable this behaviour from the web based GUI, you have to Telnet to the QuesCom and enter the following commands:
  1. config
  2. root gateway
  3. cd isdn
  4. cd Adapter.x (x=0,1 or 2; if you only have GSM cards in the slots, use 0)
  5. set HideIdentification=0;0;0;0; (this assumes you have 4 SIM card model)
  6. exit
Don't forget to save & reboot, otherwise the changes won't take effect.