That would be a bit different because that has a touch pad dialer. but the actual problem to solve in both is the same, ‘dialing’. Call handling voip part is a piece of cake that is just a matter of installing voip software on the pi. That is tricky because this open source stuff keeps changing so finding the right version of everything is really hard. Tutorials are written with one version and something become obsolete. For example this problem you are having. and actually had from the beginning, its quite possible that the node-red you have is newer and they have removed global or something else that made it break, but I digress.
So there are a couple of voip packages for the actual call handling part, and its just a matter of configuring them. But dialing is the hard thing to deal here I have to interface with the rotary dialer count pulses then figure out how when to start the call because there is no send button.
In the brick phone your challenge will be to interpret button pushes on the handset and place the call. You will also need to deal with showing the numbers on the LCD display and phonebook management if you wanted to go that way. All doable but soldering iron and a bunch electronic experience would be required in addition to python and programming
You may want to go another route, become a fake cell phone company. There these cell phone wifi extender things that people use, you may want to find an AMPS based one, should be available on ebay or somewhere and see if that can’t be reused to go to a voip box. Linksys voip boxes are cheap, infact I have bunch i don’t use any more. Its also possible that there is something like a micro-cell tower you could buy, that is old obselete stuff, but its pretty cheap if you can get your hands on it.