As I recall with pptp sessions, the client initiates the pptp session (port 1723) and the pptp termination device responds with a gre session back to the client. Therefore these are the only ports you really need. You only need to allow esp etc for IPSEC connectivity as well.
Things I would check are:
1. Does the 3000 have a static NAT address defined. i.e. something like the following on the 2811:
ip nat inside source static 10.0.0.1 212.45.32.1
where 10.0.0.1 and 212.45.32.1 are the private and public addresses of the 3000 respectively.
2. I'd create an extended ACL on the 2811 such that it permits gre outbound (i.e. from the DMZ back to the internet) from the 3000's private address. Something like the following:
access-list 100 permit gre host 10.0.0.1 any
3. You also need to permit access to the 3000 for incoming pptp sessions (tcp port 1723). This access list will need to say the following for this to happen:
access-list 101 permit tcp any host 212.45.32.1
4. Apply both ACLs to an interface on the router. I'd probably recommend you place it on the internet-facing interface. The gre ACL should be applied outbound and the pptp ACL should be applied inbound on that interface, as such:
ip access-group 100 out
ip access-group 101 in
5. Also check you are using the appropriate versions of software etc for what you are trying to achieve. I found the following link which outlines what's required at a minimum:
s
Hope this helps