A call stack contains the data for the functions calls made by a thread. The data for each function call is called a stack frame and includes the return address, parameters passed to the function, and the function's local variables. Each time a function call is made a new stack frame is pushed onto the top of the stack. When that function returns, the stack frame is popped off the stack.
Each thread has its own call stack, representing the calls made in that thread.