The only difference between a function and a subroutine is that a function returns a value and a subroutine doesn't have to.
You really shouldn't have to invoke either with a call in asp 3.0. A function should return abe able to be referenced just like any asp command that returns a value.
As an example, I commonly use a function to validate email addresses that returns true/false. -
Function IsEmail(ByRef asString)
I invoke it in mainline code as...
If IsEmail(strEmailAddress) Then ...
I have a subroutine that pulls html from a remote page into a string
Sub LoadThePage(strPageText, strInputURL)
I invoke it in code by...
LoadThePage strPageText, strInputURL
Neither the function nor the sub require the call statement.