OK, configs for your perusal (please god real ips are not in there !!

)
hostname routera
!
enable password xxx
!
ip subnet-zero
!
!
no ip domain lookup
!
ip inspect name OUTGOING http
ip inspect name OUTGOING smtp
ip inspect name OUTGOING ftp
ip inspect name OUTGOING tcp
ip inspect name OUTGOING udp
ip inspect name INCOMING smtp
ip audit notify log
ip audit po max-events 100
!
!
!
crypto isakmp policy 10
hash md5
authentication pre-share
crypto isakmp key vpn address routercip
crypto isakmp key vpn address routerbip
!
!
crypto ipsec transform-set TS_ALL ah-md5-hmac esp-des esp-md5-hmac
!
!
crypto map ALLVPN 10 ipsec-isakmp
set peer routercip
set peer routerbip
set transform-set TS_ALL
match address 101
!
!
!
!
!
!
!
!
!
!
no voice hpi capture buffer
no voice hpi capture destination
!
!
!
!
!
!
interface Loopback0
ip address ispipandmask
!
interface ATM0/0
no ip address
no atm ilmi-keepalive
pvc 0/38
encapsulation aal5mux ppp dialer
dialer pool-member 1
!
dsl operating-mode auto
!
interface Ethernet0/0
ip address 192.168.254.251 255.255.255.0
ip access-group 120 in
ip nat inside
ip inspect OUTGOING in
ip inspect INCOMING out
half-duplex
!
interface Ethernet0/1
ip address 192.168.1.242 255.255.255.0
ip access-group 130 in
ip nat inside
ip inspect OUTGOING in
ip inspect INCOMING out
half-duplex
!
interface Dialer1
ip unnumbered Loopback0
ip nat outside
encapsulation ppp
dialer pool 1
ppp authentication chap callin
ppp chap hostname xxx
ppp chap password xxx
crypto map ALLVPN
!
router rip
version 2
passive-interface Dialer1
network 192.168.1.0
network 192.168.254.0
!
ip nat pool OUTSIDE ispip ispip netmask ipmask
ip nat inside source list 100 pool OUTSIDE overload
no ip http server
no ip http secure-server
ip classless
ip route 0.0.0.0 0.0.0.0 Dialer1
!
!
access-list 1 permit 0.0.0.0 255.255.255.0
access-list 100 deny ip 192.168.254.0 0.0.0.255 192.168.4.0 0.0.0.255
access-list 100 deny ip 192.168.254.0 0.0.0.255 192.168.2.0 0.0.0.255
access-list 100 permit ip 192.168.254.0 0.0.0.255 any
access-list 100 deny ip 192.168.1.0 0.0.0.255 192.168.4.0 0.0.0.255
access-list 100 deny ip 192.168.1.0 0.0.0.255 192.168.2.0 0.0.0.255
access-list 100 permit ip 192.168.1.0 0.0.0.255 any
access-list 101 permit ip 192.168.254.0 0.0.0.255 192.168.4.0 0.0.0.255
access-list 101 permit ip 192.168.1.0 0.0.0.255 192.168.4.0 0.0.0.255
access-list 101 permit ip 192.168.254.0 0.0.0.255 192.168.2.0 0.0.0.255
access-list 101 permit ip 192.168.1.0 0.0.0.255 192.168.2.0 0.0.0.255
access-list 110 deny ip any any
access-list 120 permit ip 192.168.254.0 0.0.0.255 any
access-list 130 permit ip 192.168.1.0 0.0.0.255 any
dialer-list 1 protocol ip permit
!
and router b (router c is the same)
hostname routerb
!
enable password xxx
!
ip subnet-zero
!
!
no ip domain lookup
!
ip inspect name OUTGOING http
ip inspect name OUTGOING ftp
ip inspect name OUTGOING tcp
ip inspect name OUTGOING udp
ip inspect name OUTGOING smtp
ip inspect name INCOMING smtp
ip audit notify log
ip audit po max-events 100
!
!
!
crypto isakmp policy 10
hash md5
authentication pre-share
crypto isakmp key vpn address routeraispip
!
!
crypto ipsec transform-set to_HO ah-md5-hmac esp-des esp-md5-hmac
!
crypto map HOVPN 10 ipsec-isakmp
set peer routeraispip
set transform-set to_HO
match address 101
!
!
!
!
!
!
!
!
!
!
no voice hpi capture buffer
no voice hpi capture destination
!
!
!
!
!
!
interface Loopback0
ip address ispip
!
interface ATM0/0
no ip address
no atm ilmi-keepalive
pvc 0/38
encapsulation aal5mux ppp dialer
dialer pool-member 1
!
dsl operating-mode auto
!
interface Ethernet0/0
ip address 192.168.2.3 255.255.255.0
ip access-group 120 in
ip nat inside
ip inspect OUTGOING in
ip inspect INCOMING out
half-duplex
!
interface Ethernet0/1
no ip address
shutdown
half-duplex
!
interface Dialer1
ip unnumbered Loopback0
ip nat outside
encapsulation ppp
dialer pool 1
ppp authentication chap callin
ppp chap hostname xxx
ppp chap password xxx
crypto map HOVPN
!
router rip
version 2
passive-interface Dialer1
network 192.168.2.0
no auto-summary
!
ip nat pool OUTSIDE ispip ispip netmask 255.255.255.0
ip nat inside source list 100 pool OUTSIDE overload
ip nat inside source static tcp 192.168.2.2 25 ispip 25 extendable
no ip http server
no ip http secure-server
ip classless
ip route 0.0.0.0 0.0.0.0 Dialer1
!
!
access-list 1 permit 0.0.0.0 255.255.255.0
access-list 100 deny ip 192.168.2.0 0.0.0.255 192.168.254.0 0.0.0.255
access-list 100 deny ip 192.168.2.0 0.0.0.255 192.168.1.0 0.0.0.225
access-list 100 permit ip 192.168.2.0 0.0.0.255 any
access-list 101 permit ip 192.168.2.0 0.0.0.255 192.168.254.0 0.0.0.255
access-list 101 permit ip 192.168.2.0 0.0.0.255 192.168.1.0 0.0.0.255
access-list 105 deny tcp host ispip eq smtp any
access-list 105 permit tcp any host ispip eq smtp
access-list 110 deny ip any any
access-list 120 permit ip 192.168.2.0 0.0.0.255 any
dialer-list 1 protocol ip permit
the servers in this scenario are 192.168.1.1 and 192.168.2.1, router c is 192.168.4.1
I just cant work out what has gone wrong (or what I have done

)