RESOLVED - How to generate an incoming POTS call within Asterisk

This may be a novice question but I have searched the forum and see nothing on this.
I have two Asterisk 11.2.0 systems running DAHDI 2.10.0. with Digium telephony cards. No sip. One is live and the other is a development system. I no longer have a provider for my development system and would like to be able to generate incoming POTS calls for testing. Does anyone know of a method to generate incoming calls that would simulate POTS calls from a provider?

Asterisk with FXS interface modules.

Thank you for the response. By FXS interface modules you mean the FXS modules on the Digium telephony cards? I have open FXS modules that I can use. I could create an extension and have a dialplan Goto statement to direct the call to the s extension of the dialplan. The problem I would still have is how to simulate the CALLERID(num) and CALLERID(name). Could I assign those to the call in the dialplan before the Goto statement?

I haven’t used the analogue hardware, but to the extent that it can generate caller ID at all, and you have enabled the function, that should do it.

I have found a workable solution and it turns out to be a simple one. Trying to use the s extension does not work. Routing calls to the s extension generates errors that can be seen in the Asterisk log. It seems that Asterisk must do some pre-processing to an analog call prior to passing it to the s extension. Someday it would be interesting to look at the Asterisk source code to see how Asterisk handles incoming POTS calls, but for now this is my workaround. There are many ways to do this, but I did it this way to make it easier and less error prone to make the changes needed to move this dialplan from my development machine to my live machine.

Plug a handset into an unused FSX port. In the section of the dialplan that has the s extension code, change the s extension to another extension, in my case 301. Create an extension in the dialplan that sets the CALLERID(number) and CALLERID(name) and then routes the call to the 301 extension.

From this:

exten => s,1,Verbose(START OF INCOMING CALL)
same => n,Answer
same => n,[some code to test]
same => n,[some code to test]

To this:

exten => 301,1,Verbose(START OF INCOMING CALL)
same => n,Answer
same => n,[some code to test]
same => n,[some code to test]

Create a section to set the call variables. In this case 300 is the extension dialed to initiate the call
exten => 300,1,NoOp()
same => n,Set(CALLERID(number)=“5555555555”)
same => n,Set(CALLERID(name)=TESTNAME)
same => n,Goto(from-pstn,301,1)